在iOS中使用GMSMap获取“null”reverseGeocodeCoordinate方法?

问题描述 投票:0回答:2

我使用以下代码从lat和long获取地址:

NSLog(@">>>>%f,%f",location.latitude,location.longitude);

[[GMSGeocoder geocoder] reverseGeocodeCoordinate:location completionHandler:^(GMSReverseGeocodeResponse *resp, NSError *error)
 {
     NSLog(@"response%@",resp);
 }];

当我尝试使用正确的纬度和长度进行地理编码时,对于特定位置,我得到null作为响应并且错误就是这个。我的Android设备没有发生这种情况。

我可以看到响应为零,错误是:

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}}}
ios objective-c google-maps location geocode
2个回答
0
投票

出现此问题是因为您的API密钥已过期,如果您在Google控制台中重新生成API密钥,它将起作用并获得您的响应

API密钥示例:AIzaSyDleduRwellp3OwLMAOzLt4MZWsJMWqMvM


0
投票

如果您正在使用模拟器,还要检查您的模拟器位置设置是否设置为none。您可以通过选择模拟器进行检查,然后转到:

调试>位置>无

希望能帮助到你。

© www.soinside.com 2019 - 2024. All rights reserved.