我正面临一些奇怪的问题reverseGeocodeLocation
。这就是我所做的。reverseGeocodeLocation每次都不工作
我从一个view controller
推到另一个。出现视图后,我要求获取当前位置。在didUpdateLocations delegate
当我收到当前位置,我呼吁reverseGeocodeLocation
获得地点标记值。
问题
- 在它就像魅力
- 有时它会等待并显示出较长的时间间隔后的结果
- 有时,我没有得到任何结果的时间。
下面是我的代码来获取反向地理位置
- (void)getReverseLocation
{
__block CLPlacemark* placemark;
CLGeocoder* geocoder = [CLGeocoder new];
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error)
{
if(error)
NSLog(@">>>>>>>> Error in reverseGeoLocation - %@", [error localizedDescription]);
if (error == nil && [placemarks count] > 0)
{
placemark = [placemarks lastObject];
completionBlock(placemark);
}
}];
}
我不知道为什么它的行为像这样。我在相同的位置和互联网连接是好的。
这是因为线程?我也在主线上尝试了这一点。但同样的问题。
编辑:我得到这个错误,一些尝试
错误reverseGeoCodeLocation后 - The operation couldn’t be completed. (kCLErrorDomain error 8.)
这是一个Web服务并具有速率和其他限制,请参阅Apple文档。在错误检查和打印错误,看看为什么。将错误信息添加到问题。同时显示你的代码,特别是completionHandler代码。 – zaph
是的Zaph,刚刚看到了文档。我认为没有选择,而不是等待它得到结果。是否有其他解决方案来获取它? – JiteshW
我想抓住错误。但它现在不出现。一旦我遇到它,我会分享它。 :) – JiteshW