2015-02-04 5 views
1

При поиске маршрута и выборе альтернативных маршрутов skobbler будет рисовать все альтернативные маршруты на карте и даже при необходимости запускать навигацию по лучшему.Как заполнить массив SKRouteSettings.alternativeRoutesModes в Skobbler

Но я хочу иметь все эти альтернативные маршруты, хранящиеся в массиве, и оставить его пользователю, чтобы выбрать, какой из них он будет использовать.

В документации я заметил массив под названием alternativeRoutesModes. Но я не знаю, как именно и когда его заселить.

Для начала, это то, как я начать делать настройки маршрута:

_route = [[SKRouteSettings alloc]init]; 

_route.startCoordinate = CLLocationCoordinate2DMake(43.209877, -108.966310); 
_route.destinationCoordinate = _endTravelpoint.coordinate; 
_route.shouldBeRendered = YES; 
_route.routeMode = SKRouteCarFastest; 
_route.numberOfRoutes = 5; 

[[SKRoutingService sharedInstance] calculateRoute:_route]; 

Теперь, что именно я должен делать с alternativeRoutesModes. Должен ли я объявить это, прежде чем я вызову функцию calculateRoute?

В документации говорится:

режимы расчета маршрута для альтернативных маршрутов, массив SKRouteAlternativeSettings объектов. Если nil, будут генерироваться альтернативы по умолчанию.

Кроме того, когда я рассчитать маршрут, только доступные объекты из методов делегата являются:

(void)routingService:(SKRoutingService *)routingService didFinishRouteCalculationWithInfo:(SKRouteInformation*)routeInformation 

(void)routingServiceDidFailRouteCalculation:(SKRoutingService *)routingService 

(void)routingServiceDidCalculateAllRoutes:(SKRoutingService *)routingService 

Всего этих методов имеют объекты SKRoutingService и не SKRouteService объектов, из которых я мог бы вытащить нужный массив.

Могу ли я получить пример того, как заполнить SKRouteSettings.alternativeRoutesModes альтернативными объектами маршрута?

ответ

1

Вы можете проверить класс AlternativeRoutesViewController в demo project, он содержит ту же реализацию, что и вы ищите.

Свойство alternativeRoutesModes может использоваться для расширенной настройки маршрута. , например. Если вы хотите рассчитать 3 разных маршрута (1 для пешеходов, 1 для велосипедов, 1 для автомобиля)