Google Maps API v2如何确定经纬度坐标是否在路上

我已经使用Google地理地址,并使用经纬度得到的地址。 我如何确定我是否在路上? 基本上是通路testing吗? 我目前正在使用位置经理lat /长和GeoAddress是相同的道路上和旁边的道路。

最终解决scheme

通过Google地理编码API使用反向地理编码 。

术语地理编码通常是指将人类可读的地址翻译成地图上的位置。 反过来,将地图上的位置翻译成人类可读地址的过程称为反向地理编码。

Geocoding API支持直接使用latlng参数进行反向地理编码。 例如,以下查询包含布鲁克林某个地点的纬度/经度值:

http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true_or_false 

该文档解释了如何解释json结果,但StackOverflow有多种解决方法来parsing数据。

可能的解决scheme

  • 在android中获取最近的街道/道路坐标 – 这个问题的答案可能会指向正确的方向。

    您可以直接使用路线api: http : //maps.googleapis.com/maps/api/directions/json? origin=51,19&destination=51,19&sensor= false

    你可以使用API​​find方向,然后提供最近的道路?

  • 在Android地图v2上贴上道路的位置
  • GPSLocator – 使用GPS查找当前(最近)位置的应用程序 – 可能有帮助; 不太确定这一点。
  • 捕捉道路Android – 完全相同的问题

快速search结果

  • 捕捉到最近的街道
  • 使用GDirections.loadFromWaypoints 地图API博客
  • 寻找最近的街道给予一个经纬的位置
  • 在Google Maps Android API V2中从我的位置到目的地的路线

未解决的类似问题

看小提琴。

使用OSRM(最近的)webservice可以轻松完成。 做一个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