地理編碼常見問題

這份常見問題涵蓋 Geocoding API 特有的問題。 如有任何疑問,請參閱 Google 地圖平台常見問題 Google 地圖平台通用的一項工具其他參考資訊 地理編碼地址的最佳做法

疑難排解

疑難排解

我找到更多透過 Geocoder 傳回 ZERO_RESULTS 的查詢。為什麼會發生這種情況?

在 Geocoder 中,查詢不明確、不完整和格式錯誤的查詢,例如 拼錯或不存在的地址,容易產生 ZERO_RESULTS。 如果無法找到地址,則 ZERO_RESULTS 偏好給部分地址 結果 (例如,只傳回郊區而非地址)。

如果您的應用程式會處理使用者輸入的地址, Place Autocomplete 功能 可能會產生更好的結果 Place Autocomplete 可讓使用者根據內容 方便使用者選擇名稱相似的搜尋結果 建議在他們拼錯地址時調整查詢。

若您的應用程式處理模稜兩可或不完整的查詢或查詢 可能包含錯誤,建議您使用 Place Autocomplete 功能 而非轉送地理編碼器 可在 Geocoding API 中取得。詳情請參閱 地理編碼地址的最佳做法 Google Maps API 網誌文章中的地址地理編碼

我需要快速回應,而且地理編碼器對我的應用程式來說太慢。功能 我用來加快回覆速度?

建議採用會回應使用者輸入內容的應用程式,因此即使 易受延遲影響,請使用 Place Autocomplete Places API 的一項功能 (此外, JavaScriptAndroid,或 iOS),不必使用地址地理編碼。 Place Autocomplete 內容經過最佳化調整,能以互動方式使用,因此延遲時間極短。

Geocoding API 中的地址地理編碼經過最佳化,適合與 使用 完整且明確的地址,例如輸入的寄送地址 因此延遲時間會比 Place Autocomplete 長。轉送地理編碼器 涵蓋範圍更廣,搜尋結果品質也更好,但延遲時間也比較長。

如何減少 Directions API 和 Distance Matrix API?

不使用地址,請改用地點 ID: 指定路點、起點和目的地建議您從 Place Autocomplete Places API 或 Places Library Maps JavaScript API。另請參閱 placeIdOnly 選項,可用於降低 Place Autocomplete。

Directions API 或 Distance Matrix API 時 透過地址字串 (而非地點 ID 或 Latlng) 進行查詢,兩者使用相同的 做為 Geocoding API 的後端,將該地址轉換為 計算路線之前的地點 ID。Place Autocomplete 速度比地址更快 以及地理編碼。適用於使用 Directions API 或 距離矩陣 API 存在高延遲影響的情況,例如: 回應使用者輸入,建議使用 Place Autocomplete 來取得地點 ID 並將地點 ID 傳遞至 Directions API 或 Distance Matrix API。 這種做法可大幅縮短延遲時間。請參閱 以下範例:如何使用 Place Autocomplete 提供路線規劃

如何回報地理編碼器中的錯誤?

如果有任何 錯誤報告 功能要求,請透過我們的公開 Issue Tracker

Geocoder 無法針對我的用途產生正確的結果。有哪些協助?

請透過我們的公開 問題追蹤工具,請提供幾項特定查詢,以便我們進行調查 查看搜尋成效是否有任何錯誤或系統性問題 或是有任何必要變更時 最佳做法指南 為開發人員提供更好的成果

如何使用元件篩選功能,運用地理編碼器取得最佳結果?

在 Geocoder 中, 元件篩選只會強制執行 postal_codecountry 限制。以下範例說明元件的最佳使用方法 視需要的結果而定在請求網址範例中,請務必 將「YOUR_API_KEY」換成您實際的 API 金鑰。

  • 如要將郵遞區號限制在特定國家/地區內,請務必指定國家/地區限制 使用 ISO 3166-2 國家/地區代碼。 例如: components=country:CH|postal_code:8000 會傳回「8000 瑞士蘇黎世」。
    https://maps.googleapis.com/maps/api/geocode/json?components=country:CH%7Cpostal_code:8000&key=YOUR_API_KEY
    
  • 如要將查詢限制在特定國家/地區,請務必使用 採 ISO 3166-2 國家/地區代碼。國家/地區 此外,名稱和其他縮寫不一定會產生與國家/地區代碼相同的結果。

    範例:

    • components=country:FRA|locality:gallus 的地理編碼會傳回 德國法蘭克福高都市的鄉間單位這是因為 不支援法國的國家/地區代碼 (FRA),因此可在任何國家/地區顯示 所以「法蘭克福」的搜尋結果絕對比法國產品更適合
      https://maps.googleapis.com/maps/api/geocode/json?components=country:FRA%7Clocality:gallus&key=YOUR_API_KEY
      
  • 對於不明確的查詢,Geocoding API 不一定能傳回多個結果。這些 Place Autocomplete 能夠提供更準確的回應。

    範例:

    • components=country:US|locality:madrid 的地理編碼會傳回 「馬德里,NM 87010, USA」但不在美國其他城市都命名為「馬德里」
      https://maps.googleapis.com/maps/api/geocode/json?components=country:US%7Clocality:madrid&key=YOUR_API_KEY
      
    • 針對以下項目使用 Place Autocomplete input=madrid&components=country:us&types=(regions),也指定 使用 locationradius 的可視區域 自訂調整地點結果,且會產生包含數個城市的回應 美國的「馬德里」
      https://maps.googleapis.com/maps/api/place/autocomplete/json?location=37.386052,-122.083851&radius=10000&input=madrid&components=country:us&types=(regions)&key=YOUR_API_KEY