reverseGeocodeLocation返回地标,其中包含一些阿拉伯语信息和一些英文信息

时间:2017-03-09 13:02:14

标签: ios localization reverse-geocoding mkplacemark

我已经实施reverseGeocodeLocation来获取纬度和经度的地址。它工作正常。

我将语言改为阿拉伯语,如下所示:NSUserDefaults.standardUserDefaults().setObject(["ar"], forKey: "AppleLanguages")

现在,我正在调用reverseGeocodeLocation函数并获得阿拉伯语的结果。

但是,对于某些纬度经度,它会返回一些阿拉伯语和一些英语语言的信息。例如: 纬度:21.1591493 经度:72.6823397 城市:Surat

返回:
placemark.name = 394550
placemark.locality =苏拉特[英语]
placemark.administrativeArea =غوجارات[阿拉伯语]
placemark.country =الهند[阿拉伯语]

所以,问题是:为什么我在某些地方得到奇怪的结果?
获取阿拉伯语所有信息的解决方法是什么?

注意:我正在使用Apple CLGeocoder的reverseGeocodeLocation方法,而不是Google api。所以不要混淆。

1 个答案:

答案 0 :(得分:0)

  

回答1个问题。

谷歌可能没有英文名称,这就是为什么它会以阿拉伯文返回。  顺便说一句,地理编码服务的默认域名是美国。

  

回答2个问题。

您还可以设置地理编码服务,使用region参数显式返回偏向特定区域的结果。此参数采用区域代码,指定为IANA language region subtag

您需要在请求中传递区域代码参数。 在你的情况下,它将是region = ar。

了解更多信息go to documentation.