-zipnavi-にて、地図から郵便番号検索機能をリリースしました。この機能は近所や公共施設など、地図上の場所は分かるけど、住所と郵便番号が分からない、といった場合などに使ってもらえる想定で作りました。3つの視点から郵便番号の検索する事が可能になりました。新たにリリースした地図から郵便検索の画面イメージは以下の様な感じです。初期状態は日本全体なので、駅名など検索したいエリア付近の情報を入力して地図を絞り込みます。ボタンをクリックすると、zipnaviの検索エンジンにより郵便番号検索が行なわれ、結果が噴出し内に表示されます。地図から検索にて実際に動作を確認できます。ちなみに仕組みを簡単に説明すると以下の通りです。APIを使用して、地図上から緯度経度を取得する。APIの逆ジオコーディングを使用して、緯度経度から住所を取得する。3.zipnaviの検索エンジンを使用して、住所から郵便番号を検索する。上記を実現する為の方法として、1、2は、メンバーの「もじゃもじゃ」さんが既に開拓済みだった為、そちらの記事を参考にさせてもらい、それに若干のアレンジを加えました。Childの地図に広告を載せてみた!の記事を参考にさせてもらいました。開発中のテストで気付いたのですが、上記2の方法で取得できる住所情報にはちょっとクセがあります。A.地図上の道路を指定すると、「日本国道1号線」。海上を指定すると、「日本」といった情報が表示される。B.地図上の陸地を指定しているのに、住所ではなく、郵便番号が表示される。Aの様な場合、googleのAPIでは正確な住所が表示されないようです。Bはちょっとナゾです。コレは何?ネットで調べてもよく分かりません。表示された郵便番号をよ~く見ると・・・これはたぶん事業所の郵便番号の様に思われます。上記の様なケースを考慮し、Aの場合は噴出しに警告メッセージを表示しました。APIで取得できた郵便番号をそのまま表示させました。APIの仕様では上記の様な記述はありませんでしたが、色々とテストをしていく中で、上記の様な判断条件でほぼ処理出来る事が分かりました。一部の地域で上記A、Bいも該当しない例外がありますが、その際はzipnaviの検索エンジンがエラーと判断するので、間違った郵便番号が検索される事はありません。具体的には以下の様な地域です。※「茨城県かすみがうら市」だけでは、郵便番号を特定できません。この様な場合も、googleのAPIでは正確な住所が表示されないようです。3については取得した住所をAjaxを使用して、zipnaviの検索エンジンに渡し、その検索結果(郵便番号)を地図上に表示しています。今回の機能追加に合わせて、サイトのデザインもリニューアルしました。コメントをキャンセルメールアドレスが公開されることはありません。