leaflet加载离线本地瓦片

已被阅读 3908 次 | 文章分类:gis随笔 | 2018-10-27 21:47

各大开源地图库都提供了他们自己的切片服务器,可以通过提供的切片地址加载离线瓦片,像谷歌提供了四个切片服务器,为了更快的相应用户请求;但如果网络较慢,或者对方服务器若出现故障,那么势必影响到调用切片服务的应用,所以在此可以搭建我们自己的切片服务器

一:谷歌切片规则

1.首先可以通过谷歌切片下载器,下载瓦片数据下载地址;下载之后的数据是以x_y_z格式命名的图片。这里只下载级别1的全球地图,你也可以通过上下左右的坐标下载固定区域

小白GIS

小白GIS

这是重命名以后的数据目录,以z/x/y的目录结构;可以看到1级别有四张图片;在坐标系中的位置分别为(0,0),(0,1)(1,0),(1,1),从上往下的方式拼图;谷歌瓦片是以左上角为圆心,横轴向右x,竖轴向下y;TMS则是以左下角为圆心,横轴向右x,竖轴向上y

小白GIS

小白GIS

二:加载切片

1.利用leaflet的l.tileLayer()方法加载本地切片,将google文件夹放在tompact的webapps文件夹即可,将本地切片文件夹部署为服务;地址中的{z}/{x}/{y}分别对应相应的目录顺序,如果文件夹的顺序为x/y/z,则地址中必须对应

                                        
var Url = 'http://localhost:8008/google/{z}/{x}/{y}.jpg',
    Attrib = '离线瓦片',
    osm = L.tileLayer(Url, {
        minZoom: 1,
        maxZoom: 1,
        attribution: Attrib
    });
var map = L.map('map').setView([39.919362,116.407143],1).addLayer(osm);
                                        
                                    

2.效果

小白GIS

可以打开调试工具,看到当放大到一级别时的四张切片数据以及地址

小白GIS

QQ:3410192267 | 技术支持 微信:popstarqqsmall

Copyright ©2017 xiaobaigis.com . 版权所有 鲁ICP备17027716号