我使用以下代码从lat和long获取地址:
NSLog(@">>>>%f,%f",location.latitude,location.longitude);
[[GMSGeocoder geocoder] reverseGeocodeCoordinate:location completionHandler:^(GMSReverseGeocodeResponse *resp, NSError *error)
{
NSLog(@"response%@",resp);
}];
当我尝试使用正确的lat和long进行地理编码时,对于特定位置,我得到null作为响应,错误就是这个。我的Android设备没有发生这种情况。
我可以看到响应为nil,错误是:
Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={NSErrorFailingURLStringKey=https://clients4.google.com/glm/mmap, _kCFStreamErrorCodeKey=-2102, NSErrorFailingURLKey=https://clients4.google.com/glm/mmap, NSLocalizedDescription=The request timed out., _kCFStreamErrorDomainKey=4, NSUnderlyingError=0x1659ae80 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSErrorFailingURLStringKey=https://clients4.google.com/glm/mmap, NSErrorFailingURLKey=https://clients4.google.com/glm/mmap, NSLocalizedDescription=The request timed out., _kCFStreamErrorDomainKey=4}}}
答案 0 :(得分:0)
出现此问题是因为您的API密钥已过期,如果您在Google控制台中重新生成API密钥,它将可以正常工作并获得响应
API密钥示例:AIzaSyDleduRwellp3OwLMAOzLt4MZWsJMWqMvM
答案 1 :(得分:0)
如果您使用的是模拟器,还请检查您的模拟器位置设置是否设置为none
。您可以通过选择模拟器进行检查,然后转到:
Debug> Location> none
希望有帮助。