Адрес / почтовый индекс как NSString для CLLocation

#ios #cllocationmanager #cllocation

#iOS #cllocationmanager #cllocation

Вопрос:

Есть ли способ преобразовать почтовый индекс, который пользователь вводит в текстовое поле, и преобразовать его в CLLocation? Я пытаюсь сравнить расстояние между их текущим местоположением и адресом или почтовым индексом, и это было бы легко, если бы я мог создать CLLocation из NSString.

Ответ №1:

процедура называется геокодированием, и именно так это выглядит, если вы ее реализуете:

 NString *_address = // any address or postcode

CLGeocoder *_geocoder = [[CLGeocoder alloc] init];
[_geocoder geocodeAddressString:_address completionHandler:^(NSArray *placemarks, NSError *error) {
    if (placemarks.count > 0) {
        CLPlacemark *_placemark = [placemarks firstObject];
        CLLocation *_location = _placemark.location;
        // ... do whaterver you want to do with the location
    }
}];
 

ПРИМЕЧАНИЕ: CoreLocation.framework необходимо правильно добавить в ваш проект. возможно, вам потребуется обработать ошибки в вашем окончательном блоке завершения, я не добавил такую часть в свой код выше.

Комментарии:

1. Я знал, что это должно быть легко. Большое спасибо!