Leaflet 为什么';t marker.drawing.disable()工作?

Leaflet 为什么';t marker.drawing.disable()工作?,leaflet,Leaflet,以下代码在启用和禁用标记拖动的行上接收到错误(“无法获取未定义或空引用的属性“disable”)。标记在地图上显示得很好,可以拖动,如创建线所示。将警报放置在启用行的位置会生成一个适当的对象,因此我相信标记已定义。我需要做些什么来启用IHandler接口吗?还是我错过了什么 var marker = L.marker(L.latLng(lat,lon), {icon:myIcon, draggable:'true'}) .bindLabel(name, {noHide: true,dir

以下代码在启用和禁用标记拖动的行上接收到错误(“无法获取未定义或空引用的属性“disable”)。标记在地图上显示得很好,可以拖动,如创建线所示。将警报放置在启用行的位置会生成一个适当的对象,因此我相信标记已定义。我需要做些什么来启用IHandler接口吗?还是我错过了什么

var marker = L.marker(L.latLng(lat,lon), {icon:myIcon, draggable:'true'})
    .bindLabel(name, {noHide: true,direction: 'right'});
marker._myId = name;
if (mode === 0) {
    marker.dragging.enable();
} else {
    marker.dragging.disable();
}

我还没有找到答案,但我的解决办法是:

var temp;
if (mode === 0) {
    temp = true;
} else {
    temp = false;
}
var marker = L.marker(L.latLng(lat,lon), {icon:myIcon, draggable:temp})
    .bindLabel(name, {noHide: true,direction: 'right'});
marker._myId = name;

幸运的是,当图标可拖动时,我会更改它。

我还没有找到答案,但我的解决方法是:

var temp;
if (mode === 0) {
    temp = true;
} else {
    temp = false;
}
var marker = L.marker(L.latLng(lat,lon), {icon:myIcon, draggable:temp})
    .bindLabel(name, {noHide: true,direction: 'right'});
marker._myId = name;

幸运的是,我在可拖动时更改了图标。

我今天遇到了类似的问题(可能是同一个问题),这是由于传单中的一个错误(请参阅),更改标记的图标会使该标记上设置的任何拖动处理无效。这会使对
标记.拖动.禁用()的任何调用失败

在写这篇文章的时候,老师还没有把它做成传单。解决方法是在更新可拖动状态后更改图标(如果可能)

marker.dragging.disable();
marker.setIcon(marker_icon);

今天我遇到了一个类似的问题(可能是同一个问题),这是由于传单中的一个错误(请参见),更改标记的图标会使该标记上设置的任何拖动处理无效。这会使对
标记.拖动.禁用()的任何调用失败

在写这篇文章的时候,老师还没有把它做成传单。解决方法是在更新可拖动状态后更改图标(如果可能)

marker.dragging.disable();
marker.setIcon(marker_icon);

使用以下代码使对象可拖动。将
elementToDrag
设置为要使其可拖动的对象,即“标记”

要禁用拖动,请使用以下代码:

draggable.disable()
用于使DOM元素可拖动(包括触摸支持)的类。 内部用于地图和标记的拖动。仅适用于元素 使用DomUtil#setPosition定位的

如果只希望禁用标记的拖动选项,则可以使用以下代码(其中“marker”是标记对象的名称):


使用以下代码使对象可拖动。将
elementToDrag
设置为要使其可拖动的对象,即“标记”

要禁用拖动,请使用以下代码:

draggable.disable()
用于使DOM元素可拖动(包括触摸支持)的类。 内部用于地图和标记的拖动。仅适用于元素 使用DomUtil#setPosition定位的

如果只希望禁用标记的拖动选项,则可以使用以下代码(其中“marker”是标记对象的名称):


奇怪的是,我看到了你的答案,这很有帮助,但对我来说却恰恰相反。从创建标记时的初始状态draggable开始,我设置了disable(),然后更改了图标,disabled()在禁用后显示为true,但在设置图标后再次显示为false。我只是先设置了图标,然后禁用了拖动,现在它就可以工作了。奇怪的是,我看到了你的答案,这很有帮助,但对我来说却是相反的。从创建标记时的初始状态draggable开始,我设置了disable(),然后更改了图标,disabled()在禁用后显示为true,但在设置图标后再次显示为false。我只需先设置图标,然后禁用拖动,现在就可以了。