2011-04-30 17 views
5

Cómo obtener el código postal de la ubicación actual usando mapkit, no encontré ninguna API para obtener esto en el documento. utilicé los parámetros de coordenadas, actitud, horizontal, vertical, curso y velocidad de CLLocationManager, pero no obtuve el código postal.Obtenga el código postal de la ubicación actual - iPhone SDK

¿Podría alguien darme la API o el código de muestra para hacerlo?

¿Es posible obtener el código postal utilizando la ubicación actual en el iPhone?

Respuesta

1

Puede usar la latitud y la longitud para crear un MKPlacemark object, que incluye el código postal.

Here es una muestra que muestra cómo hacerlo.

+0

Muchas gracias Nick, he comprobado su funcionamiento, gracias por su ayuda. –

9

geocodificación inversa en el iPhone:

primero Añadir <MobileCoreServices/MobileCoreServices.h> marco.

-(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]; 
    } 

geocodificación inversa para obtener detalles lugar con ubicación 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 
     } 
    }]; 
} 

Para más detalles para llegar de GPS:

placemark.region 
placemark.country 
placemark.locality 
placemark.name 
placemark.ocean 
placemark.postalCode 
placemark.subLocality 
placemark.location 
Cuestiones relacionadas