map.flyTo({
            center: [camera.lon, camera.lat], //相机位置
            zoom: camera.zoom,//目标层级
            pitch: camera.pitch,//目标俯仰角
            bearing: camera.bearing,//目标方位角
            // speed: camera.speed,//飞行速度
            duration:camera.duration*1000,//飞行总时长,单位ms
            essential: true,//动画
            easing:(t) =>{
                return t;//飞行时间进度
            }
        },
         {//eventData 自定义的事件属性
            moveend: id
        });    

 mapbox地图飞行支持设置很多参数来控制飞行效果,如上图,具体可以参考mapbox官方文档,

其中easing为飞行过程的进度事件,其中 t 为时间进度,所以,这里有个小心机,如果想要监听飞行结束事件,可以在easing函数中监听 t===1 ,即飞行结束。

另:eventData为可选参数,可以自定义事件对象的属性,但是本人尝试时并未能成功获取到该属性值,暂时还没有找到原因。

12-27 00:40