如何截取大于屏幕的 Leaflet/OpenStreetMap 地图的屏幕截图?

如何截取大于屏幕的 Leaflet/OpenStreetMap 地图的屏幕截图?

我需要放大到地图使用 Leaflet 和 OpenStreetMap 设计,然后截取包含并超出屏幕上显示的地图部分的地图屏幕截图。

我知道我可以使用Google 地图保存程序使用 Google 地图可以实现这一点,但我不知道如何使用 Leaflet/OpenStreetMap 地图实现这一点。有什么想法吗?

答案1

如果网页设计正确,您只需使用 Chrome 或 Firefox 的缩小功能,然后在浏览器中截取屏幕截图,这将记录所有渲染的像素,而不仅仅是到达屏幕的像素。不幸的是,即使您使用其他工具而不编辑页面本身,它也无济于事。

您可以通过以下方式测试这不是 OSM 的错误:http://www.openstreetmap.org/并使用 Ctrl+- 并看到缩小时渲染了更多视野。查看此处的 Leaflet 时:http://leafletjs.com/examples/mobile/example.html它的行为也是如此。

因此,您需要对其进行破解才能完成您想要的操作。使用您的 Web 浏览器样式编辑器并添加以下内容:

html, body {
    height: 100%;
}
#main_map {
    height: 100vw;
    width: 64.64vw;
}

然后在传单 UI 上勾选放大和缩小,然后您就可以使用浏览器的缩放功能。

答案2

相关内容