在iOS中利用CLMapKit进行地理位置反向编码(ReverseGeoCoding)

By | 2012 年 4 月 26 日

在iOS开发中,可以很方便地通过CLMapKit进行反向解码,即从一个坐标(经度xxx,维度yyy)得到其相对来说更有意义的地名,如(北京市海淀区颐和园路北京大学)
代码很简单如下:

-(void)reversGeoCoding{
    if (!self.geoCoder) {
        self.geoCoder = [[CLGeocoder alloc] init];
    }
    CLLocation *location = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude];
    [self.geoCoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
        NSLog(@"geoCode completed");
        CLPlacemark *placemark = [placemarks lastObject];
        if (placemark) {
            NSLog(@"%d placemark found:%@",placemarks.count,placemark);
            NSString *str = placemark.name;
            if (str && str.length > 0) {
                self.subtitle = str;
            }
        }
    }];
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注