从 reverseGeocodeLocation 仅返回英文地址
Posted
技术标签:
【中文标题】从 reverseGeocodeLocation 仅返回英文地址【英文标题】:Returning address only in English from reverseGeocodeLocation 【发布时间】:2015-11-16 19:53:58 【问题描述】:我的应用程序是基于地理位置的应用程序,tableview 中的每个条目都有条目的位置。我发现奇怪的是,当用户来自美国以外的地方时,位置是用他们的语言写的。例如,有一位来自越南的用户,地址是用越南语写的。 我正在使用如下所示的 reverseGeocodeLocation 来检索条目位置的地址。有没有办法只用英语获得结果?我在其他***问题中尝试了代码,但没有奏效。
我首先使用 Parse 获取地理点。我不需要这样做,但我只是决定这样做。
PFGeoPoint.geoPointForCurrentLocationInBackground
(geoPoint: PFGeoPoint?, error: NSError?) -> Void in
var location = CLLocation(latitude: GlobalVariable.userLocation!.latitude, longitude: GlobalVariable.userLocation!.longitude)
CLGeocoder().reverseGeocodeLocation(location, completionHandler: (placemarks, error) -> Void in
if error != nil
print("Reverse geocoder failed with error" + error!.localizedDescription, terminator: "")
return
if placemarks!.count > 0
let pm = placemarks![0] as CLPlacemark
GlobalVariable.detailedLocation = "\(pm.subLocality)," + " \(pm.locality)," + " \(pm.ISOcountryCode)"
【问题讨论】:
How to force language in which reverse geocoding data on ios is received?的可能重复 知道了。谢谢。所以我想我需要使用 Google API 来做到这一点。 【参考方案1】:您可以将参数“preferredLocale”传递给特定语言
let locale = Locale(identifier: "en_US")
CLGeocoder().reverseGeocodeLocation(location, preferredLocale: locale, completionHandler: (placemarks, error) in
)
【讨论】:
以上是关于从 reverseGeocodeLocation 仅返回英文地址的主要内容,如果未能解决你的问题,请参考以下文章
使用 reverseGeocodeLocation: 设置地址字符串并从方法返回
无法从 CLGeocoder reverseGeocodeLocation 返回字符串
reverseGeocodeLocation 存储为 NSString 产生错误
reverseGeocodeLocation(_ location: CLLocation) 方法是不是在离线模式下工作?