openlayer2静态wmts服务

因为项目中需要用到 openlayer2

但是因为项目所在的环境为内部局域网,无法访问外部网络

所以地图图块需要自己拼接

最开始想在内网环境搭建一个wmts服务

后来研究了一下

发现requestEncoding可以设置为 rest

这样我们只需要把地图图块按照请求的路径

放到项目静态文件目录对应的文件夹里就可以了

var wmts = new OpenLayers.Layer.WMTS({
				name: 'My WMTS Layer',
				requestEncoding: 'rest',
				url: '/assets',
				format: 'image/jpg',
				layer: 'map',
				style: 'default',
				matrixSet: 'img',
				version: '1',
				isBaseLayer:true
			});
map.addLayer(wmts);         

// "/${url}/${version}/${layer}/${style}/${matrixSet}/${matrix}/${row}/${col}.jpg"

路径如下

"/${url}/${version}/${layer}/${style}/${matrixSet}/${matrix}/${row}/${col}.jpg"

其中 matrix row col 这三部分是openlayer根据当前地图的缩放和位置自动去请求的