Iphone 在iOS的谷歌经纬度查询中没有得到json响应?

Iphone 在iOS的谷歌经纬度查询中没有得到json响应?,iphone,json,google-maps-api-3,Iphone,Json,Google Maps Api 3,我是iOS新手,如果有任何帮助,我将不胜感激。 我试图从地址中获取经度和纬度,之前代码运行良好,但现在JSON数据为空 这里是我的示例代码 url = [NSString stringWithFormat:@"http://maps.google.com/maps/api/geocode/json?address=%@&sensor=false",appDelegate.sAddress]; url=[url stringByAddingPercentEscapesU

我是iOS新手,如果有任何帮助,我将不胜感激。 我试图从地址中获取经度和纬度,之前代码运行良好,但现在JSON数据为空

这里是我的示例代码

     url = [NSString stringWithFormat:@"http://maps.google.com/maps/api/geocode/json?address=%@&sensor=false",appDelegate.sAddress];

    url=[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSLog(@"Address URL: %@",url);

    //Formulate the string as a URL object.
    NSURL *requestURL=[NSURL URLWithString:url];
    NSData* data = [NSData dataWithContentsOfURL: requestURL];

    NSString *returnString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

    NSLog(@"my Coordinate : %@",returnString);

    NSError* error;
    NSDictionary* json = [NSJSONSerialization 
                          JSONObjectWithData:data
                          options:kNilOptions 
                          error:&error];
但我得到的输出为null

所以请帮帮我


谢谢

必须使用以下方法构造实际接收数据的returnString:

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response

查看有关如何使用NSURLConnection和委托方法的更多信息。

我想说您错过了最重要的“请求”

我就是这么做的。希望有帮助:

    NSString *encodedAddress = (__bridge_transfer NSString *) CFURLCreateStringByAddingPercentEscapes(NULL, (__bridge_retained CFStringRef)searchBar.text, NULL, (CFStringRef) @"!*'();:@&=+$,/?%#[]",kCFStringEncodingUTF8 );

    NSString* searchURL = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?address=%@&sensor=true",encodedAddress];
    NSError* error = nil;
    NSURLResponse* response = nil;
    NSMutableURLRequest* request = [[NSMutableURLRequest alloc] init];

    NSURL* URL = [NSURL URLWithString:searchURL];
    [request setURL:URL];
    [request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
    [request setTimeoutInterval:30];

    NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

    if (error){
        NSLog(@"Error performing request %@", searchURL);
        return;
    }

    NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    if (jsonString!=nil){
        NSLog(@"%@",jsonString);
    }

谢谢你的回复,这些都让我学到了很多。 作为我的一位朋友,请告诉我解决方案,我将与您分享

这是密码

url = [NSString stringWithFormat:@"http://maps.google.com/maps/api/geocode/json?address=%@&sensor=false",appDelegate.sAddress];

url=[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"Address URL: %@",url);

//Formulate the string as a URL object.
NSURL *requestURL=[NSURL URLWithString:url];
NSData* data = [NSData dataWithContentsOfURL: requestURL];

NSString *returnString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

SBJSON *parser = [[SBJSON alloc] init];
NSDictionary *locationResult = [parser objectWithString:returnString];
//[reverseGeoString copy]`
它工作得很好

但仍有一个问题是为什么会发生这种情况。正如前面所述,代码工作正常,但突然停止工作。

考虑使用,而不是手动直接查询。