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