前言:
在使用Mapbox做一些业务交互的时候,常常会有监听camera移动的事件。在此总结两种监听camera移动结束事件回调的方法。
1. 方法一
flyTo()
函数有个easing
属性,当camera
开始移动时 t=0
,当移动结束时t=1
。因此可以通过监听t==1
来实现移动结束监听。
map.flyTo({
center: latLng,
essential: true, //dong hua
// maxDuration: 1.5,
speed: 0.3,
easing: (t) => {
return t;//飞行时间进度
}
});
2.方法二
flyTo(options,eventData)
,这函数的参数eventData,可以用来实现回调效果。
map.flyTo({
center: latLng,
zoom: 15,
essential: true //dong hua
}, { moveend: "SITE_LIST_SHOW" });
map.on("moveend", function (e) {
if (e.moveend && e.moveend == "SITE_LIST_SHOW") {
//to do something
}
});
更多监听事件请参考官方文档:
https://docs.mapbox.com/mapbox-gl-js/api/