gaggitのブログ

コーディング、ガジェット、TIPS関連、FX

Google Maps API ジオコーディング、プレイス検索で返される住所で分かったこと

Google Maps API でジオコーディング、プレイス検索で返される住所(formatted_address)、約3,000件を見て気づいたこと、レアなケースなどをまとめてみました。

通常、日本であれば、XML形式のformatted_addressタグには、日本, 〒○○○-○○○○ △△県□□市 ××区○○町△丁目□ 番×号○と言う感じで返されます。しかし、統一感はまったくありませんでした。同じ系列の店を検索しても返される住所は、ばらばらです。

  1.  番地は全角、半角の割合はバラバラ、また△丁目□ 番×号○と△-□ -×が混在
  2. △△県□□市 ××字○○で検索し、住所が登録されていない場合には、△△県□□市で返される
  3. 住所の間にスペースがある
  4. 番地の最後が号、番で終わる場合には省略されていることが多い
  5. 郵便番号が入っていないケース
  6. 郵便番号のハイフンが半角のマイナスでなく、全角の長音(ー)記号のケース
  7. 同緯度、同経度で同じ系列別店舗のケース

   (フロアごとに1号店、2号店となっていた。あり得るケースですが、単純に同緯度、同経度で削除するところでした)

正確に全部をカウントしたわけではありませんが、約3,000件のデータの内、5.は9件、6.は1件、7.は1件でした。

対策として、2.は、返されるtypeタグがlocality(自治体)かどうか判別し、ジオコーディングで見つからなかった住所を含め、プレイス検索で再検索。

typeタグの詳細は、公式サイトの「住所のタイプと住所コンポーネントのタイプ」を参照してください。

developers.google.com

5.は、JavaScript正規表現で対応しました。6.も正規表現で対応予定ですが、JavaScript正規表現のマルチバイト対応が中途半端だから。。。

 

2016/5/19追記

最近、プレイス検索で以下のようなアドレスリターンが数件、あった。

8.〒○○○-○○○○, △△△△ ××町 □□市 △△県 ○○○-○○○○ 日本

日本の前の○も郵便番号。これは、西洋圏での住所の記述の仕方。Googleさんが何かやっているのかな。

 2016/5/22追記

9.△△△△ ××町 □□市 △△県 ○○○-○○○○ 日本

10.〒○○○-○○○○, △△△△ ××町 □□市 △△県  日本

○○○-○○○○は、郵便番号。

今日もがじがじっと~♪