为什么我无法获得 MKDirectionResponse

Why can't I get a MKDirectionResponse

我正在尝试获取两点之间的路线以获取两点之间的步行距离。但我总是会收到以下错误:

错误:

/SourceCache/ProtocolBuffer/ProtocolBuffer-225/Runtime/PBRequester.m:799 server (https://gsp-ssl.ls.apple.com/directions.arpc) returned error: 400
2015-08-12 16:19:34.354 projectName[2995:597568] RESPONSE: (null)

这是我的代码:

-(void)viewDidLoad{
    [super viewDidLoad];

    [self.view setBackgroundColor:[UIColor whiteColor]];


    MKPlacemark *spot1 = [[MKPlacemark alloc] initWithCoordinate:CLLocationCoordinate2DMake(51.21299581976029, 4.404984000000013) addressDictionary:nil];
    MKPlacemark *spot2 = [[MKPlacemark alloc] initWithCoordinate:CLLocationCoordinate2DMake(51.20173651985178, 4.450245532177766) addressDictionary:nil];


    MKMapItem * startItem = [[MKMapItem alloc] initWithPlacemark:spot1];
    MKMapItem * destinationItem = [[MKMapItem alloc] initWithPlacemark:spot2];

    NSLog(@"START: %@",startItem);
    NSLog(@"DESTINATION: %@",destinationItem);

    MKDirectionsRequest * directionsRequest = [[MKDirectionsRequest alloc] init];
    [directionsRequest setSource:startItem];
    [directionsRequest setSource:destinationItem];
    [directionsRequest setTransportType:MKDirectionsTransportTypeWalking];
    MKDirections *direction = [[MKDirections alloc] initWithRequest:directionsRequest];

    [direction calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse *response, NSError *error) {

        NSLog(@"RESPONSE: %@",response);

    }];
}

我用不同的互联网连接进行了测试,以确保这不是问题所在。 我还按照 Apple's Documentation 中的所有步骤配置我的应用程序以接受路线请求,但没有任何帮助。

[directionsRequest setSource:destinationItem]; 应该是 [directionsRequest setDestination:destinationItem];

您设置了两次源(或者更确切地说,用第二个值覆盖了第一个值)。然后你在没有目的地的情况下请求方向,当然现在有计算的方法所以你会得到一个错误。