2017-08-24 82 views
2

我有一个Leaflet地图,当用户单击提供的图标并在第二次单击时将其压缩为原始大小时,我将调整为全屏。Leaflet标记在invalidateSize后丢失位置

我在调整大小后使用invalidateSize()方法,但我注意到我在地图上的标记丢失了它的位置。

enter image description here


的问题是,我是更新有关点击标记的位置,我想点击按钮,调整大小造成的标记坐标设置为错误的位置。所以传单工作正常。我通过在放大图标上使用event.stopPropagation()而不是仅对event.preventDefault()进行了修复。对

回答

0

尝试设置超时验证

setTimeout(function(){map.invalidateSize()},500) 
+0

没有成功。我尝试了250ms,500ms和1000ms。销子刚刚在另一个地方结束了。 –

+0

尝试删除标记,并在invalidateSize后重新绘制,至少让我知道代码 – KEKUATAN

+0

我可以做到这一点,但如果有更多的标记,它似乎是非常糟糕的做法。我更喜欢适当的解决方案,而不是quickfix :) –