Google商家信息Javascript API获取回复状态

时间:2016-08-04 17:04:46

标签: javascript google-places-api

我在使用Google Places API响应的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]);
    }
  }
}

但是要让Google在javascript中放置自动填充字段,请使用js请求网址:

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:此请求无效。

     

确定:响应包含有效结果。

     

OVER_QUERY_LIMIT:网页已超出其请求限额。

     

NOT_FOUND在Places数据库中找不到引用的位置。

     

REQUEST_DENIED:网页不允许使用PlacesService。

     

UNKNOWN_ERROR:由于服务器错误,无法处理PlacesService请求。如果您再试一次,请求可能会成功。

     

ZERO_RESULTS:未找到此请求的结果。

我真的希望在返回任何这些状态的情况下进行错误处理。这是使用Javascript API的限制吗?

1 个答案:

答案 0 :(得分:1)

这可能不算优雅,但是到目前为止,我还没有找到更好的答案,

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

        // my code here

}