有没有适用于Leaflet的离线地图层?我不需要太详细的信息,但基本几何图形就足够了。
L.geoJson(geoJsonData).addTo(map)来显示它。
演示:http://plnkr.co/edit/aB6p7IC2cF7xW41Ju8m7?p=preview
下载的瓦片:
一个更加复杂(在技术和合同方面)但仍可管理的情况是,如果您想要光栅瓦片(例如OSM网站),您可以从在线服务器下载瓦片(只是普通图像),然后离线使用它们。这被称为“瓦片抓取”或“tiles bulk downloading”。
至于技术方面(您可能需要下载数千个单独的图像,具体取决于您要离线使用的缩放级别/细节),有几种软件可供选择(请查看上面的OSM Wiki链接)。
至于合同方面,许多瓦片服务器(包括OSM)在其使用条款中明确要求不进行批量下载(因为这会在其服务器上产生高需求并使用大量带宽)。因此,您应该寻找接受此用途的服务。
本地渲染瓦片:
一种完全授权的解决方案(但最为技术复杂)是下载原始OSM数据,并通过软件使用它来生成您的地图(无论是光栅瓦片还是矢量形状)。
您可以在互联网上找到提供下载简化版OSM数据的服务(整个地球的完整数据库压缩后约为30 GB…)或者小范围地理区域的数据(请参见上述OSM Wiki链接)。
关于软件,chrki在问题评论中提供的链接(http://wiki.openstreetmap.org/wiki/Rendering)应该可以帮助您入门。
特别是,您可以生成一次光栅瓦片,保存它们并且摆脱渲染软件,这样您就可以像爬取它们一样使用这些瓦片。