2013-10-25 75 views
0

我無法在谷歌地圖上繪製多段線。我正在動態獲取價值。如何在谷歌地圖上動態繪製多義線

var flightPlanCoordinates=[]; 
n = "new google.maps.LatLng("; 
q = ")"; 
var flightPlanCoordinates = new Array(); 
for(i=0;i<len;i++) 
{ 

    o =n+r[i].split(',')[0]+","+r[i].split(',')[1]+q; 

    flightPlanCoordinates.push(o); 

} 


var flightPath = new google.maps.Polyline({ 
path: flightPlanCoordinates, 
geodesic: true, 
strokeColor: '#FF0000', 
strokeOpacity: 1.0, 
strokeWeight: 2 
}); 

flightPath.setMap(map); 
google.maps.event.addDomListener(window, 'load', initialize); 

我有一個列表這樣R = [ '13.034056,80.250489 | 13.036324,80.248538 | 13.026394,80.237562']。 我有一個問題上面的部分。但我可以靜態傳遞值,並且我得到了預期的折線。提前感謝。

+0

你正在創建一個字符串數組( 「新google.maps.LatLng(COOR1,coord2)」),而不是google.maps.LatLng物件的數組。 – geocodezip

回答

4

這適用於我。

var r=['13.034056,80.250489|13.036324,80.248538|13.026394,80.237562']; 
var coordinates = r[0].split("|"); 
var flightPlanCoordinates = new Array(); 
for(i=0;i<coordinates.length;i++) 
{ 
    var point =new google.maps.LatLng(coordinates[i].split(',')[0],coordinates[i].split(',')[1]); 
    flightPlanCoordinates.push(point); 
} 


var flightPath = new google.maps.Polyline({ 
path: flightPlanCoordinates, 
geodesic: true, 
strokeColor: '#FF0000', 
strokeOpacity: 1.0, 
strokeWeight: 2 
}); 

flightPath.setMap(map); 
} 
google.maps.event.addDomListener(window, 'load', initialize); 

working example

+0

謝謝...現在它的工作完美... –