2009-05-03 50 views
0

我被困在试图通过这个数组的GPS坐标,把放在谷歌地图上的针脚。如何通过Google地图坐标循环?

这里是我的代码: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; 
} 

回答

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斌。这似乎修复上述问题后工作:除了

http://jsbin.com/afojo

+0

使用的GLatLng的,你知道的方式来使用地理编码?只是好奇... 就像我做的那样: var markers = [[624 Nord Ave,Chico CA]]; geocoder = new GClientGeocoder(); var point = new geocoder.getLocations(markers); 或类似的东西? – tester 2009-05-03 02:26:04