我正在构建一个使用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);
}
答案 0 :(得分:2)
您需要更大的半径。在您提供的网址中,我将radius=500
更改为radius=5000
,然后就可以了。 New URL。基本上没有距那个纬度/长度500米范围内的自动取款机,但有5000米以内的自动取款机。
这是一个问题。另一个问题是沙皇对你的问题的评论。