已被阅读 3895 次 | 文章分类:gis随笔 | 2018-10-27 21:47
各大开源地图库都提供了他们自己的切片服务器,可以通过提供的切片地址加载离线瓦片,像谷歌提供了四个切片服务器,为了更快的相应用户请求;但如果网络较慢,或者对方服务器若出现故障,那么势必影响到调用切片服务的应用,所以在此可以搭建我们自己的切片服务器
一:谷歌切片规则
1.首先可以通过谷歌切片下载器,下载瓦片数据下载地址;下载之后的数据是以x_y_z格式命名的图片。这里只下载级别1的全球地图,你也可以通过上下左右的坐标下载固定区域
这是重命名以后的数据目录,以z/x/y的目录结构;可以看到1级别有四张图片;在坐标系中的位置分别为(0,0),(0,1)(1,0),(1,1),从上往下的方式拼图;谷歌瓦片是以左上角为圆心,横轴向右x,竖轴向下y;TMS则是以左下角为圆心,横轴向右x,竖轴向上y
二:加载切片
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.效果
可以打开调试工具,看到当放大到一级别时的四张切片数据以及地址
QQ:3410192267 | 技术支持 微信:popstarqqsmall
Copyright ©2017 xiaobaigis.com . 版权所有 鲁ICP备17027716号