2016-11-29 284 views
-1

我使用谷歌方向获取两点之间的主要路线,它是替代方案(3),因此每个替代方案都包含步骤以及所有步骤的概观折线结果所以我想在地图中绘制这3条多段线来查看主要路线和替代方案,你知道该怎么做吗?Google Maps API:使用多段线的点绘制路线

这是概述折线

"overview_polyline": { 
    "points": "uiyqBfb~zQgGwAgCtM}[email protected]_BzSiJxZcBfHuS~NqK`[email protected]{fAoDcW~BmEbBeqAmIaEoBgB{KB}J}[email protected]}EhG{GjAgVcDsN{[email protected]|FaAvOiE|Va`@[email protected]}Jh][email protected]@fGdDxE|O~E~ZzH`ThQtdA|jA|[email protected][iEd`@[email protected]@[email protected]~VnOn][email protected]@|[email protected]_CtBqI?eDhAeGeDsIRyK`IqIfIkPtEuUbNcLpOuPpZ]rHpHtQpLnOlEvIEpJfId[[email protected]@[email protected]@yNnGk`@rVsLfLm|@v|@_VxKgZ`XmR~VeH~^[email protected][email protected]}[email protected]`YqBt[[email protected]|[email protected]@pG{@[email protected]}PhBUhIcD`[email protected]^|Ck}@tFcMjDiP~GeN`RcF]}[email protected]{BvAoGdCsKpFmOgEuB\\eEjKjB~GwGvBiDsDgEyGwD`[email protected]{@rC_CJuHoIiFEgBwC{[email protected]@[email protected]@mCxD{DkAwMrDcJrF}IhSsDbB{D{AyY_CoK~AuP`@[email protected]}[email protected][email protected]@[email protected]}CmHG{KiCyO}P}IgNkNaUoKkCkDYiB{[email protected]}PY{KaEeIBqTfEiEeEgDkLyUyIkT}BoP{DyGiGwHiW{Is^kOiScLmTeIqGsPcTqD_FgMaDwNqMwOuVqHy\\[email protected]_CiBoSpDyHBkH}Kc[kTq[mPyYiOyVyR_Sc\\{ZsRwfA{][email protected]~AqAhEwNgDiNmFgL~H}[email protected]{DRsFqG_FoA}[email protected]}[email protected]@w[cCwH~AeGeFeLcUD_LkAiDwUaJuMXaQuGyBgB|LkLhL{[email protected]}[email protected]{[email protected]]{[email protected]{BxCwC[[email protected]}[email protected]@eIrF{@oG}[email protected]{B{[email protected]@mD\\eMkHkFaJqFkEiPN}HrBvKdEzExA|FJJ" 
    }, 
+0

相关的问题:[谷歌地图静态地图折线穿过湖泊,河流,山脉](HTTP:/ /stackoverflow.com/questions/32255380/google-maps-static-map-polyline-passing-throug h-lakes-river-mountains) – geocodezip

回答

0

使用geometry librarydecodePath功能的编码点进行解码用作Polyline的路径。

var polyline = new google.maps.Polyline({ 
    path: google.maps.geometry.encoding.decodePath(json.overview_polyline.points), 
    map: map 
    }); 

proof of concept fiddle

代码片断:

var json = { 
 
    "overview_polyline": { 
 
    "points": "uiyqBfb~zQgGwAgCtM}[email protected]_BzSiJxZcBfHuS~NqK`[email protected]{fAoDcW~BmEbBeqAmIaEoBgB{KB}J}[email protected]}EhG{GjAgVcDsN{[email protected]|FaAvOiE|Va`@[email protected]}Jh][email protected]@fGdDxE|O~E~ZzH`ThQtdA|jA|[email protected][iEd`@[email protected]@[email protected]~VnOn][email protected]@|[email protected]_CtBqI?eDhAeGeDsIRyK`IqIfIkPtEuUbNcLpOuPpZ]rHpHtQpLnOlEvIEpJfId[[email protected]@[email protected]@yNnGk`@rVsLfLm|@v|@_VxKgZ`XmR~VeH~^[email protected][email protected]}[email protected]`YqBt[[email protected]|[email protected]@pG{@[email protected]}PhBUhIcD`[email protected]^|Ck}@tFcMjDiP~GeN`RcF]}[email protected]{BvAoGdCsKpFmOgEuB\\eEjKjB~GwGvBiDsDgEyGwD`[email protected]{@rC_CJuHoIiFEgBwC{[email protected]@[email protected]@mCxD{DkAwMrDcJrF}IhSsDbB{D{AyY_CoK~AuP`@[email protected]}[email protected][email protected]@[email protected]}CmHG{KiCyO}P}IgNkNaUoKkCkDYiB{[email protected]}PY{KaEeIBqTfEiEeEgDkLyUyIkT}BoP{DyGiGwHiW{Is^kOiScLmTeIqGsPcTqD_FgMaDwNqMwOuVqHy\\[email protected]_CiBoSpDyHBkH}Kc[kTq[mPyYiOyVyR_Sc\\{ZsRwfA{][email protected]~AqAhEwNgDiNmFgL~H}[email protected]{DRsFqG_FoA}[email protected]}[email protected]@w[cCwH~AeGeFeLcUD_LkAiDwUaJuMXaQuGyBgB|LkLhL{[email protected]}[email protected]{[email protected]]{[email protected]{BxCwC[[email protected]}[email protected]@eIrF{@oG}[email protected]{B{[email protected]@mD\\eMkHkFaJqFkEiPN}HrBvKdEzExA|FJJ" 
 
    } 
 
}; 
 

 
function initialize() { 
 
    var map = new google.maps.Map(
 
    document.getElementById("map_canvas"), { 
 
     center: new google.maps.LatLng(37.4419, -122.1419), 
 
     zoom: 13, 
 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
 
    }); 
 
    var polyline = new google.maps.Polyline({ 
 
    path: google.maps.geometry.encoding.decodePath(json.overview_polyline.points), 
 
    map: map 
 
    }); 
 
    var bounds = new google.maps.LatLngBounds(); 
 
    for (var i = 0; i < polyline.getPath().getLength(); i++) { 
 
    bounds.extend(polyline.getPath().getAt(i)); 
 
    } 
 
    map.fitBounds(bounds); 
 
} 
 
google.maps.event.addDomListener(window, "load", initialize);
html, 
 
body, 
 
#map_canvas { 
 
    height: 100%; 
 
    width: 100%; 
 
    margin: 0px; 
 
    padding: 0px 
 
}
<script src="https://maps.googleapis.com/maps/api/js?libraries=geometry"></script> 
 
<div id="map_canvas"></div>

+0

谢谢,它完美的作品! – SoldierCorp

0

应声明你的路径,然后宣布这样的折线之一:

var flightPlanCoordinates = [ 
    {lat: 37.772, lng: -122.214}, 
    {lat: 21.291, lng: -157.821}, 
    {lat: -18.142, lng: 178.431}, 
    {lat: -27.467, lng: 153.027} 
    ]; 
    var flightPath = new google.maps.Polyline({ 
    path: flightPlanCoordinates, 
    geodesic: true, 
    strokeColor: '#FF0000', 
    strokeOpacity: 1.0, 
    strokeWeight: 2 
    }); 
相关问题