【发布时间】:2016-11-07 16:16:05
【问题描述】:
所以,我是 swift 新手,我将当前的经纬度转换为城市名称和国家/地区,它可以正常工作:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
{
if didFindLocation == false
{
didFindLocation = true
locationManager.stopUpdatingLocation()
userLocation = locations[0]
long = userLocation.coordinate.longitude;
lat = userLocation.coordinate.latitude;
print("\(lat),\(long)")
converLocationToCity()
}
}
func converLocationToCity()
{
let geoCoder = CLGeocoder()
userLocation = CLLocation(latitude: self.lat, longitude: self.long)
geoCoder.reverseGeocodeLocation(userLocation, completionHandler:
{
(placemarks, error) -> Void in
var placeMark: CLPlacemark!
placeMark = placemarks?[0]
if let city = placeMark.addressDictionary!["State"] as? String
{
self.city = city as String
} else
{
self.city = ""
}
if let country = placeMark.addressDictionary!["Country"] as? String
{
self.country = country as String
} else
{
self.country = ""
}
self.currentCity.name = ("\(self.city), \(self.country)" as String)
print("\(self.currentCity.name)")
self.fetchWeather.performCurrentWeatherFetch(forSelectedCity: self.currentCity.name)
DispatchQueue.main.async()
{
(self.superview as! UICollectionView).reloadData()
}
})
}
但是当设备设置为其他语言时,例如俄语,它会以俄语字符返回城市名称和国家,但我需要它只是英文,请任何人提供一些想法或建议?谢谢!
【问题讨论】:
-
mm 这似乎是我所需要的,但它在 Objective 中,而且我是编程和 swift 方面的新手,所以我已经尝试了 40 分钟但无法管理它......
标签: ios swift3 cllocationmanager clplacemark