郵便番号を入力すると住所へと変換します。また、住所が変更されると緯度経度を取得して、Google マップへのリンクを生成します。


今回のカスタマイズで出来ること

  • 郵便番号を入力すると住所を取得します

  • 住所が入力されると緯度経度を取得します

  • 緯度経度を元にGoogle マップへのリンクを生成します


アプリの準備

サンプルアプリとして以下のフィールドを作成しました。


フィールド名

フィールドコード

フィールドタイプ、他

郵便番号

郵便番号_コード

文字列

住所1

住所1_コード

文字列

住所2

住所2_コード

文字列

住所3

住所3_コード

文字列

住所4

住所4_コード

文字列

緯度

緯度_コード

文字列

経度

経度_コード

文字列

リンク

リンク_コード

リンク



詳細画面での表示は次のようになります。



Customineの設定

全体の流れはこのようになります。


郵便番号を入力した時の処理

最初に、郵便番号が全角だったケースに対応して、半角への変換をおこないます。

その後に、郵便番号から住所を取得してフィールドにセットします。郵便番号によっては番地まで特定できるケースがあるので、住所(4)フィールドまで使用します。




住所フィールドに入力した時の処理

都道府県から住所(4)までのどれかが変更された場合、緯度経度を取得してフィールドにセットします。この際、GoogleのAPIを使用するのでAPIキーと呼ばれるものが必要になります。APIキーの取得方法については、こちらをご覧ください。


緯度経度が取得できたら、Google マップのリンクを生成してフィールドにセットします。



レコードを保存して詳細画面に遷移するとリンクが有効になりますので、クリックしてGoogle マップが開くかをご確認ください。



まとめ

住所は、郵便番号からの入力だけではなく、手入力も可能です。手入力で値が変わった場合でも、緯度経度を再取得します。

なお、Googleのルールが変更になったため、APIキーは課金情報を紐付ける必要があります。ご注意ください。