【问题标题】:GMSServices GMSGeocoder reverseGeocodeCoordinate language of returned results in IOSGMSServices GMSGeocoder reverseGeocode IOS中返回结果的坐标语言
【发布时间】:2015-08-10 16:00:50
【问题描述】:

我有两个成对使用的应用程序,它们都使用 GMSServices 的 GMSGeocoder 进行反向地理编码坐标搜索。但是在第一个结果中,结果以英语出现,而在其他结果中,则以设备本地语言出现。设备相同

我搜索了很多,发现现在没有办法让 GMSGeocoder 使用指定的语言作为结果。这是不可能的,我们应该改用 google API 请求。但它以某种方式工作,我不知道如何让第二个应用程序仅以英语返回结果。

类似的问题 mapView - 同一设备上的不同语言。

无论设备本地化如何为 GMSServices 设置英文?

【问题讨论】:

  • 我认为您无法更改 GMSGeocoder 的语言,但您可以尝试更改应用程序的语言:stackoverflow.com/a/24333593/4195406
  • 我要找的东西。此代码应用于第一个应用程序。十分感谢!你让我开心。
  • 有副作用吗?
  • 我只使用英语作为应用程序语言,所以没有注意到任何东西。 (当然,这并不意味着他们不能在那里。)
  • 我为此 Question 添加了一个答案。能完美解决这个问题??????。

标签: ios google-maps


【解决方案1】:

GMSGeocoder 向您发送了县名,但没有发送国家 ISO 代码。

您可以使用本机 CLGeocoder 类从纬度和经度获取 counytyISOcode。例如:

CLLocation *location = (your location)
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:location completionHandler:
    ^(NSArray* placemarks, NSError* error){
        if ([placemarks count] > 0)
        {
            CLPlacemark *placemark = [placemarks objectAtIndex:0];
            NSLog(@"Your counry is %@",placemark. ISOcountryCode);
        }
}];

【讨论】:

    【解决方案2】:

    stackoverflow.com/a/24333593/4195406复制粘贴答案

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    添加

    NSArray *languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
        if (![[languages firstObject] isEqualToString:@"en"]) {
            [[NSUserDefaults standardUserDefaults] setObject:@[@"en"] forKey:@"AppleLanguages"];
            [[NSUserDefaults standardUserDefaults] synchronize];
        }
    

    这对我有用

    【讨论】:

      【解决方案3】:

      除了@Dren 的答案 - 它还有助于在数组中添加 regionCode

      NSArray *languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
          if (![[languages firstObject] isEqualToString:@"he"]) {
              [[NSUserDefaults standardUserDefaults] setObject:@[@"he",@"he-IL"] forKey:@"AppleLanguages"];
              [[NSUserDefaults standardUserDefaults] synchronize];
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多