使用Google Maps JavaScript API V3 在同一網頁上顯示兩個帶 ...

文章推薦指數: 80 %
投票人數:10人

OK) { directionsDisplay.setDirections(response); } }); directionsService.route(busRequest, function(response, status) { if (status == google.maps. 使用GoogleMapsJavaScriptAPIV3在同一網頁上顯示兩個帶有路線的地圖(DisplaytwomapswithdirectionsonthesamewebpageusingGoogleMapsJavaScriptAPIV3)問題討論使用GoogleMapsJavaScriptAPIV3在同一網頁上顯示兩個帶有路線的地圖(DisplaytwomapswithdirectionsonthesamewebpageusingGoogleMapsJavaScriptAPIV3)問題描述使用GoogleMapsJavaScriptAPIV3在同一網頁上顯示兩個帶有路線的地圖(DisplaytwomapswithdirectionsonthesamewebpageusingGoogleMapsJavaScriptAPIV3)我正在嘗試使用GoogleMapsJavaScriptAPI在同一網頁上顯示兩張帶有路線的地圖,但只有一張地圖會加載顯示的路線。

vardirectionsService=newgoogle.maps.DirectionsService(); vardirectionsDisplay=newgoogle.maps.DirectionsRenderer(); varmap=newgoogle.maps.Map(document.getElementById('car_map'),{ zoom:7, center:{lat:,lng:}, mapTypeId:google.maps.MapTypeId.ROADMAP }); varmap2=newgoogle.maps.Map(document.getElementById('bus_map'),{ zoom:7, center:{lat:,lng:}, mapTypeId:google.maps.MapTypeId.ROADMAP }); directionsDisplay.setMap(map); directionsDisplay.setMap(map2); varcarRequest={ origin:{lat:,lng:}, destination:{lat:,lng:}, travelMode:google.maps.DirectionsTravelMode.DRIVING }; varbusRequest={ origin:{lat:,lng:}, destination:{lat:,lng:}, travelMode:google.maps.DirectionsTravelMode.TRANSIT }; directionsService.route(carRequest,function(response,status){ if(status==google.maps.DirectionsStatus.OK){ directionsDisplay.setDirections(response); } }); directionsService.route(busRequest,function(response,status){ if(status==google.maps.DirectionsStatus.OK){ directionsDisplay.setDirections(response); } }); 我注意到如果我更改以下行的順序:directionsDisplay.setMap(map2); directionsDisplay.setMap(map); 現在地圖將顯示方向,map2將以指定坐標為中心但沒有方向。

我在網上讀到,您必須為每張地圖使用唯一的DirectionsRenderer,但我嘗試創建其他變量並在不同的地圖上調用它們,但這也不起作用。

事實上,當我將變量名從varDirectionDisplay更改為varDirectionDisplay2時,它根本不起作用。

下面是添加了這些變量的代碼: vardirectionsService=newgoogle.maps.DirectionsService(); vardirectionsDisplay=newgoogle.maps.DirectionsRenderer(); vardirectionsService2=newgoogle.maps.DirectionsService(); vardirectionsDisplay2=newgoogle.maps.DirectionsRenderer(); varmap=newgoogle.maps.Map(document.getElementById('car_map'),{ zoom:7, center:{lat:,lng:}, mapTypeId:google.maps.MapTypeId.ROADMAP }); varmap2=newgoogle.maps.Map(document.getElementById('bus_map'),{ zoom:7, center:{lat:,lng:}, mapTypeId:google.maps.MapTypeId.ROADMAP }); directionsDisplay.setMap(map); directionsDisplay2.setMap(map2); varcarRequest={ origin:{lat:,lng:}, destination:{lat:,lng:}, travelMode:google.maps.DirectionsTravelMode.DRIVING }; varbusRequest={ origin:{lat:,lng:}, destination:{lat:,lng:}, travelMode:google.maps.DirectionsTravelMode.TRANSIT }; directionsService.route(carRequest,function(response,status){ if(status==google.maps.DirectionsStatus.OK){ directionsDisplay.setDirections(response); } }); directionsService2.route(busRequest,function(response,status){ if(status==google.maps.DirectionsStatus.OK){ directionsDisplay.setDirections(response); } }); 我將不勝感激任何建議。

謝謝!參考解法方法1:Twoissues:Youonlyhaveoneorigin/destinationarray,sobothmapslookexactlythesame.Solvethisbymakingthemdifferent.Ifyougetanerrorinthedirectionsrequestitsilentlyfails.Solvethisbyaddinganotificationinthecaseofanerror.proofofconceptfiddlecodesnippet:varorigin=[40.7127837,‑74.0059413]; vardestination=[40.735657,‑74.1723667]; vardirectionsService=newgoogle.maps.DirectionsService(); vardirectionsDisplay=newgoogle.maps.DirectionsRenderer(); vardirectionsService2=newgoogle.maps.DirectionsService(); vardirectionsDisplay2=newgoogle.maps.DirectionsRenderer(); varmap=newgoogle.maps.Map(document.getElementById('car_map'),{ zoom:7, center:{ lat:origin[0][0], lng:origin[0][1] }, mapTypeId:google.maps.MapTypeId.ROADMAP }); varmap2=newgoogle.maps.Map(document.getElementById('bus_map'),{ zoom:7, center:{ lat:origin[1][0], lng:origin[1][1] }, mapTypeId:google.maps.MapTypeId.ROADMAP }); directionsDisplay.setMap(map); directionsDisplay2.setMap(map2); varcarRequest={ origin:{ lat:origin[0], lng:origin[1] }, destination:{ lat:destination[0], lng:destination[1] }, travelMode:google.maps.DirectionsTravelMode.DRIVING }; varbusRequest={ origin:{ lat:origin[0], lng:origin[1] }, destination:{ lat:destination[0], lng:destination[1] }, travelMode:google.maps.DirectionsTravelMode.TRANSIT }; directionsService.route(carRequest,function(response,status){ if(status==google.maps.DirectionsStatus.OK){ directionsDisplay.setDirections(response); }else{ alert("cardirectionsfailed:"+status) } }); directionsService2.route(busRequest,function(response,status){ if(status==google.maps.DirectionsStatus.OK){ directionsDisplay2.setDirections(response); }else{ alert("busdirectionsfailed:"+status) } });html, body{ height:100%; width:100%; margin:0px; padding:0px } #car_map, #bus_map{ height:50%; width:100%; } (byluevans248、geocodezip)參考文件DisplaytwomapswithdirectionsonthesamewebpageusingGoogleMapsJavaScriptAPIV3(CCBY‑SA2.5/3.0/4.0)#javascript#google-maps-api-3#google-maps相關問題如何檢測網頁中使用了哪種定義的字體?(Howtodetectwhichoneofthedefinedfontwasusedinawebpage?)ASP.Net自定義客戶端驗證(ASP.NetCustomClient-SideValidation)三引號?如何在ASP.NET中定界數據綁定Javascript字符串參數?(TripleQuotes?HowdoIdelimitadataboundJavascriptstringparameterinASP.NET?)如何使瀏覽器查看CSS和Javascript更改?(HowcanImakethebrowserseeCSSandJavascriptchanges?)如何在JavaScript中使用CSS屬性設置HTML元素的背景色(HowtosetbackgroundcolorofHTMLelementusingcsspropertiesinJavaScript)捕獲文本框中的TAB鍵(CapturingTABkeyintextbox)JavaScript中的MAC地址(MACaddressesinJavaScript)InternetExplorer中的JavaScript故障排除工具(JavaScriptTroubleshootingToolsinInternetExplorer)從JavaScript調用ASP.NET函數?(CallASP.NETfunctionfromJavaScript?)如何在Firefox擴展程序中將HTML字符串轉換為DOM對象?(HowcanIturnastringofHTMLintoaDOMobjectinaFirefoxextension?)Firefox3小書籤中的HttpAuth(HttpAuthinaFirefox3bookmarklet)如何在下拉“選項”之間向下或向上鍵盤輸入?(Howtokeyboarddownorupbetweendropdown"options"?)留言討論提交送出編輯提交送出編輯提交送出回覆提交送出歡迎回家×使用Github帳號登入使用Google帳號登入取消免費加入CoderBridge×使用Github帳號註冊使用Google帳號註冊取消



請為這篇文章評分?