如何使用viaPoints数组

时间:2015-08-01 00:02:42

标签: objective-c skmaps

如果我使用以下代码计算从A点到B点的路线:

[SKRoutingService sharedInstance].routingDelegate = self;
[SKRoutingService sharedInstance].navigationDelegate = self;
[SKRoutingService sharedInstance].mapView = _mapView;
SKRouteSettings* route = [[SKRouteSettings alloc]init];
route.startCoordinate=CLLocationCoordinate2DMake([Constants shared].location.x, [Constants shared].location.y);
route.destinationCoordinate=CLLocationCoordinate2DMake([Constants shared].destination.x, [Constants shared].destination.y);
route.shouldBeRendered = YES;
SKNavigationSettings* navSettings = [SKNavigationSettings navigationSettings];
navSettings.navigationType=SKNavigationTypeSimulation;
navSettings.distanceFormat=SKDistanceFormatMilesFeet;

[SKRoutingService sharedInstance].mapView.settings.displayMode = SKMapDisplayMode2D;
[[SKRoutingService sharedInstance] calculateRoute:route];

以上都很好。路线将被计算并显​​示没有问题。 但是如何在已计算的路线中添加viaPoint? 我是否需要清除已创建的一个并计算新的一个,或以某种方式重新计算现有的一个并添加另一个点。

另一个问题是,如何正确创建SKViaRoute对象?

1 个答案:

答案 0 :(得分:2)

如果要计算带有via点的路径,则需要在routeSettings中填充viaPoints数组。

如果您想要使用addViaPoint / removeViaPoint方法添加或删除现有路线中的起点。