2016-11-29 6 views
-1

私は2つのポイントの間のメインルートを取得するためにgoogleの方向を使用しています。その代わりに(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

関連質問:[Googleは湖、川、山を通過する静的なマップのポリラインをマップ](のhttp:/ /stackoverflow.com/questions/32255380/google-maps-static-map-polyline-passing-throug h-lakes-river-mountains) – geocodezip

答えて

0

利用geometry librarydecodePath機能をポリラインのパスとして使用する。

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 
    }); 
関連する問題