ios - 如何在 Skobbler 中填充 SKRouteSettings.alternativeRoutesModes 数组

标签 ios objective-c nsarray skmaps

当我搜索路线并选中备选路线选项时,skobbler 会在 map 上绘制所有备选路线,如果需要,甚至会在最佳路线上开始导航。

但我想将所有这些备选路线存储在一个数组中,并留给用户选择他将使用的路线。

在文档中,我注意到一个名为 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 之前声明它吗?

文档中说:

Route calculation modes for alternative routes, an array of SKRouteAlternativeSettings objects. If nil, default alternatives will be generated.

此外,当我计算路由时,只有委托(delegate)方法可访问的对象是:

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

(void)routingServiceDidFailRouteCalculation:(SKRoutingService *)routingService

(void)routingServiceDidCalculateAllRoutes:(SKRoutingService *)routingService

所有这些方法都有 SKRoutingService 对象,而不是 SKRouteService 对象,我可以从中提取所需的数组。

我可以举个例子来说明如何使用替代路线对象填充 SKRouteSettings.alternativeRoutesModes 吗?

最佳答案

您可以查看 demo project 中的 AlternativeRoutesViewController 类,它包含与您要查找的内容相同的实现。

alternativeRoutesModes属性可用于高级路由配置。 例如如果你想计算 3 种不同类型的路线(1 条步行路线,1 条自行车路线,1 条汽车路线)

关于ios - 如何在 Skobbler 中填充 SKRouteSettings.alternativeRoutesModes 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28321919/

相关文章:

ios - 将 UiPickerView 添加到 AlertController

ios - NSDate 得到一周中的所有短天?

iphone - 在模拟器上运行设备构建

objective-c - NSArray:检测并删除不存在的对象(文件)

ios - didAnimateRoation toInterfaceorientation - 检测旋转何时完成?

ios - 将 hpple 添加到 Swift 项目 - 词法或预处理器问题

iphone - 如何在 iPhone 应用程序的 UINavigationBar 中添加图像

ios - 重新排序 NSDictionary 数组

swift - 通过快速将 NSDictionary 添加到 NSMutableArray 来更改数据

iphone - 如何访问 UITableViewCellAccessoryDisclosureIndicator 的图像文件?