MULTISOUP

MULTISOUP

MULTISOUP

Staff Blog

Introduction example

2016.10.26

Geocoding APIの住所のタイプと住所コンポーネントのタイプ

GeocodingAPI

みなさん、こんにちは!

今日は、 Google Maps APIs の Geocoding API を使う度に皆さんが(私だけ?)、ずっと”気になっていた事”について書きたいと思います。ずっーと”気になっていた事”、それは Geocoding API における住所のタイプと住所コンポーネントのタイプについてです。

 

例えば、 Geocoding API で “東京都千代田区神田錦町3-11” について、ジオコーディングしたい場合は、以下のようなURLでリクエストします。


※以下は、通常スタンダードプラン(無償版)でのパラメータです。

 

https://maps.googleapis.com/maps/api/geocode/json?address=%E6%9D%B1%E4%BA%AC%E9%83%BD%E5%8D%83%E4%BB%A3%E7%94%B0%E5%8C%BA%E7%A5%9E%E7%94%B0%E9%8C%A6%E7%94%BA3-11

 

すると、以下のようなレスポンスがJSONで返ってきます。
※2016/10時点のレスポンスになります。
※赤色の部分が、”住所のタイプと住所コンポーネントのタイプ”になります。

 

{
  "results" : [
  {
    "address_components" : [
    {
      "long_name" : "11",
      "short_name" : "11",
      "types" : [ "political", "sublocality", "sublocality_level_4" ]
   },
    {
      "long_name" : "3丁目",
      "short_name" : "3丁目",
      "types" : [ "political", "sublocality", "sublocality_level_2" ]
    },
    {
      "long_name" : "神田錦町",
      "short_name" : "神田錦町",
      "types" : [ "political", "sublocality", "sublocality_level_1" ]
    },
    {
      "long_name" : "千代田区",
      "short_name" : "千代田区",
      "types" : [ "locality", "political" ]
    },
    {
      "long_name" : "東京都",
      "short_name" : "東京都",
      "types" : [ "administrative_area_level_1", "political" ]
    },
    {
      "long_name" : "日本",
      "short_name" : "JP",
      "types" : [ "country", "political" ]
    },
    {
      "long_name" : "101-0054",
      "short_name" : "101-0054",
      "types" : [ "postal_code" ]
    }
    ],
    "formatted_address" : "日本, 〒101-0054 東京都千代田区神田錦町3丁目11",
    "geometry" : {
      "location" : {
        "lat" : 35.6921309,
        "lng" : 139.7603281
      },
      "location_type" : "ROOFTOP",
      "viewport" : {
        "northeast" : {
          "lat" : 35.69347988029149,
          "lng" : 139.7616770802915
        },
        "southwest" : {
          "lat" : 35.69078191970849,
          "lng" : 139.7589791197085
        }
      }
    },
    "place_id" : "ChIJT5OqzA-MGGARLrl0nC90mwA",
    "types" : [ "political", "sublocality", "sublocality_level_4" ]
  }
 ],
 "status" : "OK"
}

 

住所のタイプ(および住所コンポーネントのタイプ)にはどのようなものがあるのか知りたい場合は、以下のURLからデベロッパーガイドをご覧いただけます。

 

https://developers.google.com/maps/documentation/geocoding/intro?hl=ja#Types

 

しかし、よく読んでみると、

 

★ 注:このリストはすべてを網羅するものではなく、今後変更される可能性もあります。

 

という1行が書かれています。

 

ジオコーディングをする際は、その結果がどの精度でジオコーディングできているかを把握できる必要がありますし、アプリケーションの画面上で表示する必要があるかもしれません。

仮に画面上で表示する場合はきっと日本語で表示したい筈ですが、それを実現する方法として、オリジナルの住所のタイプ(または住所コンポーネントのタイプ)をキー、対応する日本語を値とするマップ構造のデータを設定ファイルやデータベースに持つ方法が考えられます。

しかし、Googleから提供される情報について、すべてを網羅するものではなく、今後変更される可能性があるとなると、完全なマップ構造のデータを用意する事ができません。それこそが、(少なくとも私が)ずっと”気になっていた事”でした。

 

そこで、Googleのテクニカルサポートに問い合わせてみた結果、以下のような回答(一部抜粋)が返ってきました。

 

As mentioned, new types can be added (or old ones removed/renamed). Your application needs to be flexible enough to accommodate these changes without crashing.

When the API adds a new type, it can happen that the docs are updated afterwards. Even though it might only take half day, it is not “exhaustive”. The English language version of the documentation will generally be updated first.
https://developers.google.com/maps/documentation/geocoding/intro#Types

If you are receiving a new type in your application that is not listed I would encourage you to check the English language version of the documentation to see if it is listed there. If it isn’t listed it is likely a new type that will be added to the documentation shortly.

 

上記より、ジオコーディングを用いたアプリケーション開発の際に、住所のタイプ(および住所コンポーネントのタイプ)に関する対処として以下の点に注意する必要があるかと思います。

 

1. 新たなタイプが追加されたり、既存のタイプが変更・削除される事を前提として、アプリケーションを設計・開発する。

2. Googleが提供するデベロッパーガイドで公開されいる情報を、暫定的なタイプの全体と考える。(他に公式な情報が無い為)

3. 定期的(または必要に応じて)デベロッパーガイドを確認し、新たなタイプや変更・削除されたタイプがある場合はアプリケーション側に反映する。

4. 最速の情報が知りたい場合は、英語版のデベロッパーガイドを確認する。

問い合わせるまでも無いような事かもしれませんが、モヤモヤしたものが少しでも明快になれば幸いかと思います。

 

Google Maps API プレミアプランには、グーグルから直接サポートが受けられるテクニカルサポートがあります。24時間対応してもらえます(Follow the Sun)! プレミアプランをご購入いただいてるみなさんは、全員こちらのサポートの対象ですので、不明点があった場合は、問い合わせてみてください。(ただし、英語のみ)

 

Google Maps APIに関する質問は、こちらのブログでも受け付けておりますので、以下フォームよりお問い合わせください。

 

バイ!

 

【関連記事】こんな記事も読まれています

2019.01.25

Maps JavaScript API のリリースバージョンが 3.35 に更新・・・

みなさん、こんにちは。

2019年2月12日頃、Maps JavaScript API のリリースバージョンが 3.34 から 3.35 に更・・・

続きを読む

2018.05.10

Google Maps JavaScript API のリリースバージョンが 3・・・

みんさん、こんにちは!

Google Maps JavaScript API のアップデート情報です。

2018年5月15日頃、G・・・

続きを読む

2019.06.14

Googleマップの印刷に関する問題

みなさん、こんにちは!

続きを読む

 - Google Maps Geocoding API, Google Maps JavaScript API, サポート, スタッフ日記

お問い合わせお見積もりから開発のご相談まで、お気軽にお問い合わせください。

Google Maps for Work™に関するご質問やお見積りは、
マルティスープまでお気軽にお問い合わせください03-3518-9013 (受付時間:平日 9:00−18:00)