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 |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 51 insertions(+), 5 deletions(-)

diff --git a/src/assets/js/map/mapServer.js b/src/assets/js/map/mapServer.js
index ab6694a..5f00d01 100644
--- a/src/assets/js/map/mapServer.js
+++ b/src/assets/js/map/mapServer.js
@@ -1,11 +1,12 @@
 import mapConfig from "./mapConfig";
-
+var tileset;
 const mapServer = {
   listData: [],
   sourceType: null,
+  tileContent: null,
   init() {},
   addServer(res) {
-    this.remoServer(res);
+    // this.remoServer(res);
     this.sourceType = res.sourceType;
 
     switch (this.sourceType) {
@@ -18,6 +19,12 @@
       case "tms":
         this.addTmsLayer(res);
         break;
+      case "wfs":
+        this.addWfsLayer(res);
+        break;
+      case "Tileset":
+        this.addTileSetLayer(res);
+        break;
     }
   },
   remoServer(res) {
@@ -29,17 +36,56 @@
       }
     }
   },
+  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
+    });
+  },
   addTmsLayer(res) {
-    var layer = earthCtrl.factory.createImageryLayer({
+    const layer = earthCtrl.factory.createImageryLayer({
       sourceType: "tms",
-      // url: "http://test.smartearth.cn:9037/gisserver/tmsserver/SubicBayArea"
+
       url: res.url
     });
     this.listData.push({
       layer: layer,
       type: this.sourceType
     });
-    mapConfig.flyToImageryLayer(layer);
   },
   addArcgisServer(res) {
     const layer = earthCtrl.factory.createImageryLayer({

--
Gitblit v1.9.3