Android 根据手机当前方向旋转地图框地图

Android 根据手机当前方向旋转地图框地图,android,android-mapview,mapbox,Android,Android Mapview,Mapbox,我正在尝试旋转地图,使其始终朝向我们使用MapBoxAndroid移动的方向。目前,这是我尝试过但没有成功的方法: 这是我初始化映射框映射的地方: mapView.getMapAsync(mapboxMap -> { Log.d(TAG, "Map is initialized"); map = mapboxMap; map.getTrackingSettings().setMyBearingTrackingMode(MyBearingTracking.COMPAS

我正在尝试旋转地图,使其始终朝向我们使用MapBoxAndroid移动的方向。目前,这是我尝试过但没有成功的方法:

这是我初始化
映射框
映射的地方:

mapView.getMapAsync(mapboxMap -> {
    Log.d(TAG, "Map is initialized");
    map = mapboxMap;
    map.getTrackingSettings().setMyBearingTrackingMode(MyBearingTracking.COMPASS);
});
这就是我启用位置的地方

private void enableLocation(boolean enabled) {
    map.setMyLocationEnabled(enabled);
    if (enabled) {
        locationServices.addLocationListener(location -> {
            if (location != null) {
                // Move the map camera to where the user location is

                if (location.getBearing() != 0) {
                    map.setCameraPosition(new CameraPosition.Builder()
                            .target(new LatLng(location))
                            .bearing(location.getBearing())
                            .build());
                } else {
                    map.setCameraPosition(new CameraPosition.Builder()
                            .target(new LatLng(location))
                            .build());
                }
                Log.e(TAG, "location bearing:" + location.getBearing());
            }
        });
    }
}

最后,我在MapBox的上一个版本中使用了此选项:
您正在使用哪个版本的SDK?我上个月修复了罗盘方位跟踪。你可以阅读更多关于这本书的内容。尝试更新到
4.2.0-beta.3
,并使用您在问题中发布的第一个片段。让我知道这是否是你一直在寻找的解决方案

是的,但是当我使用日志时,它被消息污染了,这使得使用它进行开发和调试变得很困难…请参阅我在这里的另一篇文章,了解另一个问题:我们知道这个问题,您可以在logcat中过滤掉这些消息。下面是一个我们正在进行合并的示例。我必须稍微修改第一个代码段以使其正常工作,对于那些将面临相同问题的代码段,您应该使用此设置:MyLocationTracking.TRACKING\u follow还有一个日志出现:与的连接被泄漏。你忘了关闭一个响应机构了吗?
mapView.getMapAsync(mapboxMap -> {
    Log.d(TAG, "Map is initialized");
    map = mapboxMap;
    map.getTrackingSettings().setMyBearingTrackingMode(MyBearingTracking.TRACKING_FOLLOW);
});