Получить почтовый индекс текущего местоположения - iPhone SDK - PullRequest
5 голосов
/ 30 апреля 2011

Как получить почтовый индекс текущего местоположения с помощью mapkit, я не нашел API для получения этого в документе. я использовал координаты, отношение, горизонтальный, вертикальный, курс и параметры скорости CLLocationManager, но не смог получить почтовый индекс.

Может ли кто-нибудь дать мне API или пример кода, чтобы сделать это.

Можно ли получить почтовый индекс, используя текущее местоположение в iphone?

Ответы [ 2 ]

9 голосов
/ 30 ноября 2013

Обратное геокодирование в iPhone:

Первое добавление <MobileCoreServices/MobileCoreServices.h> framework.

-(void)CurrentLocationIdentifier
    {
        //---- For getting current gps location
        CLLocationManager *locationManager;
        CLLocation *currentLocation;

        locationManager = [CLLocationManager new];
        locationManager.delegate = self;
        locationManager.distanceFilter = kCLDistanceFilterNone;
        locationManager.desiredAccuracy = kCLLocationAccuracyBest;
        [locationManager startUpdatingLocation];
    }

Обратное геокодирование для получения сведений о месте с использованием местоположения GPS.

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    currentLocation = [locations objectAtIndex:0];
    [locationManager stopUpdatingLocation];

    CLGeocoder *geocoder = [[CLGeocoder alloc] init] ;
    [geocoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error)
     {
         if (!(error))
         {
             CLPlacemark *placemark = [placemarks objectAtIndex:0];
            NSLog(@"\nCurrent Location Detected\n");
             NSLog(@"placemark %@",placemark);
             NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "];

             NSString *Address = [[NSString alloc]initWithString:locatedAt];
             NSString *Zipcode = [[NSString alloc]initWithString:placemark.postalCode];
             NSLog(@"%@",Zipcode);      
         }
         else
         {
             NSLog(@"Geocode failed with error %@", error); // Error handling must required
         }
     }];
}

Длябольше деталей, чтобы получить от GPS:

 placemark.region
 placemark.country
 placemark.locality
 placemark.name
 placemark.ocean
 placemark.postalCode
 placemark.subLocality
 placemark.location
1 голос
/ 30 апреля 2011

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

Здесь представляет собой пример, который показывает, как это сделать.

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