我尝试使用SKNavigationManager的startNavigation(navigationSettings)进行转弯导航。有趣的是,它在'模拟'中完美无瑕。模式,但当我切换到' Real'模式屏幕上没有地图。只是地图没有在屏幕上绘制,但其余的注释和其他东西都填充并且工作正常。
我使用过SKToolsNavigatoinManager并且工作正常,但我不想使用它,因为它有很多对我的应用程序无用的UI界面。
感谢任何帮助。
以下是设置和导航代码我使用
SKNavigationSettings navigationSettings = new SKNavigationSettings();
SKNavigationManager navigationManager = SKNavigationManager.getInstance();
navigationSettings.setNavigationType(SKNavigationSettings.SKNavigationType.REAL);
navigationSettings.setNavigationMode(SKNavigationSettings.SKNavigationMode.PEDESTRIAN);
navigationManager.setMapView(navMapView);
navigationManager.startNavigation(navigationSettings);
如果我不使用navigationManager.setMapView(navMapView);我得到了不同的看法。
1. This is how the screen looks like after I start navigation
2. This is how the screen looks like before navigation
答案 0 :(得分:1)
地图被绘制到屏幕上,它位于大西洋中部的点[0,0]的中心,因此屏幕是蓝色的。要让相机跟随当前位置,您必须执行以下两个步骤:
在SKMapView对象上将跟随位置设置为true:navMapView.getMapSettings().setFollowPositions(true);
创建SKCurrentPositionProvider并设置SKCurrentPositionListener
SKCurrentPositionProvider positionProvider = new SKCurrentPositionProvider(activity);
positionProvider.setCurrentPositionListener(new SKCurrentPositionListener(){
@Override
public void onCurrentPositionUpdate(SKPosition currentPosition) {
SKPositionerManager.getInstance().reportNewGPSPosition(currentPosition);
}
});
positionProvider.requestLocationUpdates(true, true, false);