From 1ba44459ed390fbcb4b05dea06923e4df99d3acc Mon Sep 17 00:00:00 2001 From: wangrui <zephyrs0894@163.com> Date: 星期三, 23 十二月 2020 15:06:11 +0800 Subject: [PATCH] basemap图层控制ui --- src/components/helpers/VectorLayerHelper.js | 40 ++++++++++++++-------------------------- 1 files changed, 14 insertions(+), 26 deletions(-) diff --git a/src/components/helpers/VectorLayerHelper.js b/src/components/helpers/VectorLayerHelper.js index 04abe59..2ebcbc9 100644 --- a/src/components/helpers/VectorLayerHelper.js +++ b/src/components/helpers/VectorLayerHelper.js @@ -4,32 +4,18 @@ function VectorLayerHelper(options) { this.map = options.map this.L = options.L - this.vectorLayerMap = {} + this.vectorLayerMap = new Map() this.vectorLayerList = [] - this.vueRefMap = {} - this.functionMap = {} + this.vectorLayerGroup = null + this.vueState = {} // 鐢ㄦ埛鍥惧眰鏉冮檺 /** * 璇ユ柟娉曡礋璐e悇绉嶅簳鍥惧姞杞藉埌鍦板浘涓� * 涓嶅悓椤甸潰鍔犺浇鍥惧眰涓嶅悓鏍规嵁妯″潡绫诲瀷閫夋嫨鍔犺浇涓嶅悓鍥惧眰 * @param map - * @param methodNames 闇�瑕佸姞杞界殑鏂规硶鍚嶇О */ - this.initVectorLayers = (methodNames) => { - // todo 鍒涘缓瀹屼互鍚庯紝鎶婂浘灞傞兘鏀惧埌vectorLayerMap瀵硅薄淇濆瓨璧锋潵锛屾柟渚垮叾浠栨帴鍙h皟鐢� - // todo 鍦╩apmodules鏂囦欢澶瑰畾涔夌浉鍏冲浘灞傜殑瀹炵幇浠g爜銆� - this.loadFunction(methodNames) - // todo 浼佷笟鍥惧眰閮藉彲浠ュ悗闈㈠姞鍏ワ紝鐒跺悗缁熶竴鐢盚elper绋嬪簭鏉ョ鐞嗗浘灞傜殑寮�鍏炽�� - return null - } - // 鎸夐渶鍔犺浇瀵瑰簲鏂规硶鍒涘缓鍥惧眰 - this.loadFunction = (methodNames) => { - console.log(methodNames) - } - - - - this.setVueRef = (vueName, ref) => { - this.vueRefMap[vueName] = ref + this.initVectorLayers = (vueState) => { + this.vectorLayerGroup = options.L.layerGroup().addTo(options.map) + this.vueState = vueState } /** @@ -44,24 +30,26 @@ * 閫氳繃鍚嶇О鑾峰彇鍥惧眰瀵硅薄 * @param name 鍚嶇О */ - this.getVectorLayer = (name) => { - return this.vectorLayerMap[name] + this.getVectorLayer = (code) => { + return this.vectorLayerMap[code] } /** * 鏄剧ず鏌愪釜鍥惧眰 * @param name 鍥惧眰鍚嶇О */ - this.showVectorLayer = (name, vuexStat) => { - console.log(this.map, vuexStat) + this.showVectorLayer = (code) => { + let layer = this.vectorLayerMap.get(code) + this.map.addLayer(layer) } /** * 闅愯棌鏌愪釜鍥惧眰 * @param name 鍥惧眰鍚嶇О */ - this.hideVectorLayer = (name, vuexStat) => { - console.log(this.map, vuexStat) + this.hideVectorLayer = (code) => { + let layer = this.vectorLayerMap.get(code) + this.map.removeLayer(layer) } } -- Gitblit v1.8.0