0

我有一个正向地理编码块。像这样:

[_geoCoder geocodeAddressString:searchString completionHandler:^(NSArray *placemarks, NSError *error) {....}];

照原样,地理编码数据存储在NSArray *地标中。现在我想对地图做一些注释,该addAnnotation方法需要 a MKPlacemark,那么如何将地点标记转换NSArray为 a MKPlacemark?谢谢。

4

1 回答 1

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;]
于 2016-11-16T17:45:39.407 回答