Leaflet 放大过多时不会触发传单JS zoomend事件
我使用zoomlevel 15初始化地图:Leaflet 放大过多时不会触发传单JS zoomend事件,leaflet,Leaflet,我使用zoomlevel 15初始化地图: map.setView(latlng, 15) 稍后,当用户与触发此功能的按钮交互时: const zoomInAndTrigger = () => { map.setView(latlng, 18) map.once("zoomend", () => { // some triggers fired }) } zoomInAndTrigger() // on button click 这个很好用。 嗯,除非用户
map.setView(latlng, 15)
稍后,当用户与触发此功能的按钮交互时:
const zoomInAndTrigger = () => {
map.setView(latlng, 18)
map.once("zoomend", () => {
// some triggers fired
})
}
zoomInAndTrigger() // on button click
这个很好用。
嗯,除非用户在触发zoomInAndTrigger之前将地图缩小到最初的15个zoomlevel以上,否则根本不会触发“ZoomMend”
我不知道为什么。在执行map setView之前,您可能只需要连接zoomend事件侦听器
默认情况下,当缩放级别间隙过大或新位置过远时,传单setView将立即重置视图,而不是设置视图更改的动画。然后,在视图已更改且未触发后,将连接您的侦听器。当从级别(例如14到18)缩放时,默认情况下不会播放缩放动画-地图的ZoomanimationReshold的默认值为4,并且: 如果缩放差异超过此值,则不会设置缩放动画 然后,整个缩放交互会在map.oncezoomend…之前立即执行。。。行已执行 根据经验,在运行触发该事件的代码之前,应该始终附加事件处理程序,无论您是否只观察到该事件在一段时间后发生。它会让你防御一些敌人 另一方面,您可以将一组数据传递给呼叫;可以强制启用或禁用任何给定缩放操作的缩放动画