我使用了Google地理地址,并使用lat / long获得了地址。我如何确定我是否在路上?对道路进行基本打击测试?我目前正在使用lat / long的位置管理器,并且GeoAddress在路上和路旁都是相同的。
答案 0 :(得分:9)
使用reverse geocoding via the Google Geocoding API。
术语地理编码通常是指翻译人类可读的 地址到地图上的位置。做反过来的过程, 将地图上的位置翻译成人类可读的地址,是 称为反向地理编码。
地理编码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查找最接近道路的路线?
快速搜索结果
未解决的类似问题
答案 1 :(得分:2)
使用OSRM(最近的)Web服务可以轻松完成。发出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