cesiumTools.ts(公共加载地图)
定义该图层方便存储 在其他页面方便使用
class CesiumViewer {
public layerSthjfqgk: any
}
调用该图层地图方法 并先隐藏
constructor(container: string, options = {}) {
this.layerSthjfqgk = this.sthjfqgkLayer()
this.layerSthjfqgk.show = false;
}
定义加载地图方法
sthjfqgkLayer = (): void => {
// debugger
let wmsProvider = new Cesium.WebMapServiceImageryProvider({
url: 'http://10.174.182.195:38081/geoserver/hbsoil/wms',
layers: ['hbsoil:sthjgkfq'],
proxy: new Cesium.DefaultProxy('/proxy/'),
parameters: {
//styles: 'default',
service: 'WMS',
format: 'image/png',
transparent: true,
//srs:"EPSG:4326",
exceptions: 'application/vnd.ogc.se_inimage'
}
});
const layerss = this.viewer.imageryLayers.addImageryProvider(wmsProvider)
return layerss;
};
在需要使用的vue中
用show的true false来控制该图层的显隐
const cesiumViewerRef: any = inject("$cesiumViewer");
let cesiumViewer;
watchEffect(() => {
if (cesiumViewerRef.value && !cesiumViewer && store.state.loadGeoJson) {
cesiumViewer = cesiumViewerRef._value;
}
});
cesiumViewer.layerSthjfqgk.show = true