反向地理编码位置:比范围更准确
Posted
技术标签:
【中文标题】反向地理编码位置:比范围更准确【英文标题】:Reverse Geocode Location: more accuracy than range 【发布时间】:2017-05-03 15:55:01 【问题描述】:我想获得比函数地址范围更准确的地址(从坐标)
geoCoder.reverseGeocodeLocation(location, completionHandler: )
在 google maps API 指南 (https://developers.google.com/maps/documentation/geocoding/intro#Results) 中,他们指定我可以更改 location_type 以获得更准确的地址。如何指定这些参数?这是我的代码:
let geoCoder = CLGeocoder()
let location = CLLocation(latitude: center.latitude, longitude: center.longitude)
geoCoder.reverseGeocodeLocation(location, completionHandler: (placemarks, error) -> Void in ...
)
【问题讨论】:
【参考方案1】:如果您想使用链接时的Google Maps API
,您需要形成对 API 的 HTTP 请求(使用您从 Google 获得的 API Key
)。 reverseGeocodeLocation
使用 Apple 的 Map API,绝对不能接受 Google 的 location_type
参数。因此,您要发出的核心 HTTP 请求采用以下形式:
let url:String = "https://maps.googleapis.com/maps/api/geocode/json?latlng=\(center.latitude),\(center.longitude)&location_type=\(DESIRED_LOCATION_TYPE)&key=\(YOUR_API_KEY)"
在您指定的链接中,DESIRED_LOCATION_TYPE
可以是以下之一:
“ROOFTOP”将结果限制为我们拥有的地址 位置信息精确到街道地址。
“RANGE_INTERPOLATED”将结果限制为反映 近似值(通常在道路上)在两个精确之间插值 点(例如交叉点)。一般是插值范围 表示街道地址的屋顶地理编码不可用。
"GEOMETRIC_CENTER" 将结果限制在一个几何中心 位置,例如折线(例如街道)或多边形 (地区)。
"APPROXIMATE" 将结果限制为 以近似为特征。
【讨论】:
以上是关于反向地理编码位置:比范围更准确的主要内容,如果未能解决你的问题,请参考以下文章