0

我想制作一个应用程序,允许用户下载地图的静态图像并将它们重新分发到 Anki 抽认卡组中。但是,我很难弄清楚如何在不面临任何许可限制或运行我自己的服务器的情况下生成地图图像。我希望我的应用程序是所有客户端 JavaScript,这排除了我迄今为止找到的解决方案之一。我已经看到了一种使用 openlayers从画布中导出图像的方法,但是需要代理服务器将画布转换为 dataURL 以便可以保存。

到目前为止,我发现的最有前途的选择是 MapQuest Open Static Maps API。但是,我找不到太多关于它真正开放程度的信息。OSM 数据是开放的,但我不确定图像本身,因为他们说版权地图请求。Mapbox 也有一个静态地图 API,我不清楚许可限制。

4

2 回答 2

1

我最终使用了leaflet-image。Leaflet-image 可以使用OSM 瓦片从Leafletjs L.map 对象生成图像数据 URL 。它使用 CORS 来请求图块并避免污染画布

感谢@tyr 在他的评论中提到了传单图片。我在评论中提到的问题已经解决。

于 2013-09-23T20:52:40.000 回答
0

我们开发了一个使用 TileMill 生成 MBTiles 文件的解决方案。然后我们开发了一个非常简单的 PHP 脚本,它打开 MBTiles(本质上是一个 sqlite 数据库),然后将每个图像的 blob 保存到一个文件中。

于 2013-09-25T16:42:16.423 回答