gisviewer-vue3-arcgis
Version:
在应用中引入私服的包, 项目根目录下 新建文件 .npmrc 在 .npmrc 中对包源进行配置:
2 lines (1 loc) • 1.75 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("@arcgis/core/layers/GeoJSONLayer"),y=require("@arcgis/core/layers/TileLayer"),o=require("@arcgis/core/layers/WebTileLayer");class a{constructor(e){this.layerList=new Map,this.viewer=e.viewer;const i=this.viewer.map.findLayerById("dark-gray-base-layer");i&&this.layerList.set("dark-gray-base-layer",i)}getLayerById(e){return this.layerList.get(e)}getLayers(){return this.layerList}getTileInfo(){return{}}addLayer(e,i){const r=[];if(Array.isArray(e))e.map(t=>{const s=this.createLayer(t);s&&(this.layerList.set(t.id,s),r.push(this.createLayer(t)))});else{const t=this.createLayer(e);if(!t)return;this.layerList.set(e.id,t),r.push(this.createLayer(e))}r.map(t=>{this.viewer.map.add(t,i)})}createLayer(e){let i=null;switch(e.type){case"webTile":i=new o({urlTemplate:e.url,...e.options,title:e.options.id,visible:e.visible});break;case"hdLayers":i=new l({url:e.url,...e.options,title:e.options.id,visible:e.visible});break;case"tile":i=new y({url:e.url,...e.options,title:e.options.id,visible:e.visible});break}return i}removeLayerById(e){if(typeof e=="string"){const i=this.layerList.get(e);i&&(this.viewer.map.remove(i),this.layerList.delete(e))}Array.isArray(e)&&e.forEach(i=>{const r=this.layerList.get(i);r&&(this.viewer.map.remove(r),this.layerList.delete(i))})}hideLayerById(e){if(typeof e=="string"){const i=this.layerList.get(e);i&&(i.visible=!1)}Array.isArray(e)&&e.forEach(i=>{const r=this.layerList.get(i);r&&(r.visible=!1)})}showLayerById(e){if(typeof e=="string"){const i=this.layerList.get(e);i&&(i.visible=!0)}Array.isArray(e)&&e.forEach(i=>{const r=this.layerList.get(i);r&&(r.visible=!0)})}}exports.default=a;