地图拖动后继续关注 canvas 层

keep focus on canvas Layer after map drag

我有 L.canvasMarker 来自 leaflet-canvas-markers

Leaflet-Geoman 的编辑模式下,我可以毫无问题地移动标记。 但是如果我拖动地图然后尝试拖动标记,它就不起作用(它失去了焦点)。 要再次拖动,我必须先点击它,然后才能正常拖动。

我尝试解决这个问题是获取标记的 DOM 元素,然后触发 focus() 事件。 但我不知道如何访问传单层 DOM 元素。

我的修复尝试如下:

map.on('moveend', function(e) { 
    marker.getContainer() //getContainer does not work on layer
    marker.getContainer().setAttribute('tabindex', '0')
    marker.getContainer().focus()
    })

从 leaflet-geoman 捕捉也不起作用,但我想必须对捕捉计算进行更改才能使其起作用。这是一个完全独立的问题。

这是一个fiddle:移动标记->拖动地图->尝试再次移动标记。

https://jsfiddle.net/nkmtLdc5/

这是传单 v1.6.0 的问题,仅在 chrome 中不起作用。

当您将传单更新到 v1.7.1 时,它会起作用。

将您的 leaflet.js cdn url 替换为:https://unpkg.com/leaflet@1.7.1/dist/leaflet.js