住所から緯度経度を取得する

概要

Google Maps API を利用して住所から緯度経度を取得し、フィールドにセットします。

使い方

事前に Google Maps のサイトで、API キーを入手しておきます。 API キーの入手方法については

https://developers.google.com/maps/documentation/javascript/get-api-key?hl=ja

を参照してください。

アプリに緯度経度を保存するフィールドを設置しておいてください。 緯度経度は別々のフィールドにすることも同じフィールドにすることもできます。

設定するパラメーター

「APIキー」「住所」「緯度フィールド」「経度フィールド」を設定します。

APIキー

Google Maps の API キーを入力します。

API キーは Google Maps のサイトから取得してください。

https://cloud.google.com/maps-platform/?hl=ja https://developers.google.com/maps/documentation/javascript/get-api-key?hl=ja

住所

緯度経度を取得したい住所を入力します。

フィールドに住所の情報が入っている場合、式を使ってフィールドの値を渡すことができます。 フィールドが「都道府県」「住所1」「住所2」に分かれている場合は次のように指定します。

${都道府県} ${住所1} ${住所2}

番地までの細かい住所で指定することもできますし、市町村名までのような大まかな住所で指定することもできます。 また、「東京スカイツリー」のように著名な建物の場合、建物名だけでも取得可能です。これらは Google Maps の機能になります。

緯度フィールド

取得した緯度データを保存する先のフィールドを選択します。

文字列(1行)または数値フィールドを選択できます。

緯度と経度を同じフィールドに保存する場合は、数値フィールドではなく文字列(1行)タイプのフィールドを選択してください。

経度フィールド

取得した経度データを保存する先のフィールドを選択します。

文字列(1行)または数値フィールドを選択できます。

緯度と経度を同じフィールドに保存する場合は、数値フィールドではなく文字列(1行)タイプのフィールドを選択してください。

緯度と経度を同じフィールドに保存すると、

34.6937,135.5022

のようにカンマ区切りで緯度と経度がセットされます。

制限事項

緯度フィールド、経度フィールドにテーブル内のフィールド(列)を指定すると、 そのテーブルの各行に対して緯度経度を取得します。

このとき、Google Maps API の制限により、一度にたくさん取得することができないため、 約2秒の間隔で取得を実施します。

そのため、すべての取得が完了するまでに時間がかかることになりますが、 その間ユーザーがレコード編集画面で編集した内容は失われ、 緯度経度取得処理開始時点の内容に戻ります。

テーブル内のフィールドに対して緯度経度を取得する場合は、 「読み込み中画面を表示する」などを使用して、 ユーザーが入力できない状態にすることをお勧めします。

フィールドの値を編集して値が変わった時」の「一覧画面の鉛筆を押した時も含める」場合には対応していません。エラーにはなりませんが、実行してもフィールドに住所がセットされません。