Skobbler 地图 - 在导航期间停止旋转
Skobbler Maps - Stop rotation during navigation
我正在使用 SKRouteManager
计算路线,如下所示:
route.setStartCoordinate(origCoords);
route.setDestinationCoordinate(destCoords);
route.setNoOfRoutes(1);
route.setRouteMode(SKRouteSettings.SKRouteMode.BICYCLE_FASTEST);
route.setRouteExposed(true);
SKRouteManager.getInstance().setRouteListener(thisActivity);
SKRouteManager.getInstance().calculateRoute(route);
然后我将执行 onAllRoutesCompleted()
回调以启动逐向导航:
public void onAllRoutesCompleted() {
SKNavigationSettings navigationSettings = new SKNavigationSettings();
navigationSettings.setNavigationType(SKNavigationSettings.SKNavigationType.SIMULATION);
SKNavigationManager navigationManager = SKNavigationManager.getInstance();
navigationManager.setMapView(mapView);
navigationManager.setNavigationListener(this);
navigationManager.startNavigation(navigationSettings);
}
我的问题是它现在会自动将地图朝行进方向旋转 - 但我希望地图始终指向北方(除非用户另有选择)。
如何停止因转弯导航而改变旋转?
您需要通过setFollowerMode修改地图的跟随模式。
如果你只想跟随用户的位置,而不是旋转地图,将它设置为 POSITION,比如:
mapView.getMapSettings().setFollowerMode(SKMapFollowerMode.POSITION);
我正在使用 SKRouteManager
计算路线,如下所示:
route.setStartCoordinate(origCoords);
route.setDestinationCoordinate(destCoords);
route.setNoOfRoutes(1);
route.setRouteMode(SKRouteSettings.SKRouteMode.BICYCLE_FASTEST);
route.setRouteExposed(true);
SKRouteManager.getInstance().setRouteListener(thisActivity);
SKRouteManager.getInstance().calculateRoute(route);
然后我将执行 onAllRoutesCompleted()
回调以启动逐向导航:
public void onAllRoutesCompleted() {
SKNavigationSettings navigationSettings = new SKNavigationSettings();
navigationSettings.setNavigationType(SKNavigationSettings.SKNavigationType.SIMULATION);
SKNavigationManager navigationManager = SKNavigationManager.getInstance();
navigationManager.setMapView(mapView);
navigationManager.setNavigationListener(this);
navigationManager.startNavigation(navigationSettings);
}
我的问题是它现在会自动将地图朝行进方向旋转 - 但我希望地图始终指向北方(除非用户另有选择)。
如何停止因转弯导航而改变旋转?
您需要通过setFollowerMode修改地图的跟随模式。 如果你只想跟随用户的位置,而不是旋转地图,将它设置为 POSITION,比如:
mapView.getMapSettings().setFollowerMode(SKMapFollowerMode.POSITION);