SKMaps是许多映射用途的优秀框架。我有一个独特的要求,我希望有人可能有解决方案。我很好奇我是否可以计算路线,在地图上绘制该路线,然后开始导航而不用让地图采用跟随驱动程序的用户界面。我希望能够在导航进行过程中继续与地图进行一些基本的互动(包括动画到中心的不同点等)。
我的ViewController既是路由委托又是SKRoutingService共享实例的导航委托。我确实尝试在路线计算之前将路由服务的mapView指针设置为nil,就在我开始导航之前,但没有成功 - mapView仍然缩放到当前位置,当前位置图标变为导航一,地图开始跟随驱动程序。
有什么想法吗?
答案 0 :(得分:1)
在开始导航后设置以下:
[[SKRoutingService sharedInstance]startNavigationWithSettings:navSettings];
self.mapView.settings.followUserPosition = NO;
self.mapView.settings.headingMode = SKHeadingModeNone;
self.mapView.settings.displayMode = SKMapDisplayMode2D;
SKCoordinateRegion region;
region.center = CLLocationCoordinate2DMake(37.9667, 23.7167);
region.zoomLevel = 17;
self.mapView.visibleRegion = region;
这会启动导航但不会更改视图(用户位置仍会在地图上更改,反映位置的变化)