Google Places附近的搜索请求会间歇性地返回不同的值

时间:2013-08-29 09:31:18

标签: javascript google-maps google-maps-api-3

我一直在为Nearby Search Requests使用Google Places API。我注意到了一件特别的事。这是一个样本输出的块。

geometry: Object
location: P
ob: 28.579
pb: 77.36831899999993

您是否注意到参数obpb。我注意到他们经常改变。 几个星期前,他们是jbkb。然后他们变成了lbmb。现在,当我试用它们时,它们是obpb

虽然我已经找到了一种方法来使用这些值而不用键来引用它们,但我仍然很好奇这些键名是否具有任何意义,为什么它们会如此频繁地改变?

3 个答案:

答案 0 :(得分:2)

它们是缩小过程的结果(它采用变量,函数和属性名称并一致地替换它们以减小脚本的大小)。每当缩小过程中的某些变化(缩小器代码更改,javascript代码更改等)时,某个属性的替换名称可能与以前不同。

答案 1 :(得分:2)

作为Google Maps API的一般规则,访问数据(例如坐标)不是直接访问JavaScript对象,而是查询响应。 这是Google附近的搜索示例: https://developers.google.com/maps/documentation/javascript/examples/place-search 您应该检查在此代码段中如何访问它:

function createMarker(place) {
  var placeLoc = place.geometry.location;
  var marker = new google.maps.Marker({
    map: map,
    position: place.geometry.location
  });
}

答案 2 :(得分:1)

尝试解析来自地方autosuggest下拉列表的JSON结果时,我遇到了类似的问题。

要避免此问题,可以在location对象上调用lat和lng方法,而不是尝试按名称使用字段。

类似的东西:

var longitude = place.geometry.location.lng();
var latitude = place.geometry.location.lat();

虽然值得分享。