Swift 根据名称获取城市坐标
Swift get coordinates of a city by its name
我正在尝试通过名称获取城市的纬度和经度。
如果我输入城市名称 "london" 我的输出应该是它的坐标
我可以使用此代码通过坐标获取名称:
var longitude :CLLocationDegrees = 41.0247
var latitude :CLLocationDegrees = 40.522
var location = CLLocation(latitude: latitude, longitude: longitude)
println(location)
CLGeocoder().reverseGeocodeLocation(location, completionHandler: {(placemarks, error) -> Void in
println(location)
if error != nil {
println("Reverse geocoder failed with error" + error.localizedDescription)
return
}
if placemarks.count > 0 {
let pm = placemarks[0] as! CLPlacemark
println(pm.locality)
}
else
{
println("Problem with the data received from geocoder")
}
})
反向地理编码将坐标作为输入并输出地址/行政级别。
地理编码的作用恰恰相反,这正是您所追求的。看看CLGeocoder's documentation page,都在
我正在尝试通过名称获取城市的纬度和经度。 如果我输入城市名称 "london" 我的输出应该是它的坐标
我可以使用此代码通过坐标获取名称:
var longitude :CLLocationDegrees = 41.0247
var latitude :CLLocationDegrees = 40.522
var location = CLLocation(latitude: latitude, longitude: longitude)
println(location)
CLGeocoder().reverseGeocodeLocation(location, completionHandler: {(placemarks, error) -> Void in
println(location)
if error != nil {
println("Reverse geocoder failed with error" + error.localizedDescription)
return
}
if placemarks.count > 0 {
let pm = placemarks[0] as! CLPlacemark
println(pm.locality)
}
else
{
println("Problem with the data received from geocoder")
}
})
反向地理编码将坐标作为输入并输出地址/行政级别。
地理编码的作用恰恰相反,这正是您所追求的。看看CLGeocoder's documentation page,都在