Навигация по маршруту без его следования в SKMapView
SKMaps - это превосходный фреймворк для многих картографических целей. У меня есть немного уникальных требований, и я надеюсь, что у кого-то может быть решение. Мне любопытно, смогу ли я рассчитать маршрут, нарисовать этот маршрут на карте, а затем начать навигацию, не используя карту с пользовательским интерфейсом "следуй за водителем". Я хочу продолжить базовое взаимодействие с картой (включая анимацию различных точек к центру и т. Д.), Пока идет навигация.
Мой ViewController является одновременно делегатом маршрутизации и делегатом навигации общего экземпляра SKRoutingService. Я попытался установить указатель mapView службы маршрутизации на nil, когда маршрут будет рассчитан, прямо перед тем, как я начну навигацию, но безуспешно - mapView по-прежнему увеличивает текущее местоположение, значок текущей позиции меняется на навигационное, и карта начинает следовать за водителем.
Есть идеи?
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;
Это запустит навигацию, но не изменит вид (положение пользователя по-прежнему будет меняться на карте, отражая изменение положения)