Google Maps API 3 - JavaScript:骑行 - 如何在路线中查找高程?

时间:2017-03-19 15:19:10

标签: javascript google-maps google-maps-api-3

是否有任何课程可以按照谷歌地图的方式在自行车路线上找到高程?正如您在下面的链接中所看到的,当您将鼠标悬停在高程上时,它还会在地图上显示该路线的点。

https://www.google.ie/maps/dir/Galway/Dublin/@53.0456335,-7.8289246,9z/data=!4m14!4m13!1m5!1m1!1s0x485b93955a2d5bff:0x32b1b440a495281!2m2!1d-9.0567905!2d53.270668!1m5!1m1!1s0x48670e80ea27ac2f:0xa00c7a9973171a0!2m2!1d-6.2603097!2d53.3498053!3e1

我可以在google中找到的唯一一个类是沿路径提升,这不是很有用!

查找路线的lat-lng坐标,然后使用高程API查找这些点的高程并不可靠。这是因为高程API提供的高程不会考虑桥梁和立交桥。

在Google地图中搜索路线时,高程剖面以某种方式知道沿路线的实际道路高程,因此它非常准确地代表了陡峭悬崖上的桥梁(而不是显示陡峭的下降)。在下面连接的桥梁上行进将导致高程API急剧下降,因为它知道地理上存在悬崖,并且不知道所提供的lat-lng在该位置具有桥。

Google地图内置高程配置文件显示没有悬崖: https://www.google.ca/maps/dir/49.3040568,-123.1452437/49.3229241,-123.1317054/@49.3169602,-123.145165,14.75z/data=!4m2!4m1!3e1 同一路线的Elevation API配置文件将显示悬崖。

有没有办法获得准确的路线高程数据?不仅仅是在特定的lat-lng坐标处提升原始地理特征?

2 个答案:

答案 0 :(得分:0)

您需要使用Google地图“Elevation API”来获取高程信息。只需在get请求中提供位置(lat& lng)或位置集,然后解析结果。

查看以下URL并查看如何为JSON响应构建它: http://maps.googleapis.com/maps/api/elevation/json?locations=53.3237817,-8.7792418

希望这有帮助。

编辑: 可能有一些可以使用的组件,但我没有搜索它们。 由于这是一个编程站点,我相信你是程序员,你可能想根据你的规范自己编写代码。

Google开发者网站中有一些示例。 https://developers.google.com/maps/documentation/javascript/elevation

可以在此链接中找到一个工作示例: https://developers.google.com/maps/documentation/javascript/examples/elevation-paths

以下是基本方法:

  • 根据用户的位置向用户显示地图
  • 让他们选择一个起点和一个目的地
  • 显示可用路径,如果有多个路径,则让他们选择一个
  • 沿着路径,以编程方式选择x个位置,获取其地理坐标
  • 查找其高程(使用Google Elevation API)
  • 在列表中显示信息或作为高程配置文件图表(如 你的例子)
  • 为它提供一个点击处理程序,以便突出显示 点击后,地图上的相应位置。

答案 1 :(得分:0)

据我所知,Google尚未通过其任何API提供其海拔数据(显示在海拔配置文件中,用于骑行和步行)。它们仅允许通过elevation API访问“自然景观”高程数据。