我看过每一个地方,并没有找到答案。
我正在构建一个使用用户位置(lat + long)的iOS应用 创建一个CLPlacemark,并将street + country发送到服务器并根据此位置返回响应。
现在服务器只能获得希伯来语值,并且CLPlacemark值会根据用户的操作系统进行更改。
我可以将一个const语言设置为CLPlacemark类实例吗? 我希望CLPlacemark将返回希伯来语,无论用户的操作系统如何
这是我的代码:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
geoCoder = [[CLGeocoder alloc]init];
[self.geoCoder reverseGeocodeLocation:locationManager.location completionHandler:
^(NSArray *placemarks, NSError *error) {
CLPlacemark *placemark = [placemarks objectAtIndex:0];
placemark.
self.countryTextBox.text =[placemark.addressDictionary valueForKey:@"Country"];
self.citiTextBox.text =[placemark.addressDictionary valueForKey:@"City"];
self.streetTextBox.text =[placemark.addressDictionary valueForKey:@"Street"];
self.zipCodLbl.text =[placemark.addressDictionary valueForKey:@"ZIP"];
//NSLog(@"%@",placemark.addressDictionary);
NSLog(@"%@",[placemark.addressDictionary valueForKey:@"Country"]);
NSLog(@"%@",[placemark.addressDictionary valueForKey:@"City"]);
NSLog(@"%@",[placemark.addressDictionary valueForKey:@"Street"]);
NSLog(@"%@",[placemark.addressDictionary valueForKey:@"ZIP"]);
[locationManager stopUpdatingLocation];
[self.animationBar stopAnimating];
}];
}
非常感谢。
IDAN。
答案 0 :(得分:4)
在视图中加载时只需添加以下代码行:
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"he"] forKey:@"AppleLanguages"];
如果这对某人有帮助 - 太好了!
答案 1 :(得分:0)
搞乱用户的系统偏好是不好的做法!! 你应该改用:
NSLocale *yourLocal = [[NSLocale alloc] initWithLocaleIdentifier:@"de"];
[geoCoder reverseGeocodeLocation: preferredLocale:yourLocal completionHandler:
^(NSArray *placemarks, NSError *error) {
}];