リバース ジオコーディングは、地図上の場所を人が判読できる住所に変換します。地図上の位置は、その位置の緯度と経度の座標で表します。
場所をリバース ジオコーディングすると、レスポンスには次のものが含まれます。
この 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"
構造化された場所を渡す
構造化されたロケーションは、型 LatLng
の location
クエリ パラメータを使用して指定します。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
のすべての結果を取得し、指定された位置情報の粒度と一致しない結果を破棄します。types
とgranularity
の両方を指定すると、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 は、指定された場所のすべての結果を取得し、指定された住所タイプと一致しない結果を破棄します。types
とgranularity
の両方を指定すると、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
名前のあるスポット。通常、これらの「スポット」は、その地域で有名な場所のことを指し、「エンパイア ステートビル」や「エッフェル塔」など、他のカテゴリにはあまり当てはまらないものです。 タイプリストが空の場合は、特定の住所コンポーネントに対して既知のタイプが存在しないことを意味します(フランスのリュディがこれに相当します)。