From fde8e3bedaf5f883f38c3a0ec33d3c6a8748d1c9 Mon Sep 17 00:00:00 2001
From: suerprisePlus <15810472099@163.com>
Date: 星期五, 21 六月 2024 18:02:44 +0800
Subject: [PATCH] wfs 范围查询

---
 src/assets/js/map/mapServer.js |   73 ++++++++++++++++++++++++++++++++----
 1 files changed, 64 insertions(+), 9 deletions(-)

diff --git a/src/assets/js/map/mapServer.js b/src/assets/js/map/mapServer.js
index fd954da..5f00d01 100644
--- a/src/assets/js/map/mapServer.js
+++ b/src/assets/js/map/mapServer.js
@@ -1,12 +1,14 @@
 import mapConfig from "./mapConfig";
-
+var tileset;
 const mapServer = {
   listData: [],
   sourceType: null,
+  tileContent: null,
   init() {},
   addServer(res) {
+    // this.remoServer(res);
     this.sourceType = res.sourceType;
-    console.log(this.sourceType);
+
     switch (this.sourceType) {
       case "arcgis":
         this.addArcgisServer(res);
@@ -17,19 +19,73 @@
       case "tms":
         this.addTmsLayer(res);
         break;
+      case "wfs":
+        this.addWfsLayer(res);
+        break;
+      case "Tileset":
+        this.addTileSetLayer(res);
+        break;
     }
   },
-  addTmsLayer(res) {
-    console.log(res.url);
-    var layer = earthCtrl.factory.createImageryLayer({
-        sourceType: "tms",
-        url: "http://test.smartearth.cn:9037/gisserver/tmsserver/SubicBayArea",
+  remoServer(res) {
+    for (var i in this.listData) {
+      const obj = this.listData[i];
+      if (obj.type == res.sourceType) {
+        obj.layer.removeFromMap();
+        this.listData.splice(i, 1);
+      }
+    }
+  },
+  addTileSetLayer(res) {
+    const tileset = new Cesium.Cesium3DTileset({
+      url: res.url
+    });
+
+    Viewer.scene.primitives.add(tileset);
+    // const that = this;
+    // tileset.readyPromise.then((tileObj) => {
+    //   tileObj.tileVisible.addEventListener((tile) => {
+    //     if (Cesium.defined(tile.content)) {
+    //               var featuresLength = tile.content.featuresLength;
+    //               for (var i = 0; i < featuresLength; i++) {
+    //                 var feature = tile.content.getFeature(i);
+    //                 // console.log(feature.getProperty("id"));
+    //               }
+    //     }
+    //   });
+    // });
+    this.listData.push({
+      layer: tileset,
+      type: this.sourceType
+    });
+  },
+  traverseVisibleTiles() {
+    tileset.readyPromise.then((tileset) => {
+      tileset.tileVisibility.forEachTile(function (tile) {});
+    });
+  },
+  addWfsLayer(res) {
+    const layer = earthCtrl.factory.createWfsLayer("polygon", {
+      urls: res.url,
+      layer: res.layer,
+      outlineColor: res.outlineColor,
+      alpha: res.alpha
     });
     this.listData.push({
       layer: layer,
       type: this.sourceType
     });
-    mapConfig.flyToImageryLayer(layer)
+  },
+  addTmsLayer(res) {
+    const layer = earthCtrl.factory.createImageryLayer({
+      sourceType: "tms",
+
+      url: res.url
+    });
+    this.listData.push({
+      layer: layer,
+      type: this.sourceType
+    });
   },
   addArcgisServer(res) {
     const layer = earthCtrl.factory.createImageryLayer({
@@ -40,7 +96,6 @@
       layer: layer,
       type: this.sourceType
     });
-    
   },
   addGeoServer(res) {
     const layer = earthCtrl.factory.createWfsLayer("polygon", {

--
Gitblit v1.9.3