在https://astreetnearyou.org上,我使用zoomend和moveend事件来动态刷新两个geojson提要和结果窗格。我遇到的问题是它们触发的频率太高,尤其是在移动设备上,用户可能会滑动地图或几次缩放以到达他们想要的位置。
是否有一种方法可以将请求延迟大约300毫秒,以捕获此类顺序移动(拖动或缩放)事件?我在https://leafletjs.com/reference-1.0.3.html#map-methods-for-modifying-map-state上看到过提及“ debounceMoveend”的信息,但找不到任何文档
答案 0 :(得分:0)
尽管如此,我在任何地方都不是专家,
var timeout;
function onZoomEnd() {
count = document.getElementById('counter')
// CANCEL API-CALL
clearTimeout(timeout);
// API CALL
timeout = setTimeout(function() {
count.value = parseInt(count.value) + 1
}, 3000);
}
<button onclick="onZoomEnd()">
ZoomEnd!
</button>
<br>
API-calls<input id="counter" type="number" value=0>