传单地图在平移和缩放时会发送多个geojson请求-设置超时时间?

时间:2019-06-20 07:46:48

标签: leaflet

https://astreetnearyou.org上,我使用zoomend和moveend事件来动态刷新两个geojson提要和结果窗格。我遇到的问题是它们触发的频率太高,尤其是在移动设备上,用户可能会滑动地图或几次缩放以到达他们想要的位置。

是否有一种方法可以将请求延迟大约300毫秒,以捕获此类顺序移动(拖动或缩放)事件?我在https://leafletjs.com/reference-1.0.3.html#map-methods-for-modifying-map-state上看到过提及“ debounceMoveend”的信息,但找不到任何文档

1 个答案:

答案 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>