我正在寻找在zoomend
和/或moveend
上触发的事件。
基本上我有一个弹出窗口需要在这些事件之后发生,而弹出窗口取决于在queryRenderedFeatures上,只有在地图视图中才能查询。
如果没有setTimeout
,我目前正在使用zoomend
功能,但这并不理想。
是的,我可以在这两种功能之后附加功能,但这会变得混乱。
我发现有一个map.on('data')
事件,但有一个map.on('data.load')
或类似内容,例如map.on('style.load')
?
我想要的是在不再发生任何map.on('data')
事件后触发的内容。也许这可以使用setInterval
或其他东西在Javascript中完成。
由于
答案 0 :(得分:0)
您可以将查询功能绑定到map.on('move', function() {})
,这会在地图被缩放或拖动时连续闪现。
在我的应用程序中,我使用map.on('move', function() {})
来获取地图的中心纬度/经度。所以我的代码大致如下:
setCenter () {
const center = map.getCenter()
// render the center coords
}
// later in my code
map.on('move', this.setCenter)
// and when I'm done
map.off('move', this.setCenter)