iPhoneのショートカット.appを、普段から結構便利に使っている @conyline ですが、今回は基本的なアクションをじっくり知ってみようという企画です。アクションとは、いわゆるレシピを構成する要素の中の1つの手順のことです。そのアクションを複数組み合わせて1つのショートカットレシピを作って行くわけですね。
今回は、位置情報を取得するアクションを検証してみたいと思います。
「現在地を取得」アクションを使ってみる
それでは早速「現在地を取得」アクションを使って「現在地」を取得してみましょう。
- 新規ショートカットから、「アクションを追加」をタップ。
- 検索窓に「現在地」と入力し、「現在地を取得」アクションをタップ。
- タスク(ワークフロー)に「現在地を取得」アクションが配置された。
- 実行してみる。
をタップすると、iPhoneのGPS情報から現在地の「郵便番号/都道府県/市区町村/番地/地域」が表示されました。※細かな番地は多少ズレが生じますが、それほど問題視することはないでしょう。GPSの精度や地図情報の精度の問題です。
以上です。簡単ですね。
取得した位置情報から詳細な属性を抽出する
「現在地を取得」アクションは、デフォルト(初期設定)では上記のように「郵便番号/都道府県/市区町村/番地/地域」が表示されましたが、実際はもっと多くの情報を(細かく)取得しています。
「現在地を取得」アクションで取得したデータから詳細な属性(プロパティ)を呼び出してみましょう。
- 「現在地を取得」アクションの次に「テキスト」アクションを追加します。
- 検索窓に「テキスト」と入力し、「テキスト」アクションをタップ。
- 「現在地を取得」と「テキスト」アクションが追加されました。
「テキスト」アクション内に取得した「位置情報」のデータを配置します。
- 「テキスト」アクション内をタップすると、下段にキーボードや変数などが表示されます。
- 予めセットされている ② の(変数)「現在地」をタップし、「テキスト」アクション内に配置します。
次に「テキスト」アクション内に配置された ③(変数トークン)「現在地」をタップ。 - さらに、下段に表示されたリスト(変数エディタ)から ④「市区町村」をタップ。
これで「現在地を取得」アクションから取得した位置情報の属性「市区町村」のみを抽出できます。(下図)
上図のように「現在地を取得」アクションでは、位置情報から「緯度/経度/高度‥」などより詳細な属性(プロパティ)を「変数エディタ」を使って抽出することができます。
「現在の天気を取得」アクションから現在地を取得する
現在地の位置情報を取得するアクションは「現在地を取得」アクションだけではありません。
ここでは「現在の天気を取得」アクションを使って、現在地の位置情報を取得してみます。
- 検索窓に「天気」と入力、「現在の天気を取得」アクションをタップし追加する。
- そのまま実行してみる。
- 結果は、現在地の天候が表示される。
上記のように「現在の天気を取得」アクションはデフォルトでは、選択した地域(この場合現在地)の天候を取得します。
それでは、取得するデータの種類を変更して、必要な情報(コンテンツ)を抽出してみましょう。
- 「テキスト」アクションを追加して、① 変数「気象状況」を配置する。
- ② 変数トークン「気象状況」をタップし、③ 変数エディタの「気象状況として」をタップ。
- リストから④「位置情報」をタップ。
上記の手順で「現在の天気を取得」アクションで取得する種類を「気象状況」から「位置情報」に変更しました。
次は、抽出したい属性を設定します。
- 変数エディタの属性リストから ①「都道府県」をタップ。
- 同じように、② 変数「気象状況」を配置して、更に種類を「位置情報」に変更し、属性を ③「市区町村」に変更する。
- をタップして、レシピを実行すると、「都道府県と市区町村」が抽出できた。
このように、「現在の天気を取得」アクションでも、取得する情報(コンテンツ)の種類を変更したり、適切な属性(プロパティ)を選択することで、現在地の位置情報を取得することが可能です。
処理スピード重視なら「現在の天気を取得」アクションから位置情報を取得する
以上現在地の位置情報を取得するために「現在地を取得」アクションと「現在の天気を取得」アクションを使ってみましたが、実際に試すと分かりますが、処理スピードが全然違います。
「現在地を取得」アクションは、実行スピードがかなり遅いです。一方「現在の天気を取得」アクションは、結構機敏に動作し現在地の位置情報を素早く取得することができます。
この辺りは、iOS/iPadOSのショートカット.appの仕様によるものかもしれませんが、個人的には、「高度」情報を必要としない場合は、「現在の天気を取得」アクションで現在地情報を取得するほうがショートカットの処理スピードが早いのでオススメです。※高度情報は「現在の天気を取得」アクションからは取得することができません。
私個人、ツーリングでよく使っているショートカットレシピ「現在地をマーク」や「ここでメモ」など、「現在地を取得」アクションと「現在の天気を取得」アクションを同時に使ったり、処理スピード重視で「現在の天気を取得」アクションのみ使ったりといろいろ使い分けています。
現在地の位置情報を取得するアクションは結構使用頻度が高いので、ショートカットレシピによって、使い分けるといいですよ。
以下のレシピも参考までにどうぞ。