api - 获取道路上某个点的坐标

标签 api google-maps maps virtual-earth geocode

我有一个由十字路口和距离十字路口几英尺的范围定义的范围。 (例如,华盛顿街和第五街以北 100 英尺到华盛顿街和第六街以南 300 英尺)

我希望将其地理编码成纬度/经度对。但是,我看不到任何方法可以让 Google Maps API 或 Virtual Earth 等做到这一点。他们会很乐意对交叉点进行地理编码,但不会对距离进行地理编码。我不能只增加 100 英尺,因为道路不一定完全笔直或完全朝着基本方向。

我调查了获得描述道路的折线,但从谷歌/VEarth 获得它的运气并不好。我从美国人口普查中查看了 TIGER/LINE,但他们的数据非常不准确。

任何人都可以就如何进行地理编码提出建议吗?这是针对公共(public) map 的,因此任何来自 Google、Microsoft 等的免费 API 都应该没问题。

最后,顺便说一句,我正在寻找一个实际的街道地址而不是坐标。例如,我想知道我上面给出的示例中的范围是 508 到 563 Washington St。

最佳答案

深思熟虑 - 我不知道您的应用程序是什么,但请记住典型 GPS 设备的精度为 10 米(约 33 英尺)。您是否有可能试图使这比必要的更精确?

可能的解决方案

  • 您可以添加 100 英尺并将该点垂直于道路投影吗?足够近?
  • 捕获十字路口。遍历第一段。如果它的长度 < 100 英尺,则捕获第二段,依此类推,直到您距离沿道路测量的十字路口 100 英尺。您将需要添加适当的检查/做一些数学运算来确定实际 100' 标记落在路段的哪个位置。

  • 我在夏天使用了第二种方法,看看能不能找到一些示例代码。虽然没有 promise 。

    #3 - 捕获十字路口。获取第一段的方位角并使用坐标几何计算给定角度沿街道 100 英尺的点。这假设街道没有任何偏转,否则使用#2。

    关于api - 获取道路上某个点的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2007510/

    相关文章:

    c# - 将 metresc 距离添加到 Long/Lat e6

    java - 是否可以将 MapView 作为另一个 Activity 的元素包含在内?

    javascript - 在 Bing map 中显示来自数据源 URL 的所有营业地点

    .net - MediaFire Rest API session 签名 SHA1?

    C++:从一个应用程序与另一个应用程序通信的最常见方式

    jquery - `fillColor` 在谷歌地图中不起作用

    javascript - OSRM WebAPI 参数中的负经度

    javascript - Leaflet 画出一个多边形是否包含另一个多边形

    python - API 响应文本到 JSON

    .net - WCF 作为具有最小有效负载的 Web 服务