无法从地点详情 api 中获取 photo_reference
Unable to get photo_reference from place details api
我正在使用 google 个地点 api 获取该地点的照片,但我无法在返回的 JSON 中找到 "photo_reference" 字段。这是我到目前为止所做的。
NSString *urlString = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/details/json?placeid=%@&key=%@",placeId,appKey];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue new] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
if (!connectionError) {
NSLog(@"Got Place Details");
NSDictionary *details = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
NSString *photo_reference = [[[[details valueForKey:@"result"] valueForKey:@"photos"] objectAtIndex:0] valueForKey:@"photo_reference"];
NSLog(@"");
NSString *urlString = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/photo?maxwidth=302&maxheight=275&photoreference=%@&key=%@",photo_reference,appKey];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue new] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
NSLog(@"Inner Request");
if (!connectionError) {
}];
}
}];
Places API 文档说 photo_reference 可以从 "Place Search" 或 "Place Details" 请求中找到。我从 none 得到的。
我使用 place_id 请求地点详细信息,但 json 没有任何 "photos" 键。
同样的问题
从昨天开始有些变化,但我不知道是什么或为什么。
编辑:今天它又开始工作了,可能是 google 的一些随机错误。
我正在使用 google 个地点 api 获取该地点的照片,但我无法在返回的 JSON 中找到 "photo_reference" 字段。这是我到目前为止所做的。
NSString *urlString = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/details/json?placeid=%@&key=%@",placeId,appKey];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue new] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
if (!connectionError) {
NSLog(@"Got Place Details");
NSDictionary *details = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
NSString *photo_reference = [[[[details valueForKey:@"result"] valueForKey:@"photos"] objectAtIndex:0] valueForKey:@"photo_reference"];
NSLog(@"");
NSString *urlString = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/photo?maxwidth=302&maxheight=275&photoreference=%@&key=%@",photo_reference,appKey];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue new] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
NSLog(@"Inner Request");
if (!connectionError) {
}];
}
}];
Places API 文档说 photo_reference 可以从 "Place Search" 或 "Place Details" 请求中找到。我从 none 得到的。 我使用 place_id 请求地点详细信息,但 json 没有任何 "photos" 键。
同样的问题
从昨天开始有些变化,但我不知道是什么或为什么。
编辑:今天它又开始工作了,可能是 google 的一些随机错误。