gpt4 book ai didi

javascript - 使用 Leaflet 加载页面时多次触发 moveend 事件

转载 作者:行者123 更新时间:2023-12-03 17:16:10 27 4
gpt4 key购买 nike

本地图被平移或缩放时,我需要做一些操作,所以我在事件 中附加了一个回调。移动结束 .

map.on('moveend', function() {
// code stuff
});

它工作正常,但是当页面加载时,事件被触发了 3 次,我不知道为什么。
可能是因为在创建过程中 map 被移动了。

为了避免这种情况,我试图等待 加载订阅 moveend 事件之前的事件,但没有任何改变。所以我试图将它附加在 whenReady 回调中,但它又被触发了 3 次。
map.whenReady(function() {
map.on('moveend', function() {
// code stuff
});
});

最后发现 之后调整大小 事件它工作得很好: moveend 只被触发一次。但我真的相信有一个最好的方法来解决这个问题。

另一种解决方案可能是将我的回调附加到两个事件 放大 拖拽 , 以涵盖平移和缩放情况。
但我没有找到办法。

谢谢您的帮助。

最佳答案

我找到的最佳解决方案是将回调附加到两个事件:

    map.on('zoomend', function() {
// callback
});

map.on('dragend', function() {
// callback
});

虽然这种方式代码有点复制,但这是迄今为止最好的解决方案。

关于javascript - 使用 Leaflet 加载页面时多次触发 moveend 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22529450/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com