将交互式谷歌地图导出为静态图像

时间:2017-03-20 16:36:03

标签: google-maps jupyter

我正在使用gmaps创建某些热图,这是一个jupyter扩展。此库的输出是交互式谷歌地图,如here

我希望最终输出为png图像,可通过谷歌静态地图获取,但我不知道如何将带有额外热图图层的地图转换为静态地图编程。

是否可以将this之类的地图转换为静态图片。

由于

2 个答案:

答案 0 :(得分:2)

如果你需要热图,你不能完全依赖静态地图api,你可以使用Google Maps API for JavaScript抓取瓷砖并将它们放在你的画布或容器或后端服务中或者使用其他一些热图库将用于Google Maps API的相同投影中的图层(默认为Web Mercator)作为PNG输出,并叠加在静态地图图像的顶部。

答案 1 :(得分:1)

派对迟到了,但我是gmaps的作者,问题中提到的jupyter小部件。

您现在可以从gmaps导出PNG:

$ pip install -U gmaps
$ jupyter nbextension enable --py --sys-prefix gmaps

然后,您可以使用导出按钮创建地图:

import gmaps
gmaps.__version__ # => 0.4.2.rc3

gmaps.configure(api_key="...")

fig = gmaps.figure()
fig.add_layer(gmaps.heatmap_layer([(50.0, 5.0), (52.0, 6.0)]))
fig

enter image description here

如果单击下载按钮,它会将地图导出为PNG。

有关限制,请阅读documentation

作为参考,静态API不适合覆盖大量数据的地图(对于热图来说是典型的),因为API接受的数据量有一个上限。目前,这仅限于8192个字节。