google places api并没有给我任何结果

时间:2012-10-08 05:12:20

标签: ios json google-maps

我正在构建一个使用google places api的应用,我使用this url

当我在浏览器中使用时,所需的链接不会产生任何结果

我使用json来解析来自Google地方的数据,但是我得到了这个不寻常的警告,说NSString可能无法响应JSONValue

代码如下

-(IBAction)nearbyLocations:(id)sender
{        
    NSString *url=[NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/search/json?location=37.329558,122.025002&radius=500&types=atm&sensor=false&key=AIzaSyCIZ8MxCoMsfgj0ytE7azXGfjs_E__2Nhw"];
    NSURL *googleRequestURL=[NSURL URLWithString:url];
    dispatch_async(kBgQueue, ^{
        NSData* data = [NSData dataWithContentsOfURL: googleRequestURL];
        [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES];
    });
}

-(void)fetchedData:(NSData *)responseData
{
    //parse out the json data
    //NSError* error;

    NSString *jsonString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    NSLog(@"%@",jsonString);
    NSDictionary* json =[jsonString JSONValue];
    //[NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];

    //The results from Google will be an array obtained from the NSDictionary object with the key "results".
    NSArray* places = [json objectForKey:@"results"];

    //Write out the data to the console.
    NSLog(@"Google Data: %@", places);
}

1 个答案:

答案 0 :(得分:2)

您需要更大的半径。在您提供的网址中,我将radius=500更改为radius=5000,然后就可以了。 New URL。基本上没有距那个纬度/长度500米范围内的自动取款机,但有5000米以内的自动取款机。

这是一个问题。另一个问题是沙皇对你的问题的评论。