我收到以下错误,似乎无法弄清楚为什么嵌套在某些 json 中的 google.maps.latLng 对象会导致错误,特别是:
错误:属性值无效:(-19.240542583932452、148.15044705312494)
有谁知道为什么这段代码会导致错误?当我 console.log json.markers[n].latLng firebug 声明它是一个 google.maps.latLng 对象时,尽管当它作为错误的一部分包含时,它清楚地表示为 .toString() 输出(不确定是否这仅仅是因为错误消息是否为字符串)。
我在我一直在研究的 jQuery Google Maps V3 API 插件上使用以下两种方法。这是一些片段,我没有包含完整的代码,因为它只会使帖子混乱。为了清楚起见,我硬编码了一些 json,在我完成的插件中,它将通过 ajax 调用检索。
在我的插件的 init 方法中:
// Request list of markers and return the json object
var markers = methods.requestMarkers();
// Place the markers
methods.placeMarkers(markers);
作为单独的方法:
requestMarkers : function () {
return {"markers":[{"id":["7"],"latLng":[new google.maps.LatLng(-19.240542583932452, 148.15044705312494)]},{"id":["8"],"latLng":[new google.maps.LatLng(-28.0497654, 153.43591700000002)]}]}
},
placeMarkers : function ( json ) {
if (json.markers.length > 0) {
var markers = new Array();
for(var n=0; n < json.markers.length; n++){
markers[n] = new google.maps.Marker({
map : methods.map,
position : json.markers[n].latLng
});
}
}
}
完整的代码可以在 Github 上找到,并且仍然是 wip。