UNPKG

gisviewer-vue3-arcgis

Version:

在应用中引入私服的包, 项目根目录下 新建文件 .npmrc 在 .npmrc 中对包源进行配置:

100 lines (99 loc) 2.41 kB
import y from "@arcgis/core/layers/GeoJSONLayer"; import l from "@arcgis/core/layers/TileLayer"; import o from "@arcgis/core/layers/WebTileLayer"; class f { constructor(e) { this.layerList = /* @__PURE__ */ 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 y({ url: e.url, ...e.options, title: e.options.id, visible: e.visible }); break; case "tile": i = new l({ 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); }); } } export { f as default };