преобразовать NSArray в MKPlacemark

У меня есть прямой блок геокодирования. как это:

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

Как есть, данные геокодирования хранятся в NSArray * метках. Теперь я хотел бы сделать некоторую аннотацию к карте. Для метода addAnnotation требуется MKPlacemark, так как же мне преобразовать метку места в NSArray в MKPlacemark? Спасибо.


person Rich    schedule 16.11.2016    source источник
comment
@vadian: Нет, он содержит объекты CLPlacemark: developer.apple.com/reference/corelocation/   -  person moonman239    schedule 16.11.2016


Ответы (1)


Вот что вы хотите сделать: выполнить итерацию по массиву параметров, то есть выбрать каждый элемент из массива. Когда мы извлекаем элементы, мы хотим создать объекты MKPlacemark, используя данные, содержащиеся в элементах.

Язык Objective-C дает нам специальный инструмент, который позволяет перебирать массив — цикл «forin»:

for (CLPlacemark *placemark in placemarks)
{
// insert code here
}

Теперь мы хотим создать объект MKPlacemark из «метки»: (Примечание: объект MKPlacemark является объектом CLPlacemark)

MKPlacemark *mkPlacemark = [MKPlacemark initWithCoordinate:(CLLocationCoordinate2D)coordinate 
                 addressDictionary:(NSDictionary<NSString *,id> *)addressDictionary;]
person moonman239    schedule 16.11.2016