我注意到,从 Google 地图页面,您可以获得一个“嵌入”链接以放入 iframe 并在浏览器中加载地图。 (这里没有消息)
图像大小可以调整到非常大,所以我有兴趣将一些大图像作为单个 .PNG 格式获取。
更具体地说,我想从边界框(右上角和左下角坐标)定义一个矩形区域,并使用适当的缩放系数获取相应的图像。
但我的问题是:如何使用 Python 将此地图的“像素内容”作为图像对象获取?
(我的理由是:如果浏览器可以获取并呈现此类图像内容,那么 Python 也应该能够做到这一点)。
编辑:这是显示我的示例地图的 HTML 文件的内容:
<iframe
width="2000"
height="1500"
frameborder="0"
scrolling="yes"
marginheight="0"
marginwidth="0"
src="http://maps.google.com.br/maps?hl=pt-BR&ll=-30.027489,-51.229248&spn=1.783415,2.745209&z=10&output=embed"/>
编辑:我按照 Ned Batchelder 的建议做了,并使用从上面的 iframe 中获取的 src
地址读取了 urllib.urlopen()
调用的内容。结果是出现了很多 javascript 代码,我认为这与 Google Maps JavaScript API 有关。所以,问题仍然存在:我如何才能从 Python 中的所有这些东西中做一些有用的东西来获得地图图像?
编辑:这个链接似乎包含一些关于谷歌地图如何平铺他们的地图的非常相关的信息:http: //www.codeproject.com/KB/scrapbook/googlemap.aspx
还有: http ://econym.org.uk/gmap/howitworks.htm
原文由 heltonbiker 发布,翻译遵循 CC BY-SA 4.0 许可协议
我感谢所有的答案。我最终以另一种方式解决了这个问题,使用 Google Maps Static API 和一些公式将坐标空间转换为像素空间,这样我就可以获得可以很好地“拼接”在一起的精确图像。
对于任何感兴趣的人,这里是代码。如果它对某人有帮助,请发表评论!
=============================