【发布时间】:2018-02-01 22:59:49
【问题描述】:
我在我的 iOS 项目中使用来自 Google Places API 的 GMSAutoCompleteViewController。
今天突然我的 GMSAutoCompleteViewController 不断给我错误“无法加载搜索结果”。
我已使用新的 API 密钥重新生成了我的 API 密钥。我已经尝试了一切,但仍然有一些它不起作用。
我正在使用 Objective-C。有人可以帮忙吗?
代码
GMSAutocompleteViewController *acController = [[GMSAutocompleteViewController alloc] init];
acController.delegate = self;
[self.navigationController pushViewController:acController animated:YES];
委托方法
- (void)viewController:(GMSAutocompleteViewController *)viewController
didAutocompleteWithPlace:(GMSPlace *)place {
// Do something with the selected place.
NSLog(@"Place name %@", place.name);
NSLog(@"Place address %@", place.formattedAddress);
NSLog(@"Place attributions %@", place.attributions.string);
NSLog(@"Latitude = %.20f",place.coordinate.latitude);
NSLog(@"Longitude = %.20f",place.coordinate.longitude);
NSLog(@"Type = %@",place.types);
NSLog(@"Place ID = %@",place.placeID);
//[self dismissViewControllerAnimated:YES completion:nil];
[self.navigationController popViewControllerAnimated:YES];
/* Call and API in background to get the address according to the new LAT AND LONG as well
Once get the address from there we can store the latitude and longitude in the cache
if type of search is Postal code then we have to call another web service i.e. FIND ADDRESS to get the whole exact address */
[self callWS_ConvertLatLongWithLatitude:[NSString stringWithFormat:@"%.20f",place.coordinate.latitude]
andLongitude:[NSString stringWithFormat:@"%.20f",place.coordinate.longitude]
inBackground:NO];
}
- (void)viewController:(GMSAutocompleteViewController *)viewController
didFailAutocompleteWithError:(NSError *)error {
NSLog(@"error: %ld", [error code]);
[self.navigationController popViewControllerAnimated:YES];
}
// User canceled the operation.
- (void)wasCancelled:(GMSAutocompleteViewController *)viewController {
NSLog(@"Autocomplete was cancelled.");
[self.navigationController popViewControllerAnimated:YES];
}
// Turn the network activity indicator on and off again.
- (void)didRequestAutocompletePredictions:(GMSAutocompleteViewController *)viewController {
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
}
- (void)didUpdateAutocompletePredictions:(GMSAutocompleteViewController *)viewController {
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}
【问题讨论】:
-
在您获得搜索结果之前或开始时您会收到此错误?你有没有在 didFinishLaunchingWithOptions 中设置 GMSPlacesClient.provideAPIKey("API_KEY_HERE")
-
直到昨天我才能够得到搜索结果。今天突然出现错误。
-
如果我继续按“再试一次”,它会显示一些结果列表,我从那里选择一个结果,然后再次显示“无法加载搜索结果”
-
我相信您遇到了此处报告的问题:issuetracker.google.com/issues/64280749
-
没错,这是同一个问题。我还在谷歌问题跟踪器上报告了它。感谢上帝,它现在解决了。 :-)
标签: ios google-maps google-places-api gmsautocomplete