2013-04-08 87 views
9

我正在使用單張地圖與markers即使可拖動= true,單張標記也不可拖動

當用戶點擊我的頁面上的「編輯」時,我想使標記可拖動。如果我爲每個標記設置屬性draggable爲true,則不起作用。

當我創建一個新的標記並從頭開始設置屬性時,它可以工作。

回答

13

你要做這樣的:

marker.dragging.disable(); // marker.dragging.enable(); 

我第一次嘗試只改變一個技術財產,但不the behavior

+0

太棒了,我準備把我的頭髮拉出來。 – autonomy 2014-09-19 21:17:42

+0

非常感謝。我想知道如何做到這一點,因爲我也需要這樣的功能! :) – 2014-10-21 09:31:32

+0

現在不適用於我。 'TypeError:[marker] .dragging is undefined' – mc0e 2015-12-18 08:11:32

1

受@ mc0e問題影響'undefined'。這是一個例子。

(基於來自Leafletjs.comLeafletjs quick start的代碼)

  1. 打開Wikimedia maps(它是基於所討論的框架)。
  2. 打開瀏覽器控制檯(按Ctrl +Ĵ按Ctrl +ķ)把一個標記(您需要定義一個變量第一)。使用代碼1。

代碼-1在控制檯:

var markerLondon = L.marker() 
    .setLatLng([51.5, -0.09]) 
    .bindPopup('Centre of London') 
    .addTo(map) 
    .openPopup(); 
  • 現在你有一個非拖動的標記。使用Code-2使標記可拖動。
  • 代碼-2在控制檯:

    markerLondon.dragging.enable(); 
    

    進一步閱讀:Marker API reference。 PS:一旦維基媒體開始使用其他內容,您可以使用BigMap 2(也基於相同的框架)測試它以創建靜態OpenStreetMap圖像。