我想在openstreet地图上实现Measure功能。测量是在地图上添加两个点并找到这些点之间的距离。
为此,我提到了https://github.com/danstowell/openstreetmap-website/commits/jsrouting-contextmenu
除了openstreet地图上的水域/区域外,它将正常工作。在我的情况下,我在我的项目上渲染我自己的地图,所以这对我不起作用。
我正在使用以下环境:
环境:Rails 4和Ruby 2
有人知道吗?
如何在地图上实施测量功能?
还有其他方法可以实现吗?
答案 0 :(得分:0)
不确定与OSM相关的细节,但假设您可以将点转换为大地点,那么您可以使用hasrsine或vincenty公式来获得大圆距离:
http://www.movable-type.co.uk/scripts/latlong.html
OSM使用球形墨卡托投影。如果您只有2d笛卡尔坐标(投影)坐标,则需要将这些坐标转换为大地坐标。
如果您还需要考虑地形,那么这会变得更加复杂,但OSM可能会为此提供一些能够沿横断线提供高度的东西。