0

我在用

-(void) getRouteData :(double)startPointLatitude :(double)startPointLongitude :(double)stopPointLatitude :(double)stopPointLongitude{

    NSString *url = @"http://maps.apple.com/maps/api/directions/json?";

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];

    [request setHTTPMethod:@"POST"];
    [request setTimeoutInterval:15];

    NSString *postString;

    postString = [@"" stringByAppendingFormat: @"origin=%f,%f&destination=%f,%f&sensor=true&mode=driving", startPointLatitude, startPointLongitude, stopPointLatitude, stopPointLongitude];

    NSLog(@"%@%@",url, postString);

    [request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];

    NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];

    Boolean isDataGet = false;

    if (theConnection) {
        NSData * data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
        NSString *result = [NSString stringWithFormat:@"%@", [self hexToString:data]];

        NSLog(@"result = %@", result);

    }

}

在谷歌地图上绘制路径初始点和最终点,但我得到了

{
   "routes" : [],
   "status" : "REQUEST_DENIED"
}

此外,当我添加 api 密钥时,它也不起作用。(我也启用了 Places API)

4

1 回答 1

0

我通过这个功能解决了问题

-(void) getRouteData :(double)startPointLatitude :(double)startPointLongitude :(double)stopPointLatitude :(double)stopPointLongitude{

    NSString* apiUrlStr = [NSString stringWithFormat:@"http://maps.google.com/maps/api/directions/json?origin=%f,%f&destination=%f,%f&sensor=true&mode=driving", startPointLatitude, startPointLongitude, stopPointLatitude, stopPointLongitude];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:apiUrlStr]];

    [request setTimeoutInterval:15];

    NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];

    Boolean isDataGet = false;

    if (theConnection) {
        NSData * data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
        NSString *result = [NSString stringWithFormat:@"%@", [self hexToString:data]];

        NSLog(@"result = %@", result);

    }

}
于 2012-12-19T12:53:04.447 回答