首页 > 解决方案 > 有什么方法可以使用 Google Maps Static API 生成地形图?

问题描述

Google Maps Static API可以做很多事情,但到目前为止,我还没有找到一种方法来使用它来生成像这样的地形(即等高线)地图,无论有无绝对海拔数。terrain地图类型似乎只是添加阴影来指示海拔。

理想情况下,我希望静态地图 API 为我提供黑白等高线图,等高线以固定的高程增量。我相信我可以很容易地做造型,但我不知道是否有任何方法可以从静态 API 中获取轮廓数据。我知道谷歌也有一个海拔 API,但据我所知,它是为了在一个固定点或一维路径上提供海拔数据,而不是在二维地图上。

如果这是不可能的,是否有任何其他服务可以让我做类似的事情(通过 URL 请求以特定纬度/经度为中心的地形/等高线图的静态图像)?

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

解决方案


使用以下请求 URL ,我能够达到接近我尝试做的效果:

https://maps.googleapis.com/maps/api/staticmap
?center=sedona
&zoom=14
&size=600x600
&maptype=terrain
&style=feature:all|visibility:off
&style=feature:water|element:geometry|visibility:on
&style=feature:landscape.natural|visibility:on|color:0xffffff
&key=YOUR_API_KEY

这将呈现以下图像:

显示海拔等高线的塞多纳地图

等高线仅在缩放级别 13、14 和 15 下呈现。任何更近或更远的缩放都会导致它们消失。没有办法控制等高线:颜色、线宽、高程步长、标签等等。这将它们的使用限制在浅色背景和高度变化显着的区域。

似乎也没有办法关闭高程着色,这看起来很酷,但不是我想要在我的地图中使用的东西。在城市中,它可以给出一些看起来很奇怪的结果。例如,这是旧金山:

旧金山显示由建筑物引起的高程阴影伪影

在这种情况下,您可以看到由高程阴影引起的一些不寻常的出现伪影,这具有模糊高程轮廓线的进一步缺点。

所以,这绝不是一个完美的解决方案,但我认为它是当前 API 所能做到的最好的。


推荐阅读