我有一个前向地理编码块。像这样:
[_geoCoder geocodeAddressString:searchString completionHandler:^(NSArray *placemarks, NSError *error) {....}];
按原样,地理编码数据存储在NSArray *
地标中。现在我想对地图进行一些注释,addAnnotation
方法需要MKPlacemark
,那么如何将NSArray
中的地标转换为MKPlacemark
?感谢。
答案 0 :(得分:0)
这是你想要做的:迭代参数数组 - 意思是,从数组中获取每个项目。在我们提取项目时,我们希望使用项目包含的数据创建MKPlacemark对象。
Objective-C语言为我们提供了一个特殊工具,允许我们遍历数组 - “forin”循环:
for (CLPlacemark *placemark in placemarks)
{
// insert code here
}
现在,我们要从“placemark”创建一个MKPlacemark对象:(注意:MKPlacemark对象 是一个CLPlacemark对象)
MKPlacemark *mkPlacemark = [MKPlacemark initWithCoordinate:(CLLocationCoordinate2D)coordinate
addressDictionary:(NSDictionary<NSString *,id> *)addressDictionary;]