簡體   English   中英

Google Places Javascript API 獲取響應狀態

[英]Google Places Javascript API get the response status

我已經看到了在使用 JSON 或 XML 版本的 Google Places API 響應時獲取 API 狀態的方法。 主要示例顯示嘗試顯示地圖:

new google.maps.places.PlacesService(map);
service = new google.maps.places.PlacesService(map);
service.nearbySearch(request, callback);

function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    for (var i = 0; i < results.length; i++) {
      var place = results[i];
      createMarker(results[i]);
    }
  }
}

但是要讓 Google 在 javascript 中放置自動完成字段,您可以使用 js 請求 url:

https://maps.googleapis.com/maps/api/js?key=MY_API_KEY;libraries=places&amp;callback=initAutocomplete

然后創建自動完成對象並調用 getPlace():

var autoComplete = new google.maps.places.Autocomplete(<html input element>);
autoComplete.getPlace();

但是,我沒有看到在返回的 javascript 對象中嵌入任何狀態選項:

autoComplete.getPlace();

我搜索了 Google Places Javascript API,並提到了狀態

PlacesServiceStatus 響應對象包含請求的狀態,並且可能包含調試信息以幫助您追蹤地點詳細信息請求失敗的原因。 可能的狀態值為:

錯誤:聯系 Google 服務器時出現問題。

INVALID_REQUEST:此請求無效。

OK:響應包含有效結果。

OVER_QUERY_LIMIT:網頁已超過其請求配額。

NOT_FOUND 在 Places 數據庫中找不到引用的位置。

REQUEST_DENIED:網頁不允許使用 PlacesService。

UNKNOWN_ERROR:由於服務器錯誤,無法處理 PlacesService 請求。 如果您再試一次,請求可能會成功。

ZERO_RESULTS:未找到此請求的結果。

我真的很想在返回任何這些狀態的情況下進行錯誤處理。 這是使用 Javascript API 的限制嗎?

這可能不太優雅,但到目前為止還沒有找到更好的答案,我目前正在使用它:

if (google.maps.places.PlacesServiceStatus.OK === "OK") {

        // my code here

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM