import mapConfig from "./mapConfig";
|
import mapData from "./mapData";
|
import mapServer from "./mapServe.js";
|
import * as turf from "@turf/turf";
|
import store from "@/store";
|
const mapInit = {
|
async Init() {
|
// 默认设置底图
|
this.addImageLayer();
|
// 添加鼠标点击事件
|
this.addMapClick();
|
|
// window.earthCtrl = new SmartEarth.EarthCtrl(
|
// 'sdkContainer',
|
// {
|
// // 隐藏默认底图
|
// defaultImagery: false,
|
// // 隐藏logo
|
// printLog: false,
|
// // sceneMode: SmartEarth.Cesium.SceneMode.SCENE2D
|
// StaticFileBaseUrl: '/CimSDK/',
|
// },
|
// {},
|
// {},
|
// () => {
|
// debugger
|
// // 初始化Cesium
|
// window.Cesium = SmartEarth.Cesium;
|
// // 初始化Viewer
|
// window.Viewer = window.earthCtrl.Viewer;
|
// //设置地球颜色
|
// window.Viewer.scene.globe.baseColor = Cesium.Color.fromCssColorString('#A9A9A9');
|
// window.earthCtrl.Viewer.imageryLayers.removeAll();
|
// // // 地形加载
|
// // const terrain = config.terrain;
|
// // if (terrain.isShow && terrain.isUrl) {
|
// // const terrainProvider = await Cesium.CesiumTerrainProvider.fromUrl(terrain.isUrl, {
|
// // requestWaterMask: true,
|
// // requestVertexNormals: true,
|
// // });
|
|
// // window.Viewer.terrainProvider = terrainProvider;
|
// // }
|
// this.setStartViwer();
|
// }
|
// );
|
},
|
// async setStartViwer() {
|
// // Viewer.scene.screenSpaceCameraController.maximumZoomDistance =50000
|
// // 默认设置底图
|
// this.addImageLayer();
|
// // 添加鼠标点击事件
|
// this.addMapClick();
|
// },
|
addImageLayer() {
|
const baseLayer = mapData.baseLayer;
|
// 添加天地图底图
|
// mapServer.addLayer({
|
// serveType: 'tdMap',
|
// url: baseLayer.sUrl + baseLayer.vecLayer + baseLayer.lUrl,
|
// });
|
console.log(config.geoServer);
|
// console.log(mapServer);
|
// mapServer.addLayer({
|
// serveType: "WMS",
|
// url:
|
// });
|
const serverUrl = config.geoServer;
|
const layer = new Cesium.WebMapServiceImageryProvider({
|
url:serverUrl.url + serverUrl.wms,
|
layers: serverUrl.layers[1],
|
parameters: {
|
transparent: true,
|
format: 'image/png',
|
srs: 'EPSG:4490',
|
styles: '',
|
cql_filter: '',
|
},
|
tileWidth: 512,
|
tileHeight: 512,
|
});
|
|
window.Viewer.imageryLayers.addImageryProvider(layer);
|
// 添加天地图标注
|
// mapServer.addLayer({
|
// serveType: 'tdMap',
|
// url: baseLayer.sUrl + baseLayer.cvaLayer + baseLayer.lUrl,
|
// });
|
|
// 初始化视角
|
this.setdefaultPerspective();
|
},
|
setdefaultPerspective() {
|
mapConfig.sertCameraTo(mapData.defaultPerspective);
|
},
|
addMapClick() {
|
// 为viewer添加鼠标点击事件监听
|
window.Viewer.screenSpaceEventHandler.setInputAction(event => {
|
// 获取点击位置的世界坐标
|
var pickedFeature = window.Viewer.scene.pick(event.position);
|
if (Cesium.defined(pickedFeature)) {
|
if (pickedFeature.id) {
|
const obj = pickedFeature.id;
|
var arr = [];
|
for (var key in obj) {
|
arr.push({
|
name: key,
|
val: obj[key]
|
});
|
store.dispatch("mapLayers/changeMapInfo", []);
|
if (arr.length > 0) {
|
store.dispatch("mapLayers/changeMapInfo", arr);
|
}
|
}
|
}
|
}
|
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
|
}
|
};
|
export default mapInit;
|