zipnavi 地図から郵便番号検索をリリースしました

郵便番号検索 -zipnavi-にて、地図から郵便番号検索機能をリリースしました。
この機能は近所や公共施設など、地図上の場所は分かるけど、住所と郵便番号が分からない、といった場合などに使ってもらえる想定で作りました。
これで「住所」、「都道府県、市区町村、町域」、「地図」の3つの視点から郵便番号の検索する事が可能になりました。

新たにリリースした地図から郵便検索の画面イメージは以下の様な感じです。
地図検索ページ

初期状態は日本全体なので、駅名など検索したいエリア付近の情報を入力して地図を絞り込みます。そして地図上をクリックすると、吹き出しが表示されて、そこに住所と「郵便番号検索」ボタンが表示されます。
地図上の地点をクリック時

「郵便番号検索」ボタンをクリックすると、zipnaviの検索エンジンにより郵便番号検索が行なわれ、結果が噴出し内に表示されます。
郵便番号検索

郵便番号検索 -zipnavi- 地図から検索にて実際に動作を確認できます。

ちなみに仕組みを簡単に説明すると以下の通りです。

1.GoogleMAPS APIを使用して、地図上から緯度経度を取得する。
2.GoogleMAPS APIの逆ジオコーディングを使用して、緯度経度から住所を取得する。
3.zipnaviの検索エンジンを使用して、住所から郵便番号を検索する。

上記を実現する為の方法として、1、2は、メンバーの「もじゃもじゃ」さんが既に開拓済みだった為、そちらの記事を参考にさせてもらい、それに若干のアレンジを加えました。
flashcast:フリーで働くITエンジニア集団のブログ: iPhone OS 3.0のSafariでGPS機能を使ったWeb Applicationを作る!(iPhoneでテスト編)

あと、GoogleMAP上にAdsenseの広告も表示させましたが、これもflashcast:フリーで働くITエンジニア集団のブログ: Strayed Childの地図に広告を載せてみた!の記事を参考にさせてもらいました。

ただ、開発中のテストで気付いたのですが、上記2の方法で取得できる住所情報にはちょっとクセがあります。
A.地図上の道路を指定すると、「日本国道1号線」。海上を指定すると、「日本」といった情報が表示される。
国道海上
B.地図上の陸地を指定しているのに、住所ではなく、郵便番号が表示される。
郵便番号

Aの様な場合、googleのAPIでは正確な住所が表示されないようです。

Bはちょっとナゾです。
コレは何?
ネットで調べてもよく分かりません。
ただ表示された郵便番号をよ~く見ると・・・
これはたぶん事業所の郵便番号の様に思われます。

上記の様なケースを考慮し、Aの場合は噴出しに警告メッセージを表示しました。
またBの場合は、新たに郵便番号検索するまでもないので、GoogleMAPS APIで取得できた郵便番号をそのまま表示させました。

GoogleMAPS APIの仕様では上記の様な記述はありませんでしたが、色々とテストをしていく中で、上記の様な判断条件でほぼ処理出来る事が分かりました。
ただ、一部の地域で上記A、Bいも該当しない例外がありますが、その際はzipnaviの検索エンジンがエラーと判断するので、間違った郵便番号が検索される事はありません。
具体的には以下の様な地域です。
茨城県かすみがうら市
※「茨城県かすみがうら市」だけでは、郵便番号を特定できません。この様な場合も、googleのAPIでは正確な住所が表示されないようです。

3については取得した住所をAjaxを使用して、zipnaviの検索エンジンに渡し、その検索結果(郵便番号)を地図上に表示しています。
なお、今回の機能追加に合わせて、サイトのデザインもリニューアルしました。
新しくなったzipnaviを今後ともよろしくお願いします!

カテゴリー: flashcast, googlemap, zipnavi, 郵便番号検索 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です