首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS5 CLGeocoder

iOS5 CLGeocoder
EN

Stack Overflow用户
提问于 2012-04-24 02:47:43
回答 2查看 3.2K关注 0票数 3

我正在为IOS5开发一个iPhone应用程序。我目前使用的是位于CoreLocation框架中的CLGeocoder类。我无法确定完成处理程序块是在结束时调用的,还是在地理编码发生后调用的,还是同时调用的。

我只知道完成处理程序块是在主线程上运行的。是否有人知道完成处理程序块是在地理编码完成时运行的,还是在地理编码器在另一个线程上执行时用于完成手头任务的代码?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-24 03:31:29

完成处理程序在地理编码器完成地理编码后运行。换句话说,它是在地理编码任务完成时运行的。它不是用来在地理编码器运行时完成其他任务的。

完成处理程序包含地标和一个错误。如果地理编码成功,您将获得一个placemarks数组。如果不是,您将得到一个错误。

文档中的注释:

此方法将指定的位置数据异步提交到地理编码服务器并返回。您的完成处理程序块将在主线程上执行。发起正向地理编码请求后,请勿尝试发起另一个正向或反向地理编码请求。

对于每个应用程序,地理编码请求是有速率限制的,因此在短时间内发出太多请求可能会导致一些请求失败。当超过最大速率时,地理编码器将一个值为kCLErrorNetwork的错误对象传递给您的完成处理程序。

代码语言:javascript
复制
@interface MyGeocoderViewController ()

@property (nonatomic, strong) CLGeocoder *geocoder;

@end

@implementation MyGeocoderViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
   
    // Create a geocoder and save it for later.
    self.geocoder = [[CLGeocoder alloc] init];
}
- (void)geocodeAddress:(NSString *)addressString
{
    // perform geocode
    [geocoder geocodeAddressString:addressString
        completionHandler:^(NSArray *placemarks, NSError *error) {

        if ((placemarks != nil) && (placemarks.count > 0)) {
            NSLog(@"Placemark: %@", [placemarks objectAtIndex:0]);
        }
        // Should also check for an error and display it
        else {
            UIAlertView *alert = [[UIAlertView alloc] init];
            alert.title = @"No places were found.";
            [alert addButtonWithTitle:@"OK"];
            [alert show];
        }
    }];
}

@end
票数 6
EN

Stack Overflow用户

发布于 2012-06-21 06:38:23

Apple文档中写道:此方法将指定的位置数据异步提交到地理编码服务器并返回。您的完成处理程序块将在主线程上执行。发起正向地理编码请求后,请勿尝试发起另一个正向或反向地理编码请求。

不需要使用GCD在IBOulet上分发更新。

http://developer.apple.com/library/ios/#DOCUMENTATION/CoreLocation/Reference/CLGeocoder_class/Reference/Reference.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10286398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档