地点地理编码
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
地点地理编码功能可让您通过地点 ID 检索地址。
地点 ID 可唯一标识 Google Places 数据库中和 Google 地图上的地点。在对地址进行地理编码时检索地点 ID。您还可以通过许多其他 API(例如新版“地点详情”、新版“文本搜索”和新版“附近搜索”)检索地点 ID。
发出地点地理编码请求
地点地理编码请求是一种 HTTP GET 请求,其格式如下:
https://geocode.googleapis.com/v4beta/geocode/places/PLACE_ID
其中,PLACE_ID 包含感兴趣地点的地点 ID。
将所有其他参数作为网址参数传递,或者对于 API 密钥或字段掩码等参数,在标头中作为 GET 请求的一部分传递。例如:
https://geocode.googleapis.com/v4beta/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/v4beta/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw"
使用 OAuth 发出请求
Geocoding API v4 支持使用 OAuth 2.0 进行身份验证。如需将 OAuth 与 Geocoding API 搭配使用,必须为 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
范围。该范围在开发期间很有用,但在生产期间则不然,因为这是一个通用范围,允许访问所有端点。
如需了解详情和示例,请参阅使用 OAuth。
地点地理编码响应
地点地理编码会返回一个 GeocodeResult
对象,该对象表示与地点 ID 对应的地点。
完整的 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。
可选参数
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-31。
[null,null,["最后更新时间 (UTC):2025-08-31。"],[],[],null,["# Place geocoding\n\n**European Economic Area (EEA) developers** If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](/maps/comms/eea/faq).\n\nPlace geocoding lets you retrieve an address from a [place\nID](/maps/documentation/places/web-service/place-id).\n\nPlace IDs uniquely identify a place in the Google Places database and on Google\nMaps. Retrieve place IDs when you [Geocode an\naddress](/maps/documentation/geocoding). You can also retrieve a place ID from many other APIs, such as\n[Place Details (New)](/maps/documentation/places/web-service/place-details),\n[Text Search (New)](/maps/documentation/places/web-service/text-search),\nand [Nearby Search\n(New)](/maps/documentation/places/web-service/nearby-search).\n\nPlace geocoding requests\n------------------------\n\nA\n[place geocoding](/maps/documentation/geocoding/reference/rest/v4beta/geocode.places)\nrequest is an HTTP GET request in the form: \n\n```scdoc\nhttps://geocode.googleapis.com/v4beta/geocode/places/PLACE_ID\n```\n\nWhere \u003cvar translate=\"no\"\u003ePLACE_ID\u003c/var\u003e contains the place ID of the location of interest.\n\nPass all other parameters as URL parameters or, for parameters such as the API\nkey or field mask, in headers as part of the GET request. For example: \n\n```html\nhttps://geocode.googleapis.com/v4beta/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw?key=API_KEY\n```\n\nOr in a curl command: \n\n```\ncurl -X GET -H 'Content-Type: application/json' \\\n-H \"X-Goog-Api-Key: API_KEY\" \\\n\"https://geocode.googleapis.com/v4beta/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw\"\n```\n\n### Use OAuth to make a request\n\nGeocoding API v4 supports [OAuth\n2.0](/maps/documentation/geocoding/oauth-token) for authentication. To use OAuth\nwith the Geocoding API, the OAuth token must be assigned the correct scope.\nGeocoding API supports the following scopes for use with place geocoding:\n\n- `https://www.googleapis.com/auth/maps-platform.geocode` --- Use with all Geocoding API endpoints.\n- `https://www.googleapis.com/auth/maps-platform.geocode.place` --- Use only with `GeocodePlace` for place geocoding.\n\nAlso, you can use the general `https://www.googleapis.com/auth/cloud-platform`\nscope for all Geocoding API endpoints. That scope is useful during\ndevelopment, but not production, because it is a general scope that allows\naccess to all endpoints.\n\nFor more information and examples, see [Use\nOAuth](/maps/documentation/geocoding/oauth-token).\n\nPlace geocoding responses\n-------------------------\n\nPlace geocoding returns a\n[`GeocodeResult`](/maps/documentation/geocoding/reference/rest/v4beta/GeocodeResult)\nobject that represents the place corresponding to the place ID.\n\nThe complete JSON object is in the form: \n\n```json\n{\n \"place\": \"//places.googleapis.com/places/ChIJj61dQgK6j4AR4GeTYWZsKWw\",\n \"placeId\": \"ChIJj61dQgK6j4AR4GeTYWZsKWw\",\n \"location\": {\n \"latitude\": 37.4220541,\n \"longitude\": -122.08532419999999\n },\n \"granularity\": \"ROOFTOP\",\n \"viewport\": {\n \"low\": {\n \"latitude\": 37.4209489697085,\n \"longitude\": -122.08846930000001\n },\n \"high\": {\n \"latitude\": 37.4236469302915,\n \"longitude\": -122.0829156\n }\n },\n \"formattedAddress\": \"1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA\",\n \"postalAddress\": {\n \"regionCode\": \"US\",\n \"languageCode\": \"en\",\n \"postalCode\": \"94043\",\n \"administrativeArea\": \"CA\",\n \"locality\": \"Mountain View\",\n \"addressLines\": [\n \"1600 Amphitheatre Pkwy\"\n ]\n },\n \"addressComponents\": [\n {\n \"longText\": \"1600\",\n \"shortText\": \"1600\",\n \"types\": [\n \"street_number\"\n ]\n },\n {\n \"longText\": \"Amphitheatre Parkway\",\n \"shortText\": \"Amphitheatre Pkwy\",\n \"types\": [\n \"route\"\n ],\n \"languageCode\": \"en\"\n },\n {\n \"longText\": \"Mountain View\",\n \"shortText\": \"Mountain View\",\n \"types\": [\n \"locality\",\n \"political\"\n ],\n \"languageCode\": \"en\"\n },\n {\n \"longText\": \"Santa Clara County\",\n \"shortText\": \"Santa Clara County\",\n \"types\": [\n \"administrative_area_level_2\",\n \"political\"\n ],\n \"languageCode\": \"en\"\n },\n {\n \"longText\": \"California\",\n \"shortText\": \"CA\",\n \"types\": [\n \"administrative_area_level_1\",\n \"political\"\n ],\n \"languageCode\": \"en\"\n },\n {\n \"longText\": \"United States\",\n \"shortText\": \"US\",\n \"types\": [\n \"country\",\n \"political\"\n ],\n \"languageCode\": \"en\"\n },\n {\n \"longText\": \"94043\",\n \"shortText\": \"94043\",\n \"types\": [\n \"postal_code\"\n ]\n }\n ],\n \"types\": [\n \"establishment\",\n \"point_of_interest\"\n ]\n}\n```\n\nRequired parameters\n-------------------\n\n- `place` --- The place ID of the place for which you want to obtain the human-readable address. The place ID is a unique identifier that can be used with other Google APIs. For example, you can use the `placeID` returned by the [Roads API](/maps/documentation/roads/snap) to get the address for a snapped point. For more information about place IDs, see the [Place IDs](/maps/documentation/places/web-service/place-id).\n\nOptional parameters\n-------------------\n\n-\n\n ### languageCode\n\n The language in which to return results.\n - See the [list of supported languages](/maps/faq#languagesupport). Google often updates the supported languages, so this list may not be exhaustive.\n - If `languageCode` is not supplied, the API defaults to `en`. If you specify an invalid language code, the API returns an `INVALID_ARGUMENT` error.\n - The API does its best to provide a street address that is readable for both the user and locals. To achieve that goal, it returns street addresses in the local language, transliterated to a script readable by the user if necessary, observing the preferred language. All other addresses are returned in the preferred language. Address components are all returned in the same language, which is chosen from the first component.\n - If a name is not available in the preferred language, the API uses the closest match.\n - The preferred language has a small influence on the set of results that the API chooses to return, and the order in which they are returned. The geocoder interprets abbreviations differently depending on language, such as the abbreviations for street types, or synonyms that may be valid in one language but not in another.\n-\n\n ### regionCode\n\n The region code as a\n [two-character CLDR code](https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html) value. There is no default value. Most CLDR codes are identical to ISO 3166-1 codes.\n\n When geocoding an address, *forward geodcoding* , this parameter can influence, but not\n fully restrict, results from the service to the specified region. When geocoding a location or a\n place, *reverse geocoding* or *place geocoding*, this parameter can be used to\n format the address. In all cases, this parameter can affect results based on applicable law."]]