MKDirections 多个位置 xcode 6.2 Mapkit

MKDirections multiple locations xcode 6.2 Mapkit

我正在使用 xcode beta 6.2。这无关紧要,因为我的问题与 API 相关 - 特别是使用 MKDirectionsRequest 调用 MKDirections。

请注意,此论坛上发布了另一个类似问题,但未提供解决方案:iOS MKDirections for multiple destinations and a single source

我的问题:

实际上,我想将以下语句包装在一个循环中,然后在调用下一个目标之前等待回调完成。请注意,API 将不允许同时请求:

CLLocationCoordinate2D location;
location.latitude = 40.71278371;
location.longitude = -74.0059413;

MKPlacemark* placemark = [[MKPlacemark alloc] initWithCoordinate:location addressDictionary:nil];

MKMapItem* destinationMapItem = [[MKMapItem alloc] initWithPlacemark:placemark];

MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init];
[request setSource:[MKMapItem mapItemForCurrentLocation]];
[request setDestination:destinationMapItem];
[request setTransportType:MKDirectionsTransportTypeAutomobile]; 
[request setRequestsAlternateRoutes:NO];
MKDirections *directions = [[MKDirections alloc] initWithRequest:request];

[directions calculateETAWithCompletionHandler:^(MKETAResponse *response, NSError *error)
 {
     NSString *eta = [Utils stringFromTimeInterval:response.expectedTravelTime];

     NSLog(@"ETA route1: %@", eta);
 }];

有人可以建议一个如何循环对象并执行此操作的示例。我知道这可能会受到服务限制的风险,但是我的伙伴能够在 android 构建我们的产品时实现这一点。我希望能够为 1-5 个目的地提供服务。

提前致谢。我无法添加 MKDirections 或 MKDirections 请求的标签。如果还有其他人可以,那就太好了!

西蒙.

使用 for 循环并为集合(或数组)中的每个目的地创建一个 MKDirectionsRequest。当调用每个完成处理程序块时,将结果存储在一个集合或(数组)中。我已经发送了多个这样的请求 'rapid fire' 来获取路线并且没有被限制。