場所をジオコードする

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

プレイス ジオコーディングを使用すると、プレイス ID から住所を取得できます。

プレイス ID は、Google プレイスのデータベースおよび Google マップで特定の場所を一意に識別する ID です。住所をジオコーディング するときに プレイス ID を取得します。プレイス ID は、プレイスの詳細(新規)テキスト検索(新規)周辺 検索 (新規)など、他の多くの API からも取得できます。

プレイス ジオコーディング リクエスト

プレイス ジオコーディング リクエストは、次の形式の HTTP GET リクエストです。

https://geocode.googleapis.com/v4/geocode/places/PLACE_ID

ここで、PLACE_ID には関心対象地域のプレイス ID が含まれます。

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

https://geocode.googleapis.com/v4/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw?key=API_KEY

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

curl -X GET -H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
"https://geocode.googleapis.com/v4/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw"

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.place - プレイス ジオコーディングの GeocodePlace でのみ使用します。

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

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

プレイス ジオコーディングのレスポンス

プレイス ジオコーディングは、プレイス ID に対応する場所を表す GeocodeResult オブジェクトを返します。

Geocoding API のレスポンスには、types 配列が GeocodeResult 内の次の 2 つの主要な場所にあります。

  1. GeocodeResult.types: この配列は、結果の全体的なタイプを示します。使用できる値は、Places API で使用される場所のタイプから取得されます。詳細については、場所のタイプ表 A と表 Bをご覧ください。
  2. GeocodeResult.addressComponents[].types: 各住所コンポーネントには、 types 配列があり、住所の特定の部分のタイプを示します。 これらの値は、Places API で使用される住所のタイプと住所コンポーネントのタイプ表から取得されます。

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

{
  "place": "//places.googleapis.com/places/ChIJj61dQgK6j4AR4GeTYWZsKWw",
  "placeId": "ChIJj61dQgK6j4AR4GeTYWZsKWw",
  "location": {
    "latitude": 37.4220541,
    "longitude": -122.08532419999999
  },
  "granularity": "ROOFTOP",
  "viewport": {
    "low": {
      "latitude": 37.4209489697085,
      "longitude": -122.08846930000001
    },
    "high": {
      "latitude": 37.4236469302915,
      "longitude": -122.0829156
    }
  },
  "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
  "postalAddress": {
    "regionCode": "US",
    "languageCode": "en",
    "postalCode": "94043",
    "administrativeArea": "CA",
    "locality": "Mountain View",
    "addressLines": [
      "1600 Amphitheatre Pkwy"
    ]
  },
  "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"
  ]
}

必須パラメータ

  • place - 人が読める形式の住所を取得する場所のプレイス ID。プレイス ID は、Google API で使用できる一意の 識別子です。たとえば、Roads API から返される placeID を使用して、スナップ ポイントの住所を取得できます。プレイス ID について詳しくは、プレイス ID をご覧ください。

オプション パラメータ

  • languageCode

    結果を返す言語。

    • サポートされている言語の 一覧をご覧ください。サポート対象の言語は頻繁に更新されるため、このリストで網羅されていない場合があります。
    • languageCode が指定されていない場合、API はデフォルトで en に設定されます。無効な言語コードを指定すると、API は INVALID_ARGUMENT エラーを返します。
    • API は、ユーザーと地域住民の両方が読める住所を提供できるよう最善を尽くします。そのために、優先言語を考慮して、必要に応じてユーザーが読めるスクリプトに音訳された現地の言語で住所 を返します。その他の 住所はすべて優先言語で返されます。住所コンポーネントは すべて同じ言語で返されます。この言語は最初の コンポーネントから選択されます。
    • 優先言語で名前が使用できない場合、API は最も近い一致を使用します。
    • 優先言語は、API が返す結果のセットと、結果が返される順序にわずかな影響を与えます。ジオコーダは、言語によって略語(街路の種類の略語など)や同義語(ある言語では有効だが別の言語では無効な場合がある)を異なる方法で解釈します。
  • regionCode

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

    住所をジオコーディングする場合(順方向ジオコーディング)、このパラメータは、サービスから指定された地域への結果に影響を与える可能性がありますが、完全に制限するわけではありません。場所やプレイスをジオコーディングする場合(リバース ジオコーディングまたはプレイス ジオコーディング)、このパラメータを使用して住所の形式を設定できます。いずれの場合も、このパラメータは適用される法律に基づいて結果に影響を与える可能性があります。

  • FieldMask

    レスポンスで返すフィールドを指定するレスポンス フィールド マスクを作成します。レスポンス フィールド マスクをメソッドに渡すには、URL パラメータ $fields または fields を使用するか、HTTP ヘッダー X-Goog-FieldMask を使用します。たとえば、次のリクエストでは、レスポンスの formattedAddress フィールドのみが返されます。

    curl -X GET -H 'Content-Type: application/json' \
    -H 'X-Goog-FieldMask: formattedAddress' \
    -H "X-Goog-Api-Key: API_KEY" \
    "https://geocode.googleapis.com/v4/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw"
    
    レスポンスは次のようになります。
    {
      "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA"
    }

    詳細については、返すフィールドの選択をご覧ください。