1

我一直在使用 Google Places API for Nearby Search Requests。我注意到一件特别的事情。这是一个示例输出中的一个块。

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

你注意到参数obpb. 我注意到它们经常变化。几周前他们是jbkb。然后他们变成了lbmb。现在,当我尝试它们时,它们是oband pb

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

4

3 回答 3

2

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

于 2013-08-29T09:34:48.947 回答
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
  });
}
于 2013-08-29T10:38:34.837 回答
1

在尝试从位置自动建议下拉列表中解析 JSON 结果时,我遇到了类似的问题。

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

就像是:

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

虽然值得分享。

于 2013-11-15T10:38:10.053 回答