【问题标题】:How to determine if lat long coordinates are on a road with Google Maps API v2如何使用 Google Maps API v2 确定经纬度坐标是否在道路上
【发布时间】:2013-12-16 03:03:32
【问题描述】:

我使用了谷歌地理地址并使用 lat/long 得到了地址。我如何确定我是否在路上?基本上是道路测试?我目前正在使用纬度/经度的位置管理器,并且在道路上和道路旁边的地理地址是相同的。

【问题讨论】:

    标签: android google-maps-android-api-2


    【解决方案1】:

    最终解决方案

    使用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 提供了各种答案来解决更有效的数据解析方法。

    可能的解决方案

    快速搜索结果

    未解决的类似问题

    【讨论】:

    • @JSuar 与约翰逊先生所说的完全一样。
    • 很抱歉。更新了我的答案。如果这些链接都没有用,我将删除我的答案。不过,仍在研究中。
    • @JSuar 再次感谢您的时间和精力。
    • econym.org.uk/gmap/example_snap.htm 捕捉到最近的道路它如何知道道路在哪里?很有趣。我们可以在 android google maps v2 上实现相同的功能吗?让我知道任何解决方法。再次感谢您的宝贵时间。
    • @jason 该解决方案依赖于loadFromWaypointsThis SO question provides a solution 对函数的限制。
    【解决方案2】:

    See fiddle.

    使用 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

    【讨论】:

      猜你喜欢
      • 2013-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      相关资源
      最近更新 更多