From faadb3a39e89b2cb7a00e81e3778f480f1f09998 Mon Sep 17 00:00:00 2001 From: chenyabin <Chenab123!> Date: 星期三, 14 四月 2021 17:38:27 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop --- src/components/LayerController/service/LayerFactory.js | 52 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 10 deletions(-) diff --git a/src/components/LayerController/service/LayerFactory.js b/src/components/LayerController/service/LayerFactory.js index 593b5fd..ae561e5 100644 --- a/src/components/LayerController/service/LayerFactory.js +++ b/src/components/LayerController/service/LayerFactory.js @@ -21,7 +21,7 @@ var checked = config.checked checked && this.load(config) - checked && this.toggleZoomByConfnig(config) + checked && this.toggleZoomByConfig(config) } } } @@ -43,14 +43,14 @@ var childLayer = config.childLayer layers && this.toggleZoomByLayer(layers) childLayer && this.toggleZoomByLayer(childLayer) - this.toggleZoomByConfnig(config) + this.toggleZoomByConfig(config) } } else { - this.toggleZoomByConfnig(layerConfig) + this.toggleZoomByConfig(layerConfig) } } - toggleZoomByConfnig (config) { + toggleZoomByConfig (config) { const zoom = this.map.getZoom() var checked = config.checked if (checked && config.minZoom) { @@ -112,25 +112,57 @@ } - flyByLayerId (layerId, bound) { - for (var k in this.layers) { + flyByLayerId (code, id) { + const layer = this.layers[code] + + if (layer.eachLayer) { + layer.eachLayer(function (layer) { + const layers = layer.getLayers() + for (var i = 0; i < layers.length; i++) { + const lay = layers[i] + const feature = lay.feature + lay.closePopup() + if (feature.id === id) { + lay.openPopup() + break + } + } + }) + } + /* for (var k in this.layers) { var layerGroup = this.layers[k] + layerGroup.eachLayer(function (layer) { + console.log(layer) + console.log(layer.getAttribution()) + }) var layers = layerGroup.getLayers() if (layers) { for (var m = 0; m < layers.length; m++) { var layer = layers[m] - console.log(layer.toGeoJSON()) - /* var feature = layer.feature + console.log(layer) + console.log(layer.getLayerId(val.id)) + /!* var feature = layer.feature if (feature.id === layerId) { this.map.flyToBounds(bound) return layer - } */ + } *!/ } } - } + } */ return null } + findLayerById (layer, id) { + const layers = layer.getLayers + if (layers) { + this.findLayerById(layer.getLayers(), id) + } else { + layer.eachLayer(function (layer) { + console.log(layer) + }) + } + } + /** * todo 杩欓噷鏃犳晥锛岃矊浼兼槸鍥犱负geojson鍔犺浇鍒板湴鍥句篃鏄釜layergroup * -- Gitblit v1.8.0