簡體   English   中英

如何使用谷歌地圖鎖定可拖動的路線?

[英]how to lock a draggable route with google Maps?

我的 webapp 上有 google map,使用 JavaScript API V3。 我讓我的用戶能夠使用以下功能創建一些路線:

  1. 用戶可以創建路線。
  2. 用戶可以通過點擊 map 添加航點。
  3. 使用可以修改任何航點和標記起點/目的地拖動map上的標記。
  4. 用戶可以保存路線。

問題:

如果用戶在不使用任何航路點的情況下單擊並拖動路線的某些部分,路線會改變但我無法保存。 因為我保存了標記的起點/終點和航路點。

有什么辦法可以鎖定路線?

  1. Here you can see an example in API 文檔

下面我留一張圖,大家可以看到用戶是如何拖動黑白圓圈改變路線的(這是我嘗試鎖定的)。

圖片

您需要利用direction_changed事件監聽器和puckup路由點,查看需要哪些和不需要哪些。

另一種解決方案是使用不可拖動的路線代碼,並且僅允許用戶單擊並創建一個點。 當您獲得1分以上時,請計算灰塵含量。 允許用戶僅拖動標記,並更新放置標記上的路線和總距離。

如果您可以創建到目前為止所做的工作的jsfiddle,它將有助於我們進行研究,並通過工作示例為您提供更准確的答案。

今天遇到同樣的問題,發現是有設置的。 您只需要將polylineOptionsclickable屬性設置為false

this.directionsRenderer=new google.maps.DirectionsRenderer({draggable:!0,map,panel:this.elements.directionsBody,polylineOptions:{clickable:!1,strokeColor:"#4BAFF8"}})

DirectionsRenderer: https://developers.google.com/maps/documentation/javascript/reference/directions#DirectionsRendererOptions.polylineOptions

折線選項: https://developers.google.com/maps/documentation/javascript/reference/polygon#PolylineOptions

暫無
暫無

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

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