在使用Google响应的JSON或XML版本时,我看到了获取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]);
}
}
}但是,要在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();我已经搜索过,并且提到了状态
PlacesServiceStatus响应对象包含请求的状态,并且可能包含调试信息,以帮助您跟踪位置详细信息请求失败的原因。可能的状态值是: 错误:有一个问题,联系谷歌服务器。 INVALID_REQUEST:此请求无效。 OK:响应包含一个有效的结果。 OVER_QUERY_LIMIT:网页已经超过了它的请求配额。 NOT_FOUND在Place数据库中找不到引用的位置。 REQUEST_DENIED:网页不允许使用PlacesService。 UNKNOWN_ERROR:由于服务器错误,无法处理PlacesService请求。如果您再次尝试,请求可能会成功。 ZERO_RESULTS:没有找到这个请求的结果。
我非常希望在这些状态被返回的情况下进行错误处理。这是对使用Javascript的限制吗?
发布于 2020-01-27 11:59:34
这可能不太优雅,但到目前为止还没有找到更好的答案,我目前正在使用以下方法:
if (google.maps.places.PlacesServiceStatus.OK === "OK") {
// my code here
}https://stackoverflow.com/questions/38773437
复制相似问题