2013-03-24 61 views
2

我有一組編碼多段線,從方向服務的結果中檢索,我已經將它們存儲在一個php數組中。使用API​​ v3繪製多個編碼多段線

通過下面的代碼,我可以添加一條折線。如何修改它以同時添加多條多段線?

var code = '_mjsB{qp{[email protected]@[email protected]@[email protected]@[email protected]@VW^[email protected]`B{@[email protected]`@KvEyB`[email protected]'; 

var paths = google.maps.geometry.encoding.decodePath(code); 

var flightPath = new google.maps.Polyline({ 
    path:pathss, 
    strokeColor: "#0000FF", 
    strokeOpacity: 1.0, 
    strokeWeight: 2 
}); flightPath.setMap(map); 
+0

此[POST](http://stackoverflow.com/questions/14379586/drawing-multiple- polyline-with-different-color-using-google-map-api-v3-asp-net)可能會幫助您 – 2013-03-24 17:31:50

回答

1

你希望所有的折線具有相同的造型,還是需要針對不同的折線不同的風格?讓我們假設他們現在是一樣的;讓我知道他們是否需要改變,我們可以調整代碼。

首先,編寫PHP代碼以生成編碼路徑的JavaScript數組。我會讓你理清這個部分。

然後,使用JavaScript編寫一個簡單的循環來解碼每個路徑,並將其添加到地圖:

// These are the encoded paths generated from PHP 
var encodedFlightPaths = [ 
    '...first-path...', 
    '...second-path...', 
    '...third-path...' 
]; 

addEncodedPaths(encodedFlightPaths); 

function addEncodedPaths(encodedPaths) { 
    for(var i = 0, n = encodedPaths.length; i < n; i++) { 
     addEncodedPath(encodedPaths[i]); 
    } 
} 

function addEncodedPath(encodedPath) { 
    var path = google.maps.geometry.encoding.decodePath(encodedPath); 

    var polyline = new google.maps.Polyline({ 
     path: path, 
     strokeColor: "#0000FF", 
     strokeOpacity: 1.0, 
     strokeWeight: 2 
    }); 
    polyline.setMap(map); 
} 
+0

感謝您的回覆。有效 :) – 2013-03-31 14:11:47

相關問題