繁体   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