Получение CLLocationCoordinate из почтового индекса? - PullRequest
0 голосов
/ 06 октября 2011

Как бы вы поступили так? Предлагает ли iOS API какие-либо функции для получения набора координат из почтового индекса?

Обратный геокодер дает мне почтовый индекс из набора координат, но могу ли я сделать это другим?

Ответы [ 2 ]

2 голосов
/ 08 мая 2014

Вы можете использовать класс Apple CLGeocoder, чтобы перенаправить геокодирование строки в набор совпадающих CLPlacemarks, каждый из которых будет содержать пары координат для их местоположений.Например:

CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:@"94107" completionHandler:^(NSArray *placemarks, NSError *error) {
    NSLog(@"Received placemarks: %@", placemarks);
}];

Или же вместо этого вы можете попробовать использовать метод geocodeAddressDictionary:, который может дать более точные / надежные результаты (хотя я лично не проверял):

CLGeocoder *geocoder = [[CLGeocoder alloc] init];
NSDictionary *locationDictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"94107", kABPersonAddressZIPKey, nil];
[geocoder geocodeAddressDictionary:locationDictionary completionHandler:^(NSArray *placemarks, NSError *error) {
    NSLog(@"Received placemarks: %@", placemarks);
}];

Подробнее здесь: https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLGeocoder_class/Reference/Reference.html#//apple_ref/occ/cl/CLGeocoder

1 голос
/ 06 октября 2011

В настоящее время iOS API предлагает только обратное геокодирование, что означает, что вы можете получить адрес только по CLLocation, а не наоборот.Если вы хотите выполнить прямое геокодирование, вы должны использовать Google Web API, как вы можете прочитать здесь http://blog.sallarp.com/ipad-iphone-forward-geocoding-api-google/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...