Leaflet是否有离线地图图层?我不需要详细说明,但是基本几何就足够了。
当然,您可以设置自己的离线地图(栅格图块和/或矢量形状)。难度或开箱即用的可用性取决于所需的信息类型和详细程度。
GeoJSON:
最简单的是,如果您只需要很少有世界国界的边界,只是为了得到轮廓。在这种情况下,您可以在Internet上找到包含数百kB(单个正常大图像的重量)数据的GeoJSON文件,例如https://github.com/johan/world.geo.json
然后只需使用L.geoJson(geoJsonData).addTo(map)
使其显示即可。
演示:http://plnkr.co/edit/aB6p7IC2cF7xW41Ju8m7?p = preview
下载的图块:
如果您想要栅格图块(例如OSM网站),则是一个更为复杂(在技术上和合同上)但仍可管理的情况。您可以从在线服务器下载图块(仅是普通图像),然后离线使用它们。这称为“图块抓取”或“ 图块批量下载 ”。
至于技术方面(您可能需要下载成千上万张单独的图像,具体取决于要离线使用的缩放级别/细节),可以使用几种软件(请查看上面的OSM Wiki链接)。
至于合同方面,许多切片服务器(例如,包括OSM)在其使用条款中明确要求不要执行批量下载(因为这会产生很高的需求并在其服务器上使用高带宽)。因此,您应该寻找一种接受这种用法的服务。
本地渲染图块:
完全授权的解决方案(但技术上最复杂)是下载原始OSM数据,并通过软件使用它来生成地图(无论是栅格图块还是矢量形状)。
您可能会在Internet上找到可以下载简化OSM数据(整个星球的完整数据库已压缩到约30 GB…)或较小地理区域的服务(请参见上面的OSM Wiki链接)。
关于软件,由chrki在问题注释中提供的链接(http://wiki.openstreetmap.org/wiki/Rendering)应该可以帮助您入门。
特别是,您可以很好地生成一次栅格图块,保存它们并摆脱渲染软件,因此您可以像刮过它们一样使用这些图块。