[英]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&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.