import { i } from "./chunk-EEMLKLSH.js"; import { ae } from "./chunk-OBOLLK7J.js"; import "./chunk-CR67YDNV.js"; import "./chunk-3XO4E4TL.js"; import "./chunk-6G6XHVK2.js"; import "./chunk-3RTOMVBL.js"; import "./chunk-YR7YKE3S.js"; import "./chunk-GSORSXL5.js"; import { t as t2 } from "./chunk-JFHGSU33.js"; import { v as v2 } from "./chunk-TWB5CT7V.js"; import "./chunk-H3QCF24A.js"; import { f, u } from "./chunk-MNZXIBJ7.js"; import "./chunk-YJKEIUMW.js"; import "./chunk-JH3PLIM6.js"; import "./chunk-UFOCENZS.js"; import "./chunk-FCDUTNBY.js"; import "./chunk-GZJP6H3U.js"; import "./chunk-PS4B3D6M.js"; import "./chunk-DO6JJUZG.js"; import "./chunk-54X4RLMR.js"; import "./chunk-MWIFVNKP.js"; import "./chunk-MIWGTTJJ.js"; import "./chunk-LL6JU3GU.js"; import "./chunk-LSDW2622.js"; import "./chunk-ZIWBDWEW.js"; import "./chunk-IQNZZCQJ.js"; import "./chunk-B2HJOMLZ.js"; import "./chunk-II7RCTF3.js"; import "./chunk-VS4BIQ2O.js"; import "./chunk-HWIURR7X.js"; import "./chunk-Q4LKAPDF.js"; import "./chunk-TODU7HVH.js"; import "./chunk-23ONSYIH.js"; import "./chunk-P2L4QEOI.js"; import "./chunk-3T4BXU2T.js"; import "./chunk-SRMDO2KR.js"; import "./chunk-PZKZIMMP.js"; import "./chunk-YLVXZ2PS.js"; import "./chunk-EE6TL7XD.js"; import { b, d as d2, g as g2 } from "./chunk-6N2Y4VY4.js"; import "./chunk-GDB2KX4Y.js"; import "./chunk-546QCRS4.js"; import "./chunk-QXZVBSBH.js"; import "./chunk-T4GXZJ3D.js"; import "./chunk-773XI6MQ.js"; import "./chunk-ILP23N26.js"; import "./chunk-5NM43FFO.js"; import "./chunk-WFSV2B2I.js"; import "./chunk-M5BTTMP6.js"; import "./chunk-XZA4MVET.js"; import "./chunk-J525NRN3.js"; import "./chunk-MI7HWWFL.js"; import "./chunk-Q34L5KZA.js"; import "./chunk-ZHRMTKME.js"; import "./chunk-ZVHTCCQC.js"; import "./chunk-PCGDLSZ4.js"; import "./chunk-CAYFEZCR.js"; import "./chunk-MFFE4I2S.js"; import "./chunk-XBH7TGC2.js"; import "./chunk-K3NA3LQS.js"; import "./chunk-LMCIAW5S.js"; import "./chunk-OTS3UE5B.js"; import "./chunk-6RAL4JPQ.js"; import "./chunk-VAY3LZG7.js"; import "./chunk-4E6K4P67.js"; import { c } from "./chunk-LE3RIDC7.js"; import "./chunk-TRK7CKWP.js"; import "./chunk-LGW7TID4.js"; import { n as n2 } from "./chunk-YASLQAXE.js"; import "./chunk-3OHML7FO.js"; import "./chunk-2VFJVI2I.js"; import "./chunk-G5AI6ZNE.js"; import "./chunk-H6ETEALK.js"; import "./chunk-FIYKFRB2.js"; import "./chunk-P4UZNLD5.js"; import "./chunk-FYNVVMWY.js"; import "./chunk-Q52DVFYK.js"; import "./chunk-HBMVUVZX.js"; import "./chunk-CRGVDJI6.js"; import "./chunk-QOV6ITMI.js"; import { rn, tn } from "./chunk-DH2OBAUC.js"; import "./chunk-TNLRDNTC.js"; import "./chunk-6P6NA7JB.js"; import "./chunk-S7R5EXHN.js"; import "./chunk-QTOOFNRV.js"; import "./chunk-CIG5OHC7.js"; import "./chunk-FUD7XO3N.js"; import "./chunk-6EU7GFUT.js"; import "./chunk-MFUAILAT.js"; import "./chunk-HZJYXMI6.js"; import "./chunk-27P5ZSC7.js"; import "./chunk-UPD4MTCL.js"; import "./chunk-GRBROWI6.js"; import "./chunk-5NKYXKIA.js"; import "./chunk-MPWGHCZG.js"; import "./chunk-FTI5VP6T.js"; import "./chunk-RZFGRBD7.js"; import "./chunk-PUSPZYFZ.js"; import "./chunk-EN7YGJWG.js"; import "./chunk-VBNMTM7L.js"; import "./chunk-3D3QEPRE.js"; import "./chunk-JFNNSBWL.js"; import "./chunk-LY74KTXV.js"; import "./chunk-EWE6EXPY.js"; import "./chunk-KUXNUNAI.js"; import "./chunk-KMAHKQ2G.js"; import "./chunk-522WBHUO.js"; import "./chunk-WNCU6BFU.js"; import "./chunk-PIGRDDRG.js"; import "./chunk-BJHM4JNS.js"; import "./chunk-F6A2QQ26.js"; import "./chunk-XLV7RUSE.js"; import "./chunk-NTUXR253.js"; import "./chunk-EOSZHC5H.js"; import "./chunk-C43UE3Z5.js"; import "./chunk-H2KDMZTR.js"; import "./chunk-RMX2AZ4P.js"; import "./chunk-NE3ESGA6.js"; import { l } from "./chunk-YIS6BAC3.js"; import "./chunk-7XXXCK2A.js"; import "./chunk-7ZIDBK7B.js"; import "./chunk-FONIFA5N.js"; import "./chunk-65BYCSII.js"; import "./chunk-WZQZRKNH.js"; import "./chunk-LRDX4TO7.js"; import "./chunk-6A4U74YA.js"; import "./chunk-WJW5DUN6.js"; import "./chunk-PJ7ZQ4VD.js"; import "./chunk-WDLTDV2L.js"; import "./chunk-TERAW6FT.js"; import "./chunk-N2663GRX.js"; import "./chunk-O4FY3ITT.js"; import "./chunk-WEMIK25H.js"; import "./chunk-7N4X6GF3.js"; import "./chunk-JXW4QTJA.js"; import "./chunk-UXF37FQ4.js"; import "./chunk-ZOEK6QHJ.js"; import "./chunk-XNLG7T2T.js"; import "./chunk-IR4PV7VK.js"; import "./chunk-2Z6LERTI.js"; import "./chunk-OWVBLVP3.js"; import "./chunk-AFZ7XSEW.js"; import "./chunk-4NKD334K.js"; import "./chunk-65K7LC56.js"; import "./chunk-ATPLLI5W.js"; import "./chunk-MXB2XLKV.js"; import "./chunk-XH7RUGVZ.js"; import "./chunk-TBBTRX4O.js"; import "./chunk-YBSUITLL.js"; import { j } from "./chunk-ALDCDSPV.js"; import "./chunk-DT6EAZQ5.js"; import "./chunk-HNOZUNJ4.js"; import { U } from "./chunk-VNFRAYHO.js"; import { s } from "./chunk-R5IG2D6H.js"; import { I, v } from "./chunk-VBRY5KJM.js"; import "./chunk-PDKDCAAD.js"; import { M, M2, g } from "./chunk-ECW2QABR.js"; import "./chunk-GCDJLKH4.js"; import { k2 as k } from "./chunk-MRJEICT6.js"; import { d, e, n2 as n } from "./chunk-Y3WMVFTW.js"; import "./chunk-SAS7RONY.js"; import "./chunk-WSRBH7BF.js"; import "./chunk-IHXECKQQ.js"; import "./chunk-ULGDPLM2.js"; import "./chunk-EMJ4ZSM2.js"; import "./chunk-IKP3YN53.js"; import { r, t } from "./chunk-GZT4BVFP.js"; import "./chunk-A5ICIBVI.js"; // node_modules/@arcgis/core/views/2d/layers/KMLLayerView2D.js var P = class { constructor() { this.allSublayers = new Map(), this.allPoints = [], this.allPolylines = [], this.allPolygons = [], this.allMapImages = []; } }; var j2 = class extends f(u) { constructor() { super(...arguments), this._bitmapIndex = new Map(), this._mapImageContainer = new t2(), this._kmlVisualData = new P(), this.allVisiblePoints = new c(), this.allVisiblePolylines = new c(), this.allVisiblePolygons = new c(), this.allVisibleMapImages = new j(); } async hitTest(e2, i2) { const t3 = this.layer; return [this._pointsView?.hitTest(e2), this._polylinesView?.hitTest(e2), this._polygonsView?.hitTest(e2)].flat().filter(Boolean).map((i3) => (i3.layer = t3, i3.sourceLayer = t3, { type: "graphic", graphic: i3, layer: t3, mapPoint: e2 })); } update(e2) { this._polygonsView && this._polygonsView.processUpdate(e2), this._polylinesView && this._polylinesView.processUpdate(e2), this._pointsView && this._pointsView.processUpdate(e2); } attach() { this._fetchController = new AbortController(), this.container.addChild(this._mapImageContainer), this._polygonsView = new ae({ view: this.view, graphics: this.allVisiblePolygons, requestUpdateCallback: () => this.requestUpdate(), container: new i(this.view.featuresTilingScheme) }), this.container.addChild(this._polygonsView.container), this._polylinesView = new ae({ view: this.view, graphics: this.allVisiblePolylines, requestUpdateCallback: () => this.requestUpdate(), container: new i(this.view.featuresTilingScheme) }), this.container.addChild(this._polylinesView.container), this._pointsView = new ae({ view: this.view, graphics: this.allVisiblePoints, requestUpdateCallback: () => this.requestUpdate(), container: new i(this.view.featuresTilingScheme) }), this.container.addChild(this._pointsView.container), this.handles.add([this.allVisibleMapImages.on("change", (e2) => { e2.added.forEach((e3) => this._addMapImage(e3)), e2.removed.forEach((e3) => this._removeMapImage(e3)); }), l(() => this.layer.visibleSublayers, (e2) => { for (const [i2, t3] of this._kmlVisualData.allSublayers) t3.visibility = 0; for (const i2 of e2) { const e3 = this._kmlVisualData.allSublayers.get(i2.id); e3 && (e3.visibility = 1); } this._refreshCollections(); })]), this.updatingHandles.addPromise(this._fetchService(this._fetchController.signal)); } detach() { this._fetchController.abort(), this._fetchController = null, this._mapImageContainer.removeAllChildren(), this.container.removeAllChildren(), this._bitmapIndex.clear(), this._polygonsView && (this._polygonsView.destroy(), this._polygonsView = null), this._polylinesView && (this._polylinesView.destroy(), this._polylinesView = null), this._pointsView && (this._pointsView.destroy(), this._pointsView = null); } moveStart() { } viewChange() { this._polygonsView.viewChange(), this._polylinesView.viewChange(), this._pointsView.viewChange(); } moveEnd() { } isUpdating() { return this._pointsView.updating || this._polygonsView.updating || this._polylinesView.updating; } _addMapImage(e2) { (this.view.spatialReference.isWGS84 || this.view.spatialReference.isWebMercator) && U(e2.href, { responseType: "image" }).then(({ data: i2 }) => { let t3 = M2.fromJSON(e2.extent); g(t3, this.view.spatialReference) && (t3 = M(t3, this.view.spatialReference)); const s2 = new v2(i2, "standard"); s2.x = t3.xmin, s2.y = t3.ymax, s2.resolution = t3.width / i2.naturalWidth, s2.rotation = e2.rotation, this._mapImageContainer.addChild(s2), this._bitmapIndex.set(e2, s2); }); } async _getViewDependentUrl(e2, t3) { const { viewFormat: s2, viewBoundScale: l2, httpQuery: h } = e2; if (r(s2)) { if (t(t3)) throw new Error("Loading this network link requires a view state."); let p; if (await tn(), r(l2) && l2 !== 1) { const e3 = new M2(t3.extent); e3.expand(l2), p = e3; } else p = t3.extent; p = rn(p, k.WGS84); const w = rn(p, k.WebMercator), g3 = p.xmin, u2 = p.xmax, _ = p.ymin, V = p.ymax, f2 = t3.size[0] * t3.pixelRatio, v3 = t3.size[1] * t3.pixelRatio, S = Math.max(w.width, w.height), I2 = { "[bboxWest]": g3.toString(), "[bboxEast]": u2.toString(), "[bboxSouth]": _.toString(), "[bboxNorth]": V.toString(), "[lookatLon]": p.center.x.toString(), "[lookatLat]": p.center.y.toString(), "[lookatRange]": S.toString(), "[lookatTilt]": "0", "[lookatHeading]": t3.rotation.toString(), "[lookatTerrainLon]": p.center.x.toString(), "[lookatTerrainLat]": p.center.y.toString(), "[lookatTerrainAlt]": "0", "[cameraLon]": p.center.x.toString(), "[cameraLat]": p.center.y.toString(), "[cameraAlt]": S.toString(), "[horizFov]": "60", "[vertFov]": "60", "[horizPixels]": f2.toString(), "[vertPixels]": v3.toString(), "[terrainEnabled]": "0", "[clientVersion]": s, "[kmlVersion]": "2.2", "[clientName]": "ArcGIS API for JavaScript", "[language]": "en-US" }, C = (e3) => { for (const i2 in e3) for (const t4 in I2) e3[i2] = e3[i2].replace(t4, I2[t4]); }, x = v(s2); C(x); let k2 = {}; r(h) && (k2 = v(h), C(k2)); const P2 = n2(e2.href); P2.query = { ...P2.query, ...x, ...k2 }; return `${P2.path}?${I(x)}`; } return e2.href; } async _fetchService(e2) { const i2 = new P(); await this._loadVisualData(this.layer.url, i2, e2), this._kmlVisualData = i2, this._refreshCollections(); } _refreshCollections() { this.allVisiblePoints.removeAll(), this.allVisiblePolylines.removeAll(), this.allVisiblePolygons.removeAll(), this.allVisibleMapImages.removeAll(), this.allVisiblePoints.addMany(this._kmlVisualData.allPoints.filter((e2) => this._isSublayerVisible(e2.sublayerId)).map(({ item: e2 }) => e2)), this.allVisiblePolylines.addMany(this._kmlVisualData.allPolylines.filter((e2) => this._isSublayerVisible(e2.sublayerId)).map(({ item: e2 }) => e2)), this.allVisiblePolygons.addMany(this._kmlVisualData.allPolygons.filter((e2) => this._isSublayerVisible(e2.sublayerId)).map(({ item: e2 }) => e2)), this.allVisibleMapImages.addMany(this._kmlVisualData.allMapImages.filter((e2) => this._isSublayerVisible(e2.sublayerId)).map(({ item: e2 }) => e2)); } _isSublayerVisible(e2) { const i2 = this._kmlVisualData.allSublayers.get(e2); return !!i2.visibility && (i2.parentFolderId === -1 || this._isSublayerVisible(i2.parentFolderId)); } _loadVisualData(e2, i2, t3) { return this._fetchParsedKML(e2, t3).then(async (e3) => { for (const s2 of e3.sublayers) { i2.allSublayers.set(s2.id, s2); const e4 = s2.points ? await b(s2.points) : [], a = s2.polylines ? await b(s2.polylines) : [], o = s2.polygons ? await b(s2.polygons) : [], l2 = s2.mapImages || []; if (i2.allPoints.push(...e4.map((e5) => ({ item: e5, sublayerId: s2.id }))), i2.allPolylines.push(...a.map((e5) => ({ item: e5, sublayerId: s2.id }))), i2.allPolygons.push(...o.map((e5) => ({ item: e5, sublayerId: s2.id }))), i2.allMapImages.push(...l2.map((e5) => ({ item: e5, sublayerId: s2.id }))), s2.networkLink) { const e5 = await this._getViewDependentUrl(s2.networkLink, this.view.state); await this._loadVisualData(e5, i2, t3); } } }); } _fetchParsedKML(e2, i2) { return g2(e2, this.view.spatialReference, this.layer.refreshInterval, i2).then((e3) => d2(e3.data)); } _removeMapImage(e2) { const i2 = this._bitmapIndex.get(e2); i2 && (this._mapImageContainer.removeChild(i2), this._bitmapIndex.delete(e2)); } }; e([d()], j2.prototype, "_pointsView", void 0), e([d()], j2.prototype, "_polylinesView", void 0), e([d()], j2.prototype, "_polygonsView", void 0), e([d()], j2.prototype, "updating", void 0), j2 = e([n("esri.views.2d.layers.KMLLayerView2D")], j2); var M3 = j2; export { M3 as default }; //# sourceMappingURL=KMLLayerView2D-ZARAV66O.js.map