我正在尝试使用 SKNavigationManager 的 startNavigation(navigationSettings) 逐轮导航。有趣的是,它在“模拟”模式下完美无缺,但是当我切换到“真实”模式时,屏幕上没有地图。只是地图没有在屏幕上绘制,但其余的像注释和其他东西都被填充并且工作正常。
我使用过 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); 我有不同的看法。
地图被绘制到屏幕上,它正好位于大西洋中部的 [0,0] 点的中心,因此屏幕是蓝色的。要让相机跟随当前位置,您必须执行以下 2 个步骤:
在 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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句