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);

    }

}

Googleマップでパスの最初と最後のポイントを描画しますが、取得しています

{
   "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 に答える