如何禁用Mapbox GL JS方位角接近0时自动归零的默认旋转行为?
禁用Mapbox GL JS地图方位角自动校正到0的方法
嘿,这个自动回正的问题我之前也碰到过!其实这是Mapbox GL JS默认的bearingSnap属性在搞鬼——它默认值是5度,意思就是当你旋转地图停手后,如果当前方位角和最近的“预设方位角”(默认是0)的差在5度以内,就会自动吸附过去,把方位角校正到0。
要禁用这个行为很简单,分两种情况来操作:
初始化地图时直接配置
在创建Map实例的配置选项里,加上bearingSnap: 0即可,这样从一开始就不会触发自动校正。代码示例:mapboxgl.accessToken = '你的地图访问令牌'; const map = new mapboxgl.Map({ container: 'map', // 绑定的DOM容器ID style: 'mapbox://styles/mapbox/streets-v12', // 地图样式 center: [-74.5, 40], // 初始中心点 zoom: 9, // 初始缩放级别 bearingSnap: 0 // 关键配置:禁用方位角自动吸附 });已初始化的地图动态修改
如果地图已经创建好了,想中途关闭这个功能,直接调用地图实例的setBearingSnap方法,传入0就行:map.setBearingSnap(0);
设置完成后,不管你把地图旋转到哪个角度,松开鼠标或手指后,地图都会稳稳停在当前的方位角,再也不会自动跳回0啦。
内容的提问来源于stack exchange,提问作者Stranger in the Q
相关产品推荐
相关产品推荐

