我有一组编码折线,是从方向服务的结果中检索到的,我已将它们存储在一个 php 数组中。
使用下面的代码,我可以添加一条折线。如何修改它以同时添加多条折线?
var code = '_mjsB{qp{LvAe@xImCjGgBf@St@Qf@Un@e@Hm@Pc@VW^MhAc@`B{@lAw@zCyA`@KvEyB`Ao@PQNK';
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);
最佳答案
您是希望所有多段线都具有相同的样式,还是需要为不同的多段线设置不同的样式?让我们假设它们现在是一样的;让我知道它们是否需要不同,我们可以调整代码。
因此,首先,编写 PHP 代码以生成编码路径的 JavaScript 数组。我会让你解决这部分。
然后,用 JavaScript 编写一个简单的循环来解码每条路径并将其添加到 map 中:
// 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 );
}
关于javascript - 使用 api v3 绘制多条编码多段线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15601524/