簡體   English   中英

使用谷歌地圖 API 渲染到地圖上時無法獲得替代路線

[英]Unable to get Alternatives Routes while using google maps API to render onto the map

我正在為我的大學開發一個項目,但在嘗試獲取替代路線時遇到了困難。 drawMainRoute 函數可以毫無問題地繪制來自給定源和目的地的路線,但我希望路線服務也為我提供備用路線。

根據谷歌地圖 API,它說,如果我將 provideRouteAlternatives 設置為 true,那么這應該允許我獲取從源到目的地的所有路線。

這是相同 [ https://developers.google.com/maps/documentation/javascript/reference/3.exp/directions#DirectionsRequest.provideRouteAlternatives]的鏈接

我還嘗試在 JS 文件中將其更改為“alternatives: true”,但是當我這樣做時,它從未繪制過路線。 並在控制台上發現異常。

這是我的 JS 代碼以供參考。

 function drawHeatMap() { heatmap = new google.maps.visualization.HeatmapLayer({ data: getPoints(), map: map, radius: 15 }); } function drawMainRoute() { //disableMap(); drawHeatMap(); var dirRenderer = new google.maps.DirectionsRenderer({ suppressMarkers: true }); var request = { origin: setStart(), destination: setEnd(), provideRouteAlternatives: true, travelMode: google.maps.TravelMode.DRIVING }; dirService.route(request, function (result, status) { if (status == google.maps.DirectionsStatus.OK) { dirRenderer.setDirections(result); } }); dirRenderer.setMap(map); }

找到了一種方法來做到這一點。 我們必須遍歷找到的路線並使用 DirectionsRenderer 單獨設置方向。

這是相同的代碼。

 function drawMainRoute() { //disableMap(); drawHeatMap(); var dirRenderer = new google.maps.DirectionsRenderer({ suppressMarkers: true }); dirService.route({ origin: setStart(), //yaha start kuch bhi daal sakte, direct string. lat lng ya google.map.place object destination: setEnd(), //yaha stop provideRouteAlternatives: true, travelMode: 'DRIVING' }, function (response, status) { if (status == google.maps.DirectionsStatus.OK) { for (var i = 0; i < response.routes.length; i++) { var dr = new google.maps.DirectionsRenderer(); dr.setDirections(response); // Tell the DirectionsRenderer which route to display dr.setRouteIndex(i); dr.setMap(map); } } }); dirRenderer.setMap(map); }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM