我已经实施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。所以不要混淆。
答案 0 :(得分:0)
回答1个问题。
谷歌可能没有英文名称,这就是为什么它会以阿拉伯文返回。 顺便说一句,地理编码服务的默认域名是美国。
回答2个问题。
您还可以设置地理编码服务,使用region参数显式返回偏向特定区域的结果。此参数采用区域代码,指定为IANA language region subtag。
您需要在请求中传递区域代码参数。 在你的情况下,它将是region = ar。
了解更多信息go to documentation.