MKDirections多位置xcode 6.2地图套件

MKDirections多位置xcode 6.2地图套件,xcode,mapkit,mkannotationview,Xcode,Mapkit,Mkannotationview,我使用的是xcode beta 6.2。这不重要,因为我的问题与API有关——特别是用mkDirectionRequest调用MKDirections 请注意,本论坛还发布了一个类似问题,但没有提供解决方案: 我的问题是: 我在自定义对象类中保存了一组MKMapItem。 这组MKMapItem只能到达1-5条记录之间。这些项目中的每一项都代表一个目的地,我想从用户的当前位置计算其预计到达时间。 实际上,我希望将以下语句包装在一个循环中,然后等待回调完成,然后再调用下一个目标。请注意,API不允

我使用的是xcode beta 6.2。这不重要,因为我的问题与API有关——特别是用mkDirectionRequest调用MKDirections

请注意,本论坛还发布了一个类似问题,但没有提供解决方案:

我的问题是:

我在自定义对象类中保存了一组MKMapItem。 这组MKMapItem只能到达1-5条记录之间。这些项目中的每一项都代表一个目的地,我想从用户的当前位置计算其预计到达时间。 实际上,我希望将以下语句包装在一个循环中,然后等待回调完成,然后再调用下一个目标。请注意,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请求的标记。如果有人能做到,那就太好了


Simon。

使用for循环,为集合或数组中的每个目标创建mkdirectionrequest。在调用每个完成处理程序块时,将结果存储在集合或数组中。我已经发送了多个像这样的“快速开火”请求以获取方向,但没有被阻止。

谢谢,但是API没有返回一条错误消息,告诉您在处理另一个方向请求时不能同时调用服务吗?当apple directions服务器处理第一个服务时,如何阻止循环递归?我在循环中调用了mkDirectionRequest十次,每次都收到一个结果。苹果不会拒绝你的请求,但会在某个未公布的阈值下减慢结果。你一次做几百件吗?谢谢-同意。。。。谢谢你的帮助。。。。请投票表决我的问题。。。需要能够在这个网站上投票!