0

我已经实现reverseGeocodeLocation从纬度和经度获取地址。它工作正常。

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

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

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

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

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

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

4

1 回答 1

0

回答 1 个问题。

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

回答2个问题。

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

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

有关更多信息,请参阅文档。

于 2017-03-09T13:30:56.313 回答