iphone ios xcode clgeocoder

iphone - ¿Cómo localizar el resultado de la dirección de reverseGeocodeLocation?



ios xcode (3)

Desde iOS11, Apple nos proporciona otra API que puede establecer la configuración regional para imprimir el idioma localizado.

- (void)reverseGeocodeLocation:(CLLocation *)location preferredLocale:(nullable NSLocale *)locale completionHandler:(CLGeocodeCompletionHandler)completionHandler API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0));

Se supone que mi aplicación de iPhone resuelve la dirección según la latitud y la longitud del usuario. reverseGeocodeLocation funciona bien, pero los resultados están en inglés.

¿Hay una manera de localizar los resultados a otros idiomas?

No se pudo encontrar ninguna información al respecto en Apple o en cualquier otro lugar.

El código que utilizo es:

CLGeocoder *geocoder = [[[CLGeocoder alloc] init] autorelease]; CLLocation *location = [[[CLLocation alloc] initWithLatitude:coord.latitude longitude:coord.longitude] autorelease]; [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) { NSLog(@"reverseGeocodeLocation:completionHandler: Completion Handler called!"); if (error){ NSLog(@"Geocode failed with error: %@", error); [self displayError:error]; return; } if(placemarks && placemarks.count > 0) { //do something CLPlacemark *topResult = [placemarks objectAtIndex:0]; NSString *addressTxt = [NSString stringWithFormat:@"%@ %@,%@ %@", [topResult subThoroughfare],[topResult thoroughfare], [topResult locality], [topResult administrativeArea]]; } }


Encontré cómo localizar el nombre del país, tal vez ayude:

CLPlacemark *placemark; NSString *identifier = [NSLocale localeIdentifierFromComponents: [NSDictionary dictionaryWithObject: placemark.ISOcountryCode forKey: NSLocaleCountryCode]]; NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; NSString *country = [usLocale displayNameForKey: NSLocaleIdentifier value: identifier];

inserte cualquier ID de país en su lugar @ "en_US"


Mattt Thompson tiene una gran writeup sobre el uso de un método de AddressBookUI.framework para localizar direcciones en su sitio NSHipster . También tiene una biblioteca de formato en github que contiene una clase para hacer este tipo de localización que utiliza el enfoque AddressBookUI.framework que ha descrito.