Geocoding API v4 提供兩大核心功能:目的地搜尋 (可取得豐富的超地方屬性),以及基本地理編碼 (座標與地址轉換)。不確定要使用哪種方法嗎?請參閱「選擇地理編碼方法」。
- 搜尋目的地 (
SearchDestinations):擷取目的地的詳細抵達資訊,包括建築物入口、可規劃路線的導航點、建築物/場地輪廓、子目的地和附近地標。 - Geocoding (
GeocodeAddress):將街道地址轉換為經緯度座標,以便放置基本標記或將地圖置中。 - 反向地理編碼 (
GeocodeLocation):將地理座標轉換為人類可讀的街道地址。 - 地點地理編碼 (
GeocodePlace):找出已知地點 ID 的格式化地址和座標。
要求和回應範例
您可以透過 HTTP 介面存取 Geocoding API。以下是搜尋目的地、正向地理編碼和反向地理編碼的快速入門範例。
搜尋目的地要求和回應 (超地方抵達資料)
以下範例會將「1600 Amphitheatre Parkway, Mountain View, CA」的 HTTP POST 要求傳送至 SearchDestinations。請注意,SearchDestinations 需要 X-Goog-FieldMask 標頭,指定要傳回的欄位:
curl -X POST -d '{ "addressQuery": { "addressQuery": "1600 Amphitheatre Parkway, Mountain View, CA" } }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-FieldMask: destinations.primary.displayName,destinations.primary.formattedAddress,destinations.primary.location,destinations.primary.displayPolygon,destinations.entrances,destinations.navigationPoints,destinations.landmarks' \ -H "X-Goog-Api-Key: YOUR_API_KEY" \ "https://geocode.googleapis.com/v4/geocode/destinations"
以下是 SearchDestinations 回應範例,顯示建築物足跡多邊形、偏好入口、可規劃路線的導航點,以及附近地標:
{ "destinations": [ { "primary": { "displayName": { "text": "Googleplex", "languageCode": "en" }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "location": { "latitude": 37.4220656, "longitude": -122.0840897 }, "displayPolygon": { "type": "Polygon", "coordinates": [ [ [-122.084958, 37.422145], [-122.084112, 37.422610], [-122.083510, 37.421980], [-122.084958, 37.422145] ] ] } }, "entrances": [ { "location": { "latitude": 37.422189, "longitude": -122.084215 }, "tags": ["PREFERRED"] } ], "navigationPoints": [ { "navigationPointToken": "Eg...", "displayName": { "text": "Amphitheatre Pkwy Dropoff", "languageCode": "en" }, "location": { "latitude": 37.421912, "longitude": -122.084301 }, "travelModes": ["DRIVE"], "usages": ["DROPOFF", "PICKUP"] } ], "landmarks": [ { "place": { "displayName": { "text": "Charleston Park", "languageCode": "en" } }, "relationalDescription": { "text": "Adjacent to Charleston Park", "languageCode": "en" }, "straightLineDistanceMeters": 85.4 } ] } ] }
地理編碼要求和回應 (經緯度查詢)
以下範例要求「1600 Amphitheatre Parkway, Mountain View, CA」的經緯度,並指定輸出內容必須採用 JSON 格式。
curl -H "X-Goog-Api-Key: YOUR_API_KEY" \ "https://geocode.googleapis.com/v4/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"
如要測試,請在網路瀏覽器中輸入網址 (請務必將 YOUR_API_KEY 替換為實際的 API 金鑰)。回應會包含地址的經緯度。
請參閱開發人員指南,進一步瞭解如何 建構地理編碼要求網址、可用參數和 解讀回應。
以下是 JSON 格式的地理編碼回應範例:
{ "results": [ { "place": "//places.googleapis.com/places/ChIJ2Z2idB66j4ARI43TG-9RoCQ", "placeId": "ChIJ2Z2idB66j4ARI43TG-9RoCQ", "location": { "latitude": 37.4438238, "longitude": -122.0869895 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.4424748197085, "longitude": -122.0883384802915 }, "high": { "latitude": 37.445172780291493, "longitude": -122.08564051970852 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94043-1351", "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" ] }, { "longText": "1351", "shortText": "1351", "types": [ "postal_code_suffix" ] } ], "types": [ "premise", "street_address" ] } ] }
反向地理編碼要求和回應 (地址查詢)
以下範例要求美國紐約州布魯克林區指定經緯度對應的地址。指定輸出內容必須採用 JSON 格式。
https://geocode.googleapis.com/v4/geocode/location/37.4225508,-122.0846338?key=YOUR_API_KEY如要測試,請在網路瀏覽器中輸入網址 (請務必將「YOUR_API_KEY」替換成實際的 API 金鑰)。回應會包含經緯度位置的人類可讀地址。
請參閱開發人員指南,進一步瞭解如何 建構反向地理編碼要求網址、可用參數和 解讀回應。
以下是 JSON 格式的反向地理編碼回應範例:
{ "results": [ { "place": "//places.googleapis.com/places/ChIJHRNUiQK6j4ARJ__Hrbt6qsE", "placeId": "ChIJHRNUiQK6j4ARJ__Hrbt6qsE", "location": { "latitude": 37.4225657, "longitude": -122.08465439999999 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.421214719708509, "longitude": -122.08603273029148 }, "high": { "latitude": 37.423912680291508, "longitude": -122.0833347697085 } }, "bounds": { "low": { "latitude": 37.4225178, "longitude": -122.08484599999998 }, "high": { "latitude": 37.422609600000008, "longitude": -122.0845215 } }, "formattedAddress": "Google Building 40, 1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "Google Building 40", "1600 Amphitheatre Pkwy" ] }, "addressComponents": [ { "longText": "Google Building 40", "shortText": "Google Building 40", "types": [ "premise" ], "languageCode": "en" }, { "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", "subpremise" ] }, ... Additional results truncated in this example[] ... }
驗證、配額、定價和政策
驗證
如要使用 Geocoding API,您必須先啟用 API 並取得適當的驗證憑證。詳情請參閱「開始使用 Google 地圖平台」一文。
配額和價格資訊
請參閱用量與計費頁面,進一步瞭解 Geocoding API 的配額和定價。
政策
使用 Geocoding API 時,必須遵守 API 政策。