場所をリバース ジオコーディングする

欧州経済領域(EEA)のデベロッパー

リバース ジオコーディングは、地図上の場所を人が判読できる住所に変換します。地図上の位置は、その位置の緯度と経度の座標で表します。

場所をリバース ジオコーディングすると、レスポンスには次のものが含まれます。

この API は、最も詳細な番地まで含む住所から、区域、都市、郡、州などのより範囲の広い行政区画まで、さまざまなタイプの住所を返します。通常、最も正確な住所が最初の結果として表示されます。特定のタイプのアドレスを照合する場合は、types パラメータを使用します。

リバース ジオコーディング リクエスト

逆ジオコーディング リクエストは HTTP GET リクエストです。ロケーションは非構造化文字列として指定できます。

https://geocode.googleapis.com/v4beta/geocode/location/LATITUDE,LONGITUDE

または、クエリ パラメータで表される緯度と経度の座標の構造化セットとして指定します。

https://geocode.googleapis.com/v4beta/geocode/location?location.latitude=LATITUDE&location.longitude=LONGITUDE

通常、HTML フォームで取得した位置情報コンポーネントを処理する場合は、構造化形式を使用します。

他のすべてのパラメータは URL パラメータとして渡します。API キーやフィールド マスクなどのパラメータの場合は、GET リクエストの一部としてヘッダーで渡します。次に例を示します。

非構造化のロケーション文字列を渡す

非構造化の位置情報は、緯度と経度の座標をカンマ区切りの文字列としてフォーマットした位置情報です。

https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?key=API_KEY

または、curl コマンドを使用します。

curl -X GET -H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
"https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338"

構造化された場所を渡す

構造化されたロケーションは、型 LatLnglocation クエリ パラメータを使用して指定します。LatLng オブジェクトを使用すると、緯度と経度を個別のクエリ パラメータとして指定できます。

https://geocode.googleapis.com/v4beta/geocode/location?location.latitude=37.4225508&location.longitude=-122.0846338&key=API_KEY

OAuth を使用してリクエストを行う

Geocoding API v4 は、認証に OAuth 2.0 をサポートしています。Geocoding API で OAuth を使用するには、OAuth トークンに正しいスコープを割り当てる必要があります。Geocoding API は、リバース ジオコーディングで使用できる次のスコープをサポートしています。

  • https://www.googleapis.com/auth/maps-platform.geocode - Geocoding API のすべてのエンドポイントで使用します。
  • https://www.googleapis.com/auth/maps-platform.geocode.location - リバース ジオコーディングの GeocodeLocation でのみ使用します。

また、すべての Geocoding API エンドポイントに一般的な https://www.googleapis.com/auth/cloud-platform スコープを使用することもできます。このスコープは、すべてのエンドポイントへのアクセスを許可する一般的なスコープであるため、開発中は便利ですが、本番環境では使用できません。

詳細と例については、OAuth を使用するをご覧ください。

リバース ジオコーディング レスポンス

リバース ジオコーディングは、次を含む GeocodeLocationResponse オブジェクトを返します。

  • 場所を表す GeocodeResult オブジェクトの results 配列。

    リバース ジオコーダは、results 配列に複数の結果を返します。結果には、郵送先住所だけでなく、その場所の地理的な名称も含まれます。たとえば、シカゴ市のある地点のジオコーディングを行うと、ジオコーディングされる地点には番地、都市(シカゴ)、州(イリノイ)、国(米国)などのラベルが付きます。ジオコーダは、これらをすべて「住所」と認識します。リバース ジオコーダは、これらのタイプのいずれかを有効な結果として返します。

  • PlusCode 型の plusCode フィールドには、リクエストの緯度と経度に最も近い Plus Code が格納されます。また、results 配列の各要素にはプラスコードが含まれています。デコードされたプラスコードとリクエスト地点の距離が 10 メートル未満である。

完全な JSON オブジェクトの形式は次のとおりです。

{
  "results": [
    {
      "place": "//places.googleapis.com/places/ChIJV-FZF7i7j4ARo4ZOUoecZFU",
      "placeId": "ChIJV-FZF7i7j4ARo4ZOUoecZFU",
      "location": {
        "latitude": 37.422588300000008,
        "longitude": -122.0846489
      },
      "granularity": "ROOFTOP",
      "viewport": {
        "low": {
          "latitude": 37.421239319708512,
          "longitude": -122.0859978802915
        },
        "high": {
          "latitude": 37.423937280291511,
          "longitude": -122.08329991970851
        }
      },
      "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
      "addressComponents": [
        {
          "longText": "1600",
          "shortText": "1600",
          "types": [
            "street_number"
          ]
        },
        {
          "longText": "Amphitheatre Parkway",
          "shortText": "Amphitheatre Pkwy",
          "types": [
            "route"
          ],
          "languageCode": "en"
        },
        {
          "longText": "Mountain View",
          "shortText": "Mountain View",
          "types": [
            "locality",
            "political"
          ],
          "languageCode": "en"
        },
        {
          "longText": "Santa Clara County",
          "shortText": "Santa Clara County",
          "types": [
            "administrative_area_level_2",
            "political"
          ],
          "languageCode": "en"
        },
        {
          "longText": "California",
          "shortText": "CA",
          "types": [
            "administrative_area_level_1",
            "political"
          ],
          "languageCode": "en"
        },
        {
          "longText": "United States",
          "shortText": "US",
          "types": [
            "country",
            "political"
          ],
          "languageCode": "en"
        },
        {
          "longText": "94043",
          "shortText": "94043",
          "types": [
            "postal_code"
          ]
        }
      ],
      "types": [
        "street_address"
      ],
      "plusCode": {
        "globalCode": "849VCW83+PM",
        "compoundCode": "CW83+PM Mountain View, CA, USA"
      }
    },
    {
      "place": "//places.googleapis.com/places/ChIJj61dQgK6j4AR4GeTYWZsKWw",
      "placeId": "ChIJj61dQgK6j4AR4GeTYWZsKWw",
      "location": {
        "latitude": 37.4220541,
        "longitude": -122.08532419999999
      },
      "granularity": "ROOFTOP",
      "viewport": {
        "low": {
          "latitude": 37.4207051197085,
          "longitude": -122.08667318029148
        },
        "high": {
          "latitude": 37.423403080291493,
          "longitude": -122.08397521970851
        }
      },
      "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
      "addressComponents": [
        {
          "longText": "1600",
          "shortText": "1600",
          "types": [
            "street_number"
          ]
        },
        {
          "longText": "Amphitheatre Parkway",
          "shortText": "Amphitheatre Pkwy",
          "types": [
            "route"
          ],
          "languageCode": "en"
        },
        {
          "longText": "Mountain View",
          "shortText": "Mountain View",
          "types": [
            "locality",
            "political"
          ],
          "languageCode": "en"
        },
        {
          "longText": "Santa Clara County",
          "shortText": "Santa Clara County",
          "types": [
            "administrative_area_level_2",
            "political"
          ],
          "languageCode": "en"
        },
        {
          "longText": "California",
          "shortText": "CA",
          "types": [
            "administrative_area_level_1",
            "political"
          ],
          "languageCode": "en"
        },
        {
          "longText": "United States",
          "shortText": "US",
          "types": [
            "country",
            "political"
          ],
          "languageCode": "en"
        },
        {
          "longText": "94043",
          "shortText": "94043",
          "types": [
            "postal_code"
          ]
        }
      ],
      "types": [
        "establishment",
        "point_of_interest"
      ],
      "plusCode": {
        "globalCode": "849VCWC7+RV",
        "compoundCode": "CWC7+RV Mountain View, CA, USA"
      }
    },
   ...
  ],
  "plusCode": {
    "globalCode": "849VCWF8+24H",
    "compoundCode": "CWF8+24H Mountain View, CA, USA"
  }
}

必須パラメータ

  • ロケーション

    人が読める形式の最も近い住所を取得する場所を指定する緯度と経度の座標。

オプション パラメータ

  • languageCode

    結果を返す言語。

    • サポートされている言語の一覧をご覧ください。サポート対象の言語は頻繁に更新されるため、このリストで網羅されていない場合があります。
    • languageCode が指定されていない場合、API はデフォルトで en になります。無効な言語コードを指定すると、API は INVALID_ARGUMENT エラーを返します。
    • API は、ユーザーと地元の人々の両方が読み取れる住所を提供するよう努めます。この目的を達成するため、この API は、優先言語を考慮しながら、必要に応じてユーザーが読み取れる文字に変換したローカル言語の住所を返します。その他の住所はすべて、優先言語で返されます。住所のコンポーネントはすべて、最初のコンポーネントから選択された同じ言語で返されます。
    • 優先言語で名前を使用できない場合は、最も近い一致が API で使用されます。
    • 優先言語は、API が返す結果のセットと、返される順序にわずかに影響します。ジオコーダは、道路の種類の略語や、ある言語では有効でも別の言語では有効でない類義語など、言語に応じて略語を解釈します。
  • regionCode

    2 文字の CLDR コード値の地域コード。デフォルト値はありません。ほとんどの CLDR コードは ISO 3166-1 コードと同じです。

    住所をジオコーディングする際の転送ジオコーディングでは、このパラメータはサービスから指定された地域に返される結果に影響を与えますが、完全に制限するわけではありません。位置情報または場所のジオコーディング、リバース ジオコーディングプレイス ジオコーディングを行うときに、このパラメータを使用して住所をフォーマットできます。いずれの場合も、このパラメータは適用される法律に基づいて結果に影響する可能性があります。

  • 粒度

    1 つ以上の位置情報の粒度。Granularity で定義されているように、個別のクエリ パラメータとして指定します。複数の granularity パラメータを指定すると、いずれかの粒度に一致するすべてのアドレスが返されます。

    granularity パラメータは、指定した位置情報の粒度に検索を制限しません。granularity は検索後のフィルタとして機能します。API は、指定された location のすべての結果を取得し、指定された位置情報の粒度と一致しない結果を破棄します。

    typesgranularity の両方を指定すると、API は両方に一致する結果のみを返します。次に例を示します。

    https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?granularity=ROOFTOP&granularity=GEOMETRIC_CENTER&key=API_KEY
  • タイプ

    1 つ以上のアドレスタイプ(個別のクエリ パラメータとして指定)。複数の types パラメータを指定すると、いずれかのタイプに一致するすべてのアドレスが API から返されます。

    types パラメータは、指定された住所タイプに検索を制限しません。types は検索後のフィルタとして機能します。API は、指定された場所のすべての結果を取得し、指定された住所タイプと一致しない結果を破棄します。

    typesgranularity の両方を指定すると、API は両方に一致する結果のみを返します。次に例を示します。

    https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?types=administrative_area_level_2&types=locality&key=API_KEY

    サポートされる値は次のとおりです。

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

    レスポンスの GeocodeResult 本文の types 配列は、住所のタイプを示します。住所の種類の例としては、番地、国、行政区画などがあります。GeocodeResult 本文の AddressComponents フィールドにある types 配列は、住所の各部分のタイプを示します。たとえば、国や番地などです

    住所には複数のタイプがあります。これらのタイプは「タグ」と見なされます。たとえば、多くの都市には political タイプと locality タイプのタグが付けられています。

    次のタイプは、住所タイプと住所コンポーネント タイプの両方の配列でサポートされ、返されます。

    アドレスの種類 説明
    street_address 正確な住所。
    route 名前のある道路(US 101 など)。
    intersection 主要交差点(通常は 2 つの大通りの交差点)。
    political 行政区画。通常、このタイプは民政のポリゴンを示します。
    country 国の政治的区画(通常はジオコーダから返される最上位のタイプ)。
    administrative_area_level_1 国の 1 段階下の行政区画。米国の場合、この行政上のレベルは州です。すべての国でこの行政区画レベルが存在するわけではありません。ほとんどの場合、administrative_area_level_1 の省略名は下位区分 ISO 3166-2 とその他の一般的なリストに一致します。ただし、Google のジオコーディングの結果はさまざまな信号と位置情報データに基づいているため、これらの名前が厳密に一致するとは限りません。
    administrative_area_level_2 国の 2 段階下の行政区画。米国の場合、この行政上のレベルは郡です。すべての国でこの行政区画レベルが存在するわけではありません。
    administrative_area_level_3 国の 3 段階下の行政区画。このタイプは小規模な行政上の区域を示します。すべての国でこの行政区画レベルが存在するわけではありません。
    administrative_area_level_4 国の 4 段階下の行政区画。このタイプは小規模な行政上の区域を示します。すべての国でこの行政区画レベルが存在するわけではありません。
    administrative_area_level_5 国の 5 段階下の行政区画。このタイプは小規模な行政上の区域を示します。すべての国でこの行政区画レベルが存在するわけではありません。
    administrative_area_level_6 国の 6 段階下の行政区画。このタイプは小規模な行政上の区域を示します。すべての国でこの行政区画レベルが存在するわけではありません。
    administrative_area_level_7 国の 7 段階下の行政区画。このタイプは小規模な行政上の区域を示します。すべての国でこの行政区画レベルが存在するわけではありません。
    colloquial_area エンティティの一般的な別名。
    locality 行政区画である都市または町。
    sublocality 地域区分の 1 段階下の行政区画。一部の場所では、sublocality_level_1 から sublocality_level_5 のいずれかの追加タイプを受け取ります。各下位地区レベルは行政区画で、数が大きいほど区域は小さくなります。
    neighborhood 名前のある近隣地域。
    premise 名前のある場所。通常は共通の名前を持つ建物や建物の集合体です。
    subpremise 敷地レベルより下のアドレス指定可能なエンティティ(アパート、ユニット、スイートなど)。
    plus_code 緯度と経度に基づくエンコードされた場所の参照情報。Plus Codes は、番地がない場所(建物に番号が付いていない場所や、通りに名前がない場所)で、番地の代わりに使用できます。詳しくは、https://plus.codes をご覧ください。
    postal_code 対象の国内で郵便物の宛先として使用される郵便番号。
    natural_feature 特徴的な地勢。
    airport 空港。
    park 名前付きの公園。
    point_of_interest 名前のあるスポット。通常、これらの「スポット」は、その地域で有名な場所のことを指し、「エンパイア ステートビル」や「エッフェル塔」など、他のカテゴリにはあまり当てはまらないものです。

    タイプリストが空の場合は、特定の住所コンポーネントに対して既知のタイプが存在しないことを意味します(フランスのリュディがこれに相当します)。