| | |
| | | case "gltf": |
| | | this.addGltfLayer(res); |
| | | break; |
| | | // gltf模型
|
| | | case "3DTiles":
|
| | | this.add3DTilesLayer(res);
|
| | | break;
|
| | | //天地图 |
| | | case "tdmap": |
| | | this.addTdMapLayer(res); |
| | |
| | | // 腾讯地图 |
| | | case "txmap": |
| | | this.addTxMapLayer(res); |
| | | break;
|
| | | // 腾讯地图
|
| | | case "WMS":
|
| | | this.addWMSLayer(res);
|
| | | break;
|
| | | // 腾讯地图
|
| | | case "TMS":
|
| | | this.addTMSLayer(res);
|
| | | break; |
| | | } |
| | | }, |
| | |
| | | var obj = this.layerManage[i]; |
| | | if (obj.id === res.id) { |
| | | switch (obj.type) { |
| | | case "WMS":
|
| | | case "TMS":
|
| | | case "label": |
| | | case "billboard": |
| | | case "polyline": |
| | |
| | | case "gltf": |
| | | earthCtrl.factory.removeModel(obj.layer); |
| | | break; |
| | | case "3DTiles":
|
| | | obj.layer.deleteObject();
|
| | | break;
|
| | | } |
| | | this.layerManage.splice(i, 1); |
| | | i--; |
| | | } |
| | | } |
| | | },
|
| | | addTMSLayer(res) {
|
| | | const layer = earthCtrl.factory.createImageryLayer({
|
| | | sourceType: "tms",
|
| | | url: res.url
|
| | | });
|
| | | this.layerManage.push({
|
| | | id: res.id,
|
| | | layer: layer,
|
| | | type: "TMS"
|
| | | });
|
| | | },
|
| | | addWMSLayer(res) {
|
| | | const layer = earthCtrl.factory.createImageryLayer({
|
| | | sourceType: "wms",
|
| | | url: res.url,
|
| | | layers: "",
|
| | | parameters: {
|
| | | format: "image/png",
|
| | | srs: "EPSG:4326",
|
| | | version: 1.3
|
| | | }
|
| | | });
|
| | | this.layerManage.push({
|
| | | id: res.id,
|
| | | layer: layer,
|
| | | type: "WMS"
|
| | | });
|
| | | }, |
| | | addTdMapLayer(res) { |
| | | var layer = earthCtrl.factory.createImageryLayer({ |
| | |
| | | format: "image/jpeg", |
| | | maximumLevel: res.maximumLevel, |
| | | layer: "", |
| | | tileMatrixSetID: "", |
| | | tileMatrixSetID: ""
|
| | | }); |
| | | this.layerManage.push({ |
| | | id: res.id, |
| | | layer: layer, |
| | | type: "tdmap", |
| | | type: "tdmap"
|
| | | }); |
| | | }, |
| | | addTxMapLayer(res) { |
| | |
| | | }, |
| | | sy: function (imageryProvider, x, y, level) { |
| | | return ((1 << level) - y) >> 4; |
| | | }
|
| | | }, |
| | | }, |
| | | tilingScheme: earthCtrl.core.getOffsetTilingScheme(), // 偏移纠正 |
| | | tilingScheme: earthCtrl.core.getOffsetTilingScheme() // 偏移纠正
|
| | | }); |
| | | |
| | | this.layerManage.push({ |
| | | id: res.id, |
| | | layer: layer, |
| | | type: "txmap", |
| | | type: "txmap"
|
| | | });
|
| | | },
|
| | | add3DTilesLayer(res) {
|
| | | const layer = earthCtrl.factory.create3DTilesets({
|
| | | url: res.url
|
| | | });
|
| | | earthCtrl.camera.flyToObj(layer);
|
| | | this.layerManage.push({
|
| | | id: res.id,
|
| | | layer: layer,
|
| | | type: "3DTiles"
|
| | | }); |
| | | }, |
| | | addGltfLayer(res) { |
| | |
| | | scale: res.scale, |
| | | minimumPixelSize: 100, |
| | | id: { |
| | | name: "gltf", |
| | | }, |
| | | name: "gltf"
|
| | | }
|
| | | }); |
| | | |
| | | this.layerManage.push({ |
| | | id: res.id, |
| | | layer: layer, |
| | | type: "gltf", |
| | | type: "gltf"
|
| | | }); |
| | | }, |
| | | addPolylineSimpleGraphic(res) { |
| | |
| | | name: style.name, |
| | | lineColor: new SmartEarth.Cesium.PolylineGlowMaterialProperty({ |
| | | //折线发光材质 |
| | | color: SmartEarth.Cesium.Color.fromCssColorString(style.color), //颜色 |
| | | color: SmartEarth.Cesium.Color.fromCssColorString(style.color) //颜色
|
| | | }), |
| | | lineWidth: style.width, |
| | | isDepthTest: false, |
| | | clampToGround: false, |
| | | positions: positions, |
| | | positions: positions
|
| | | }); |
| | | this.layerManage.push({ |
| | | id: res.id, |
| | | layer: layer, |
| | | type: "polyline", |
| | | type: "polyline"
|
| | | }); |
| | | }, |
| | | |
| | |
| | | var layer = earthCtrl.factory.createImageryLayer({ |
| | | sourceType: "arcgis", |
| | | url: res.urls, |
| | | enablePickFeatures: false, |
| | | enablePickFeatures: false
|
| | | }); |
| | | this.layerManage.push({ |
| | | id: res.id, |
| | | layer: layer, |
| | | type: "arcgis", |
| | | type: "arcgis"
|
| | | }); |
| | | }, |
| | | addFlowFieldLayer(res) { |
| | |
| | | type: "Feature", |
| | | geometry: { |
| | | type: "LineString", |
| | | coordinates: std, |
| | | coordinates: std
|
| | | }, |
| | | properties: { |
| | | osm_id: "66023824", |
| | |
| | | maxspeed: 0, |
| | | layer: 0, |
| | | bridge: "F", |
| | | tunnel: "F", |
| | | }, |
| | | }, |
| | | ], |
| | | tunnel: "F"
|
| | | }
|
| | | }
|
| | | ]
|
| | | }; |
| | | |
| | | let layer = earthCtrl.factory.createPathLayer({ |
| | |
| | | color: "#0033FF", //线的颜色 |
| | | width: style.width, //线的宽度 |
| | | pointColor: "#FFFFFF", //移动点的颜色 |
| | | speed: 0.5, |
| | | speed: 0.5
|
| | | }); |
| | | this.layerManage.push({ |
| | | id: res.id, |
| | | layer: layer, |
| | | type: "FlowField", |
| | | type: "FlowField"
|
| | | }); |
| | | }, |
| | | |
| | |
| | | sourceType: "gdmap", |
| | | url: res.urls, |
| | | minimumLevel: 3, |
| | | maximumLevel: 18, |
| | | maximumLevel: 18
|
| | | }); |
| | | this.layerManage.push({ |
| | | id: res.id, |
| | | layer: layer, |
| | | type: "gdmap", |
| | | type: "gdmap"
|
| | | }); |
| | | }, |
| | | |
| | |
| | | lat: position.lat, |
| | | alt: position.alt, |
| | | scale: style.scale, |
| | | distanceDisplayCondition: style.distanceDisplayCondition, |
| | | distanceDisplayCondition: style.distanceDisplayCondition
|
| | | }); |
| | | this.layerManage.push({ |
| | | id: res.id, |
| | | layer: layer, |
| | | type: "billboard", |
| | | type: "billboard"
|
| | | }); |
| | | }, |
| | | getCartographic(res) { |
| | |
| | | return { |
| | | lon: Cesium.Math.toDegrees(cartographic.longitude), |
| | | lat: Cesium.Math.toDegrees(cartographic.latitude), |
| | | alt: cartographic.height, |
| | | alt: cartographic.height
|
| | | }; |
| | | }, |
| | | addLabelSimpleGraphic(res) { |
| | |
| | | backgroundColor: Cesium.Color.fromCssColorString(style.backgroundColor), |
| | | scale: style.scale, |
| | | distanceDisplayCondition: style.distanceDisplayCondition, |
| | | clampToGround: true, |
| | | clampToGround: true
|
| | | }); |
| | | |
| | | this.layerManage.push({ |
| | | id: res.id, |
| | | layer: layer, |
| | | type: "label", |
| | | type: "label"
|
| | | }); |
| | | }, |
| | | }
|
| | | }; |
| | | export default layerManage; |