我一直在为Nearby Search Requests使用Google Places API。我注意到了一件特别的事。这是一个样本输出的块。
geometry: Object
location: P
ob: 28.579
pb: 77.36831899999993
您是否注意到参数ob
和pb
。我注意到他们经常改变。
几个星期前,他们是jb
和kb
。然后他们变成了lb
和mb
。现在,当我试用它们时,它们是ob
和pb
。
虽然我已经找到了一种方法来使用这些值而不用键来引用它们,但我仍然很好奇这些键名是否具有任何意义,为什么它们会如此频繁地改变?
答案 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();
虽然值得分享。