【发布时间】:2013-12-16 03:03:32
【问题描述】:
我使用了谷歌地理地址并使用 lat/long 得到了地址。我如何确定我是否在路上?基本上是道路测试?我目前正在使用纬度/经度的位置管理器,并且在道路上和道路旁边的地理地址是相同的。
【问题讨论】:
标签: android google-maps-android-api-2
我使用了谷歌地理地址并使用 lat/long 得到了地址。我如何确定我是否在路上?基本上是道路测试?我目前正在使用纬度/经度的位置管理器,并且在道路上和道路旁边的地理地址是相同的。
【问题讨论】:
标签: android google-maps-android-api-2
使用reverse geocoding via the Google Geocoding API。
术语地理编码通常是指翻译人类可读的 地址到地图上的一个位置。做相反的过程, 将地图上的位置翻译成人类可读的地址,是 称为反向地理编码。
Geocoding API 支持直接使用 latlng 进行反向地理编码 范围。例如,以下查询包含 布鲁克林某个位置的纬度/经度值:
http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true_or_false
文档解释了如何解释 json 结果,但 StackOverflow 提供了各种答案来解决更有效的数据解析方法。
可能的解决方案
Getting the nearest street/road coordinates in android - 这个问题的答案可能会为您指明正确的方向。
您可以直接使用路线API:http://maps.googleapis.com/maps/api/directions/json?origin=51,19&destination=51,19&sensor=false
您能否使用 API 查找路线,然后提供最近的道路?
快速搜索结果
未解决的类似问题
【讨论】:
使用 OSRM(最近的)网络服务可以轻松得多。发出如下 GET 请求:
const url = '//router.project-osrm.org/nearest/v1/driving/';
fetch(url + coord.lon + ',' + coord.lat).then(function(response) {
return response.json();
}).then(function(json) {
if (json.code === 'Ok') {
console.info(json.waypoints[0].location);
}
});
这是道路/街道坐标。
参考资料——Project-OSRM
【讨论】: