如何在地图上实现度量功能

时间:2014-09-03 07:01:26

标签: ruby-on-rails ruby-on-rails-4

我想在openstreet地图上实现Measure功能。测量是在地图上添加两个点并找到这些点之间的距离。

为此,我提到了https://github.com/danstowell/openstreetmap-website/commits/jsrouting-contextmenu

除了openstreet地图上的水域/区域外,它将正常工作。在我的情况下,我在我的项目上渲染我自己的地图,所以这对我不起作用。

我正在使用以下环境:

环境:Rails 4和Ruby 2

有人知道吗?

如何在地图上实施测量功能?

还有其他方法可以实现吗?

1 个答案:

答案 0 :(得分:0)

不确定与OSM相关的细节,但假设您可以将点转换为大地点,那么您可以使用hasrsine或vincenty公式来获得大圆距离:

http://www.movable-type.co.uk/scripts/latlong.html

OSM使用球形墨卡托投影。如果您只有2d笛卡尔坐标(投影)坐标,则需要将这些坐标转换为大地坐标。

如果您还需要考虑地形,那么这会变得更加复杂,但OSM可能会为此提供一些能够沿横断线提供高度的东西。