我发现一些反向地理编码方法比其他方法效果更好,因此我选择了当前方法。
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
locationManager.stopUpdatingLocation()
if(locations.count > 0){
let location = locations[0] as! CLLocation
println(location.coordinate)
currLocation = location.coordinate
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
self.lbutton.text="\(pm.locality)"
}
else {
println("Problem with the data received from geocoder")
}
})
} else {
alert("Cannot fetch your location")
}
}
就像一个魅力一样,不会失败(但是有时位置更新需要几分钟,但这很公平),但是,我很好奇是否有可能让它精确定位城镇,而不仅仅是整个州?例如,它会说 Bushwick 而不仅仅是 New York?
我知道最近反向地理编码获取数据的方式发生了变化,但我想我应该问一些更熟悉这个主题的人。
最佳答案
您可以在此处查看您可以获得的所有属性:
关于ios - 是否有可能获得更精确的反向地理编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31763880/