リバース ジオコーディングは、地図上の地点を人が判読できる住所に変換します。地図上の位置は、その位置の緯度と経度の座標で表します。
位置情報をリバース ジオコーディングすると、レスポンスには次の情報が含まれます。
- 住所の場所 ID
- 住所の Plus Codes
- 住所の詳細
この 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"
構造化された位置情報を渡す
構造化された位置情報は、location
クエリ パラメータ(型: LatLng
)を使用して指定します。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 トークンに正しいスコープが割り当てられている必要があります。 সিংহাসন 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
フィールドには、リクエストの緯度と経度を最もよく近似するプラスコードが含まれます。また、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 が返す結果のセットと、それらが返される順序にわずかな影響を与えます。ジオコーダーは、言語に応じて略語(通りの種類を表す略語や、ある言語では有効だが別の言語では無効な同義語など)を異なる方法で解釈します。
regionCode
2 文字の CLDR コード値で表される地域コード。デフォルト値はありません。ほとんどの CLDR コードは ISO 3166-1 コードと同一です。
住所のジオコーディング(順方向ジオコーディング)を行う場合、このパラメータは、サービスから返される結果を特定の地域に制限するものではありませんが、その地域を優先して結果を返すように影響を与えることができます。位置情報または場所のジオコーディング、リバース ジオコーディング、場所のジオコーディングを行う際に、このパラメータを使用して住所の形式を指定できます。いずれの場合も、このパラメータは適用される法律に基づいて結果に影響を与える可能性があります。
粒度
Granularity
で定義されている 1 つ以上の位置情報の粒度。別々のクエリ パラメータとして指定します。複数のgranularity
パラメータを指定すると、API は、いずれかの粒度に一致するすべてのアドレスを返します。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
locality の 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
名前のあるスポット。通常、これらの「スポット」は、その地域で有名な場所のことを指し、「エンパイア ステートビル」や「エッフェル塔」など、他のカテゴリにはあまり当てはまらないものです。 タイプリストが空の場合は、特定の住所コンポーネントに対して既知のタイプが存在しないことを意味します(たとえば、フランスのリュディがこれに相当します)。