问题:
1.【Mars3d】使用WmtsLayer的时候TileMatrix没有带到TileMatrixset的前缀map_4326_16这种参数。
示例中的WmtsLayer的配置代码:
? // 方式2:在创建地球后调用addLayer添加图层(直接new对应type类型的图层类)
? tileLayer = new mars3d.layer.WmtsLayer({
? ? url: "//server.mars3d.cn/geoserver/gwc/service/wmts",
? ? layer: "mars:hfgh",
? ? format: "image/png",
? ? tileMatrixSetID: "EPSG:4326",
? ? crs: "EPSG:4326",
? ? alpha: 0.8,
? ? pickFeaturesUrl: "//server.mars3d.cn/geoserver/mars/wms",
? ? popup: "all",
? ? highlight: {
? ? ? type: "wallP",
? ? ? diffHeight: 100,
? ? ? materialType: mars3d.MaterialType.LineFlow,
? ? ? materialOptions: {
? ? ? ? image: "img/textures/fence.png",
? ? ? ? color: "#ffff00",
? ? ? ? speed: 10, // 速度,建议取值范围1-100
? ? ? ? axisY: true
? ? ? }
? ? },
? ? flyTo: true
? })
? map.addLayer(tileLayer)
我自己的wmtsLayer的代码:
结果:
1.正常的示例中的geoserver可以正常预览的页面F12请求的瓦片参数:
2.自己的wmts服务测试的请求的瓦片参数没有带到TileMatrixset的前缀map_4326_16这种参数:
3.正常的预览参数就是这个TileMatrix的层级加上TileMatrixset的前缀就可以实现正常请求,但是自己的服务没有这个请求。
解决方案:
1.尝试tileMatrixLabels参数
2.tileMatrixLabels参数的用法:
??tileMatrixLabels:?[...Array(20).keys()].map((level)?=>?("?map_4326_16"?+?level).toString()),