【问题标题】:Mapbox rotate map based on user bearingMapbox 基于用户方位旋转地图
【发布时间】:2017-01-17 22:31:20
【问题描述】:

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

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

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

由于我无法让它工作,我实现了一个带有基本低通滤波器的自定义指南针,以便围绕用户旋转相机。但是,从 Mapbox 4.1.1 升级到 4.2.1 时,我的自定义实现已经损坏(旋转变得非常迟钝和锯齿状)。

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

谢谢你!

【问题讨论】:

    标签: android mapbox


    【解决方案1】:

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

    mapboxMap.getTrackingSettings().setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW);
    
    mapboxMap.getTrackingSettings().setMyBearingTrackingMode(MyBearingTracking.COMPASS);
    

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

    【讨论】:

    • 谢谢。就像一个注释,在我的例子中,这条线产生了所有的不同:map.getTrackingSettings().setDismissAllTrackingOnGesture(false);
    • 嗨,我正在尝试实现相同的结构。但我正在从外部图书馆获取我的位置。在没有map.setMyLocationEnabled(true); 这一行的情况下完成用户跟踪的任何方式。由于某些原因,我不希望 Mapbox 在地图上自定义 myLocation 指针。有什么帮助吗?
    • 示例链接已损坏;我们现在怎么做?代码似乎已被 LocationLayer 插件弃用/替换,但它似乎没有FOLLOW 模式。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-13
      • 2021-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多