mapbox gl 相机飞行事件 flyTo

 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官方文档,mapbox文档中对essential没有详细的说明,他有时候自动动画,有时候又没有动画,需要自己设置。

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

另:eventData为可选参数,可以自定义事件对象的属性。

posted @ 2022-11-08 09:39  黑白棋学弟  阅读(669)  评论(0编辑  收藏  举报