Я использую CLGeocoder для декодирования CLLocation из долготы/широты в географические названия. Это работает нормально. Но есть еще одна вещь, которая меня беспокоит. Когда я устанавливаю язык устройства на английский, результат кода ниже:
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation{
/* We received the new location */
NSLog(@"Latitude = %f", newLocation.coordinate.latitude);
NSLog(@"Longitude = %f", newLocation.coordinate.longitude);
[self.geoCoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray* placemarks, NSError* error){
MKPlacemark *placemarker = [placemarks objectAtIndex:0];
NSLog(@"%@",placemarker.locality);
}];
[self.locationManager stopUpdatingLocation];
}
отображается на английском языке, например: chengdu.
когда я меняю язык устройства на китайский,
placemarker.locality
возвращает значение китайского символа.
Но я действительно хочу, чтобы он всегда возвращал значение английского символа (без значения китайского символа). Я предполагаю, что это что-то связанное с локалью. Кто-нибудь может помочь в этом? Спасибо.