【问题标题】:Leaflet marker is not draggable even if draggable=true即使 draggable=true,传单标记也不能拖动
【发布时间】:2013-04-08 20:36:50
【问题描述】:

我正在使用带有markers 的传单地图。

当用户在我的页面上单击“编辑”时,我想让标记可拖动。如果我将每个标记的属性 draggable 设置为 true,则它不起作用。

当我创建一个新标记并从头开始设置属性时,它可以工作。

【问题讨论】:

    标签: javascript drag-and-drop leaflet


    【解决方案1】:

    你必须这样做:

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

    我的第一次尝试只更改了技术属性,但没有更改the behavior

    【讨论】:

    • 也谢谢。我想知道如何做到这一点,因为我也需要这样的功能! :)
    • 现在对我不起作用。 TypeError: [marker].dragging is undefined
    • @mc0e 您必须先将标记添加到地图。 marker.addTo(map)
    【解决方案2】:

    受@mc0e 关于“未定义”问题的启发。这是一个例子。

    (基于Leafletjs.comLeafletjs quick start的代码)

    1. 打开Wikimedia maps(基于相关框架)。
    2. 打开浏览器控制台(Ctrl+jCtrl+k)放置一个标记(您将需要先定义一个变量)。使用 Code-1。

    控制台中的代码 1:

    var markerLondon = L.marker()
        .setLatLng([51.5, -0.09])
        .bindPopup('Centre of London')
        .addTo(map)
        .openPopup();
    
    1. 现在您有了一个不可拖动的标记。使用 Code-2 使标记可拖动。

    控制台中的代码 2:

    markerLondon.dragging.enable();
    

    延伸阅读:Marker API reference

    PS:一旦 Wikimedia 开始使用其他东西,您可以使用为制作静态 OpenStreetMap 图像而创建的BigMap 2(也基于相同的框架)对其进行测试。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 2013-11-18
      • 2022-11-10
      • 2018-08-30
      • 2020-03-30
      • 2018-01-30
      • 2020-06-25
      • 1970-01-01
      • 2012-10-01
      相关资源
      最近更新 更多