Mapbox 根据用户方位旋转地图

Mapbox rotate map based on user bearing

我正在编写一个导航应用程序,我需要围绕用户旋转相机(因此,相机围绕用户旋转,而不是仅仅使用指南针旋转用户图标,给人的印象是地图正在根据现实生活。)

我似乎找不到默认模式来执行此操作我已经尝试了方位跟踪模式(GPS 和指南针)以及位置跟踪模式:

mapboxMap.getTrackingSettings().setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW);

因为我无法让它工作,所以我实现了一个带有基本低通滤波器的自定义指南针,以便围绕用户旋转相机。然而,从 Mapbox 4.1.1 升级到 4.2.1 时,我的自定义实现已经损坏(旋转变得非常滞后和参差不齐)。

我相信有更简单的方法可以做到这一点,但我在弄清楚它时遇到了一些麻烦。有人可以告诉我我是否以正确的方式处理它,或者是否有我正在寻找的更简单的解决方案?

提前致谢!

要跟踪用户位置并将地图旋转到方向始终指向与用户相同的方向,请结合使用这些线:

mapboxMap.getTrackingSettings().setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW);

mapboxMap.getTrackingSettings().setMyBearingTrackingMode(MyBearingTracking.COMPASS);

请注意完整代码,我建议您查看 this example

是的,正如@SCTaylor 所说,您绝对需要 .setDismissAllTrackingOnGesture(false) 才能完成这项工作