郵便番号から住所への変換(その2)
日付 | 2019/04/17 |
---|---|
ID | 19-002 |
バージョン | v17以降 |
プラットフォーム | Win, Mac |
郵便番号から住所への変換は、インターネットに接続されている環境であれば、ネットで公開されているサービスを利用して簡単に行うことができます。以前、GoogleのAPIを利用した方法をご紹介しましたが、Googleの方針が変更になり以前のコードの利用ができなくなりましたので、今回Yahoo!のサービスを利用した方法をご紹介いたします。
Yahoo!のサービスを利用するためには、Yahoo!のアカウント登録をした後に「アプリケーションID」を取得する必要がありますのでご注意ください。
コードは4D v17から利用できるオブジェクト記法を使いましたので、コマンドでデータを得るのに比べて簡素な作りになっています。以前のGoogleのAPIを利用した方法と対して変わりはありませんが、オブジェクト記法のおかげですっきりとしたコードになりました。
//■目的 //引数に渡された郵便番号を住所に変換する //■使用例 //C_TEXT($address) //$address:=本メソッド名($appID;"150-0043") //東京都渋谷区道玄坂 //■注意 //このサンプルはYahoo!の郵便番号検索APIを利用しています //https://developer.yahoo.co.jp/webapi/map/openlocalplatform/v1/zipcodesearch.html //利用にはYahoo!アプリケーションIDの取得が必要です(上記URL参照) C_TEXT($0;$address) C_TEXT($1;$appID) C_TEXT($2;$zip) $appID:=$1 //Yahoo!より頂戴したアプリケーションID $zip:=$2 //検索する郵便番号 //URLを組み立てる C_TEXT($url) $url:="https://map.yahooapis.jp/search/zip/V1/zipCodeSearch?query="+$zip+"&appid="+$appID+"&output=json" //HTTPでサービスにアクセス C_LONGINT($res_code) C_OBJECT($responce) $res_code:=HTTP Get($url;$responce) //結果を抽出 Case of : ($res_code#200) $address:="Error:リクエストエラー("+String($res_code)+")" : ($responce.Feature.length=0) $address:="Error:該当住所なし" Else $address:=$responce.Feature[0].Property.Address End case //結果を返す $0:=$address