mapserver服务加载
mapserver服务加载
服务获取:
方法:在链接后面添加 REQUEST=getcapabilities
例如:
http://127.0.0.1/mapserver/vmap/WMTS/1.0/XZQH/11?REQUEST=getcapabilities
加载的链接可以在xml文件中获取。
openlayers加载:
var layer = new ol.layer.Tile({ source: new ol.source.XYZ({ url:"http://127.0.0.1/mapserver/layer/WMTS/1.0.0/XZQH/11/getTile/{z}/{y}/{x}",
projection:"EPSG:4326"
})
});
注意事项:
默认加载为3857坐标系,如果服务为4326,需要添加 projection:"EPSG:4326" 否则会出现下面的情况:
cesium加载:
var shadedRelief = new Cesium.UrlTemplateImageryProvider({ url: 'http://127.0.0.1/mapserver/vmap/WMTS/1.0.0/XZQH/11/getTile/{myLevel}/{myy}/{myx}?format=image/png', customTags: { myLevel: function (imageryProvider, x, y, z) { console.log(z) return z + 1 }, myx: function (imageryProvider, x, y, z) { return x; }, myy: function (imageryProvider, x, y, z) { return y; } }, layer: 'XZQH', style: '11', format: 'image/png', tileMatrixSetID: 'default028mm', maximumLevel: 19, tilingScheme: new Cesium.GeographicTilingScheme({ ellipsoid: Cesium.Ellipsoid.WGS84, numberOfLevelZeroTilesX: 2, numberOfLevelZeroTilesY: 1 }), }); viewer.imageryLayers.addImageryProvider(shadedRelief);
注意事项:
1.cesium的wmts服务可以使用WebMapTileServiceImageryProvider来接入,但是4326坐标系的层级会从1开始,api默认从0开始,所以使用 UrlTemplateImageryProvider 将z值+1接入,否则会出现以下情况:
如果是geoserver服务可以设置 tileMatrixLabels、tilingScheme 参数来解决,但是mapserver服务会报500错误。
WebMapTileServiceImageryProvider代码记录参考:
参考1:

let layerWMTS = new Cesium.WebMapTileServiceImageryProvider({ url: 'http://127.0.0.1/mapserver/vmap/WMTS/1.0.0/XZQ_GLBJ/11/getTile/{TileMatrix}/{TileRow}/{TileCol}', layer: "XZQ_GLBJ", style: '11', format: 'image/png', service: "WMTS", version: "1.0.0", tileMatrixSetID : 'default028mm', tileMatrixLabels:["default028mm:1","default028mm:2","default028mm:3","default028mm:4","default028mm:5","default028mm:6"], tilingScheme: new Cesium.GeographicTilingScheme({ ellipsoid: Cesium.Ellipsoid.WGS84, numberOfLevelZeroTilesX: 2, numberOfLevelZeroTilesY: 1 }) }); viewer.imageryLayers.addImageryProvider(layerWMTS)
参考2:

let layerWMTS = new Cesium.WebMapTileServiceImageryProvider({ url: "http://127.0.0.1/mapserver/layer/WMTS/1.0.0/XZQ_GLBJ/11", layer: "XZQ_GLBJ", style: '11', format: 'image/png', service: "WMTS", version: "1.0.0", tileMatrixSetID: 'default028mm', tileMatrixLabels:["default028mm:1","default028mm:2","default028mm:3","default028mm:4","default028mm:5","default028mm:6"], tilingScheme: new Cesium.GeographicTilingScheme({ ellipsoid: Cesium.Ellipsoid.WGS84, numberOfLevelZeroTilesX: 1, numberOfLevelZeroTilesY: 2 }), maximumLevel: 19, }); viewer.imageryLayers.addImageryProvider(layerWMTS)
钻研不易,转载请注明出处。。。。。。