我一直试图在这个GPS坐标数组中循环,这些坐标将引脚放在谷歌地图上。
这是我的代码:http://pastie.org/466369
问题出在第27-36行。
如果我将其更改为以下内容,它会在该确切位置放置1个引脚,但我希望它在数组中循环,以便我可以添加多个引脚:
//var markers = [];
for (var i = 0; i < 1; i++) {
var point = new GLatLng(39.729308,-121.854087);
marker = new GMarker(point);
map.addOverlay(marker);
markers[i] = marker;
}
任何人都知道为什么这个版本会破坏?
var markers = [
(39.729308,-121.854087),
(39.0,-121.0)
];
for (var i = 0; i < markers.length; i++) {
var point = new GLatLng(markers[i]);
marker = new GMarker(point);
map.addOverlay(marker);
markers[i] = marker;
}
答案 0 :(得分:2)
首先,以下代码是不正确的JavaScript。
var markers = [
(39.729308,-121.854087),
(39.0,-121.0)
];
你可能打算这样做:
var markers = [
[39.729308,-121.854087],
[39.0,-121.0]
];
其次,根据文档GLatLng
takes two parameters,不是数组。
请改为尝试:
var point = new GLatLng(markers[i][0], markers[i][1]);
修改强>
我已经更正了你的代码并将其托管在JS Bin上。在解决上述问题后,它似乎正在起作用: