zywlgis 0.5.21 → 0.5.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ZYWLGIS.es.js +5 -5
- package/dist/ZYWLGIS.umd.js +1 -1
- package/dist/libs/GISModel.js +62 -0
- package/package.json +1 -1
- package/dist/models/3333.glb +0 -0
- package/dist/models/ArrowX.glb +0 -0
- package/dist/models/ArrowY.glb +0 -0
- package/dist/models/ArrowZ.glb +0 -0
- package/dist/models/ArrowZ1.bin +0 -0
- package/dist/models/ArrowZ1.gltf +0 -1
- package/dist/models/SphereX.glb +0 -0
- package/dist/models/SphereY.glb +0 -0
- package/dist/models/SphereZ.glb +0 -0
- package/dist/models/gltf/ArrowX.bin +0 -0
- package/dist/models/gltf/ArrowX.gltf +0 -1
- package/dist/models/gltf/ArrowY.bin +0 -0
- package/dist/models/gltf/ArrowY.gltf +0 -1
- package/dist/models/gltf/ArrowZ.bin +0 -0
- package/dist/models/gltf/ArrowZ.gltf +0 -1
- package/dist/models/gltf/SphereX.bin +0 -0
- package/dist/models/gltf/SphereX.gltf +0 -1
- package/dist/models/gltf/SphereY.bin +0 -0
- package/dist/models/gltf/SphereY.gltf +0 -1
- package/dist/models/gltf/SphereZ.bin +0 -0
- package/dist/models/gltf/SphereZ.gltf +0 -1
- package/dist/models/gltf/drone.gltf +0 -129
- package/dist/models/jichang.glb +0 -0
- package/dist/models/jiqigou.glb +0 -0
- package/dist/models/uav.glb +0 -0
- package/dist/models/uavCorrect.glb +0 -0
package/dist/ZYWLGIS.umd.js
CHANGED
|
@@ -15985,7 +15985,7 @@ void main() {
|
|
|
15985
15985
|
opacity: 0.9;
|
|
15986
15986
|
z-index: 10000;
|
|
15987
15987
|
${this.minimal?"cursor: pointer;":""}
|
|
15988
|
-
`}setupEventListeners(){this.minimal?(this.dom.addEventListener("click",this.handleClick),this.showPanel(this.mode)):window.addEventListener("resize",this.handleResize)}async init(e){if(!e){console.error('Stats: The "canvas" parameter is undefined.');return}if(!this.handleThreeRenderer(e)&&!await this.handleWebGPURenderer(e))if(this.initializeWebGL(e)){this.trackGPU&&this.initializeGPUTracking();return}else console.error("Stats-gl: Failed to initialize WebGL context")}handleThreeRenderer(e){return e.isWebGLRenderer&&!this.threeRendererPatched?(this.patchThreeRenderer(e),this.gl=e.getContext(),this.trackGPU&&this.initializeGPUTracking(),!0):!1}async handleWebGPURenderer(e){return e.isWebGPURenderer?((this.trackGPU||this.trackCPT)&&(e.backend.trackTimestamp=!0,e._initialized||await e.init(),e.hasFeature("timestamp-query")&&this.initializeWebGPUPanels()),this.info=e.info,this.patchThreeWebGPU(e),!0):!1}initializeWebGPUPanels(){this.trackGPU&&(this.gpuPanel=this.addPanel(new U0.Panel("GPU","#ff0","#220"))),this.trackCPT&&(this.gpuPanelCompute=this.addPanel(new U0.Panel("CPT","#e1e1e1","#212121")))}initializeWebGL(e){if(e instanceof WebGL2RenderingContext)this.gl=e;else if(e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas){if(this.gl=e.getContext("webgl2"),!this.gl)return console.error("Stats: Unable to obtain WebGL2 context."),!1}else return console.error("Stats: Invalid input type. Expected WebGL2RenderingContext, HTMLCanvasElement, or OffscreenCanvas."),!1;return!0}initializeGPUTracking(){this.gl&&(this.ext=this.gl.getExtension("EXT_disjoint_timer_query_webgl2"),this.ext&&(this.gpuPanel=this.addPanel(new U0.Panel("GPU","#ff0","#220"))))}begin(){this.beginProfiling("cpu-started"),!(!this.gl||!this.ext)&&(this.activeQuery&&this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.activeQuery=this.gl.createQuery(),this.activeQuery&&this.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,this.activeQuery))}end(){this.renderCount++,this.gl&&this.ext&&this.activeQuery&&(this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.gpuQueries.push({query:this.activeQuery}),this.activeQuery=null),this.endProfiling("cpu-started","cpu-finished","cpu-duration")}update(){this.endProfiling("cpu-started","cpu-finished","cpu-duration"),this.info?this.processWebGPUTimestamps():this.processGpuQueries(),this.updateAverages(),this.resetCounters()}processWebGPUTimestamps(){this.totalGpuDuration=this.info.render.timestamp,this.totalGpuDurationCompute=this.info.compute.timestamp}resetCounters(){this.renderCount=0,this.totalCpuDuration=0,this.beginTime=this.endInternal()}resizePanel(e){e.canvas.style.position="absolute",this.minimal?e.canvas.style.display="none":(e.canvas.style.display="block",this.horizontal?(e.canvas.style.top="0px",e.canvas.style.left=e.id*e.WIDTH/e.PR+"px"):(e.canvas.style.left="0px",e.canvas.style.top=e.id*e.HEIGHT/e.PR+"px"))}addPanel(e){return e.canvas&&(this.dom.appendChild(e.canvas),e.id=this._panelId,this.resizePanel(e),this._panelId++),e}showPanel(e){for(let t=0;t<this.dom.children.length;t++){const i=this.dom.children[t];i.style.display=t===e?"block":"none"}this.mode=e}processGpuQueries(){!this.gl||!this.ext||(this.totalGpuDuration=0,this.gpuQueries.forEach((e,t)=>{if(this.gl){const i=this.gl.getQueryParameter(e.query,this.gl.QUERY_RESULT_AVAILABLE),n=this.gl.getParameter(this.ext.GPU_DISJOINT_EXT);if(i&&!n){const a=this.gl.getQueryParameter(e.query,this.gl.QUERY_RESULT)*1e-6;this.totalGpuDuration+=a,this.gl.deleteQuery(e.query),this.gpuQueries.splice(t,1)}}}))}detectVSync(e){if(this.lastFrameTime===0){this.lastFrameTime=e;return}const t=e-this.lastFrameTime;if(this.lastFrameTime=e,this.frameTimeHistory.push(t),this.frameTimeHistory.length>this.HISTORY_SIZE&&this.frameTimeHistory.shift(),this.frameTimeHistory.length<60)return;const i=this.frameTimeHistory.reduce((l,h)=>l+h)/this.frameTimeHistory.length,n=this.frameTimeHistory.reduce((l,h)=>l+Math.pow(h-i,2),0)/this.frameTimeHistory.length;if(Math.sqrt(n)>2){this.detectedVSync=null;return}let a=null,o=1/0;for(const l of this.VSYNC_RATES){const h=Math.abs(i-l.frameTime);h<o&&(o=h,a=l)}a&&o/a.frameTime<=this.VSYNC_THRESHOLD?this.detectedVSync=a:this.detectedVSync=null}endInternal(){var e;const t=performance.now();for(this.frameTimes.push(t);this.frameTimes.length>0&&this.frameTimes[0]<=t-1e3;)this.frameTimes.shift();const i=Math.round(this.frameTimes.length);this.addToAverage(i,this.averageFps);const n=t>=this.prevTextTime+1e3/this.logsPerSecond,s=t>=this.prevGraphTime+1e3/this.graphsPerSecond;if(this.updatePanelComponents(this.fpsPanel,this.averageFps,0,n,s),this.updatePanelComponents(this.msPanel,this.averageCpu,this.precision,n,s),this.gpuPanel&&this.updatePanelComponents(this.gpuPanel,this.averageGpu,this.precision,n,s),this.trackCPT&&this.gpuPanelCompute&&this.updatePanelComponents(this.gpuPanelCompute,this.averageGpuCompute,this.precision,n,s),n&&(this.prevTextTime=t),s&&(this.prevGraphTime=t),this.vsyncPanel!==null){this.detectVSync(t);const a=((e=this.detectedVSync)==null?void 0:e.refreshRate)||0;n&&a>0&&this.vsyncPanel.update(a,a)}return t}updatePanelComponents(e,t,i,n,s){if(!e||t.logs.length===0)return;e.name in this.lastMin||(this.lastMin[e.name]=1/0,this.lastMax[e.name]=0,this.lastValue[e.name]=0);const a=t.logs[t.logs.length-1];this.lastMax[e.name]=Math.max(...t.logs),this.lastMin[e.name]=Math.min(this.lastMin[e.name],a),this.lastValue[e.name]=this.lastValue[e.name]*.7+a*.3;const o=Math.max(Math.max(...t.logs),...t.graph.slice(-this.samplesGraph));this.updateCounter++,n&&e.update(this.lastValue[e.name],this.lastMax[e.name],i),s&&e.updateGraph(a,o)}beginProfiling(e){if(window.performance)try{window.performance.clearMarks(e),window.performance.mark(e)}catch(t){console.debug("Stats: Performance marking failed:",t)}}endProfiling(e,t,i){if(!(!window.performance||!t||!e))try{window.performance.getEntriesByName(e,"mark").length===0&&this.beginProfiling(e),window.performance.clearMarks(t),window.performance.mark(t),window.performance.clearMeasures(i);const s=performance.measure(i,e,t);this.totalCpuDuration+=s.duration,window.performance.clearMarks(e),window.performance.clearMarks(t),window.performance.clearMeasures(i)}catch(n){console.debug("Stats: Performance measurement failed:",n)}}updatePanel(e,t,i=2){if(!e||t.logs.length===0)return;const n=performance.now();e.name in this.lastMin||(this.lastMin[e.name]=1/0,this.lastMax[e.name]=0,this.lastValue[e.name]=0);const s=t.logs[t.logs.length-1],a=Math.max(...t.logs.slice(-30));this.lastMin[e.name]=Math.min(this.lastMin[e.name],s),this.lastMax[e.name]=Math.max(this.lastMax[e.name],s),this.lastValue[e.name]=this.lastValue[e.name]*.7+s*.3;const o=Math.max(a,...t.graph.slice(-this.samplesGraph));this.updateCounter++,this.updateCounter%(this.logsPerSecond*2)===0&&(this.lastMax[e.name]=a,this.lastMin[e.name]=s),e.update&&(n>=this.prevCpuTime+1e3/this.logsPerSecond&&e.update(this.lastValue[e.name],s,this.lastMax[e.name],o,i),n>=this.prevGraphTime+1e3/this.graphsPerSecond&&(e.updateGraph(s,o),this.prevGraphTime=n))}updateAverages(){this.addToAverage(this.totalCpuDuration,this.averageCpu),this.addToAverage(this.totalGpuDuration,this.averageGpu),this.info&&this.totalGpuDurationCompute!==void 0&&this.addToAverage(this.totalGpuDurationCompute,this.averageGpuCompute)}addToAverage(e,t){t.logs.push(e),t.logs.length>this.samplesLog&&(t.logs=t.logs.slice(-this.samplesLog)),t.graph.push(e),t.graph.length>this.samplesGraph&&(t.graph=t.graph.slice(-this.samplesGraph))}get domElement(){return this.dom}patchThreeWebGPU(e){const t=e.info.reset,i=this;e.info.reset=function(){i.beginProfiling("cpu-started"),t.call(this)}}patchThreeRenderer(e){const t=e.render,i=this;e.render=function(n,s){i.begin(),t.call(this,n,s),i.end()},this.threeRendererPatched=!0}};hte.Panel=lte;let g6e=hte;class cte{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;frustumInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isHighlight_=!1;isAutoZoom_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isAutoZoom_=this.data_?.isAutoZoom??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-Model",n=this.data_.ID+"-&-ZYWL-&-Frustum-Frustum",s=this.data_?.zIndex??0,a=e[0],o=B.getDefaultPointBase64();this.data_?.icon?.image&&this.data_?.icon?.image.length&&(o=this.data_?.icon?.image);const l=this.data_?.scale??1;let h=this.data_?.icon?.markerWidth??10,c=this.data_?.icon?.markerHeight??10,u=this.data_?.icon?.markerDx??0,f=this.data_?.icon?.markerDy??0,d=this.data_?.camera?.heading??0,g={markerFile:o,markerWidth:h*l,markerHeight:c*l,markerDx:u,markerDy:f,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerRotation:-d},A=[a.longitude,a.latitude],m=this.data_?.frustum?.visible??!1,p=this.data_?.frustum?.heading??0,C=ki(A),E=rs(C,300,p,{units:"meters"}),x=[A,E.geometry.coordinates],w={lineWidth:3,lineColor:this.data_?.frustum?.outlineColor??"#63D195",lineDasharray:[10,5]},T=new Fn(A,{id:i,symbol:g,zIndex:s}),D,O;window.isGPUSupport?(D=B.getPointLayer(this.containerID_),O=B.getLineStringLayer(this.containerID_)):(D=B.getVectorLayer(this.containerID_),O=B.getVectorLayer(this.containerID_));let P=new Sr(x,{id:n,editable:!1,dragShadow:!1,visible:m,arrowStyle:"classic",arrowPlacement:"point",symbol:w,zIndex:s});t({PointLayer:D,LineStringLayer:O,position:A,symbol:g,zIndex:s,frustumPositions:x,frustumVisible:m,frustumSymbol:w,PointGeometry:T,LineStringGeometry:P})}).then(t=>{this.geometryInstance_?(this.geometryInstance_.setCoordinates(t.position),this.geometryInstance_.updateSymbol(t.symbol)):(this.geometryInstance_=t.PointGeometry.addTo(t.PointLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick)),this.geometryInstance_&&(this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide()),this.frustumInstance_?(this.frustumInstance_.setCoordinates(t.frustumPositions),this.frustumInstance_.updateSymbol(t.frustumSymbol)):this.frustumInstance_=t.LineStringGeometry.addTo(t.LineStringLayer),this.frustumInstance_&&(this.frustumInstance_.setZIndex(t.zIndex),t.frustumVisible?this.frustumInstance_.show():this.frustumInstance_.hide()),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_?.length){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearFrustum(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearFrustum=()=>{this.frustumInstance_&&(this.frustumInstance_.remove(),this.frustumInstance_=void 0)};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=B.getUAVIcon();this.data_?.icon?.imageHighlight&&this.data_?.icon?.imageHighlight.length?t=this.data_?.icon?.imageHighlight:this.data_?.icon?.image&&this.data_?.icon?.image.length&&(t=this.data_?.icon?.image),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFile:t})};mouseout=e=>{if(this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=B.getUAVIcon();this.data_?.icon?.image&&this.data_?.icon?.image.length&&(t=this.data_?.icon?.image),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFile:t})}}class A6e{containerID_=void 0;dataClass_=void 0;data_=void 0;frustumInstance_=void 0;frustumOutlineInstance_=void 0;frustumDirectionLineInstance_=void 0;center_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=(e,t)=>{this.data_=e,this.center_=t,this.clear(),this.reDraw()};reDraw=()=>{let e=B.getMapEngineInstance(this.containerID_);if(e){let t=this.data_?.coordinates;if(t&&t.length){let i=t[0],n=this.data_?.frustum?.cameraType??"M3TD",s=this.data_?.frustum?.isWideAngle??!1,a,o;if(s){const w=B.getWideAngleCameraTypes(n);a=w.fovH,o=w.fovV}else{const{chip_w:w,chip_h:T,focus_w:D,focus_h:O}=B.getCameraTypes(n);let P=this.data_?.frustum?.zoom??3.5,R=B.zoom2fov(P,w,T,D,O);a=R[0],o=R[1]}let l=new Cesium.Camera(e.scene),h,c;a>o?(h=a,c=a/o):(h=o,c=o/a),l.frustum=new Cesium.PerspectiveFrustum({fov:Cesium.Math.toRadians(h),aspectRatio:c,near:.1,far:100});let u=this.data_?.frustum?.heading??0,f=this.data_?.frustum?.pitch??0,d=this.data_?.frustum?.roll??0;u=Cesium.Math.toRadians(u-180),f=Cesium.Math.toRadians(-f),d=Cesium.Math.toRadians(-d);let g=i?.longitude,A=i?.latitude,m=i?.altitude,p=Cesium.Cartesian3.fromDegrees(g,A,m);this.center_&&(p=this.center_),l.setView({destination:p,orientation:{heading:u,pitch:f,roll:d}});let C=this.data_?.visible??!1,E=this.data_?.frustum?.frustumColor??"#3A8F7B";E=new Cesium.Color.fromCssColorString(E),this.frustumInstance_=this.createFrustum(e,"Frustum",l,E,.3,C);let x=this.data_?.frustum?.outlineColor??"#63D195";x=new Cesium.Color.fromCssColorString(x),this.frustumOutlineInstance_=this.createFrustum(e,"FrustumOutline",l,x,1,C),this.frustumDirectionLineInstance_=this.createFrustumDirectionLine(e,l,p,x,C)}}};createFrustum(e,t,i,n,s,a){a&&(a=this.data_?.frustum?.visible??!1);let o=new Cesium.Quaternion.fromRotationMatrix(Cesium.Matrix4.getRotation(i.inverseViewMatrix,new Cesium.Matrix3)),l;t==="Frustum"?l=new Cesium.FrustumGeometry({frustum:i.frustum,origin:i.position,orientation:o,vertexFormat:Cesium.VertexFormat.ALL}):t==="FrustumOutline"&&(l=new Cesium.FrustumOutlineGeometry({frustum:i.frustum,origin:i.position,orientation:o}));let h=this.data_?.ID;const c=new Cesium.GeometryInstance({id:h+"-&-ZYWL-&-Frustum-"+t,geometry:l,attributes:{color:Cesium.ColorGeometryInstanceAttribute.fromColor(new Cesium.Color.fromAlpha(n,s))}}),u=new Cesium.Primitive({geometryInstances:c,releaseGeometryInstances:!1,appearance:new Cesium.PerInstanceColorAppearance({closed:!0,flat:!0}),show:a,asynchronous:!1,allowPicking:!1});return e.scene.primitives.add(u)}createFrustumDirectionLine(e,t,i,n,s){s&&(s=this.data_?.frustum?.visible??!1);const a=t.direction,o=t.frustum.far,l=t.frustum.near,h=Cesium.Cartesian3.negate(a,new Cesium.Cartesian3),c=Cesium.Cartesian3.multiplyByScalar(h,o,new Cesium.Cartesian3),u=Cesium.Cartesian3.multiplyByScalar(h,l,new Cesium.Cartesian3),f=Cesium.Cartesian3.add(i,c,new Cesium.Cartesian3),d=Cesium.Cartesian3.add(i,u,new Cesium.Cartesian3);if(!this.frustumDirectionLineInstance_){let g=new Cesium.PolylineGeometry({positions:[d,f],width:3}),A=this.data_?.ID;const m=new Cesium.GeometryInstance({id:A+"-&-ZYWL-&-FrustumDirectionLine",geometry:g}),p=new Cesium.Primitive({geometryInstances:m,releaseGeometryInstances:!1,appearance:new Cesium.PolylineMaterialAppearance({material:Cesium.Material.fromType(Cesium.Material.PolylineDashType,{color:n,gapColor:Cesium.Color.TRANSPARENT,dashLength:15})}),show:s,asynchronous:!1});return e.scene.primitives.add(p)}}clear=()=>{let e=B.getMapEngineInstance(this.containerID_);this.frustumInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.frustumInstance_),this.frustumOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.frustumOutlineInstance_),this.frustumDirectionLineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.frustumDirectionLineInstance_),this.frustumInstance_=void 0,this.frustumOutlineInstance_=void 0,this.frustumDirectionLineInstance_=void 0}}class ute{containerID_=void 0;dataClass_=void 0;data_=void 0;modelInstance_=void 0;frustumInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;visible_=!0;isClampToGround_=!1;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isHighlight_=this.data_?.isHighlight??!1;const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.createPrimitive(e,i),this.reDrawCenterLabel(i),this.reDrawCenterHTML(i),this.reDrawCustomLabel([i]),this.reDrawCustomHTML([i])}createPrimitive=(e,t)=>{let i=this.data_.ID+"-&-ZYWL-&-Model",n=this.data_?.scale??1,s,a;this.data_.hasOwnProperty("model")&&(this.data_.model.hasOwnProperty("minimumPixelSize")&&(s=this.data_?.model?.minimumPixelSize),this.data_.model.hasOwnProperty("maximumScale")&&(a=this.data_?.model?.maximumScale??80));let o,l=this.data_?.quaternion;if(l){const h=Cesium.Matrix3.fromQuaternion(l);o=Cesium.Matrix4.fromRotationTranslation(h,t)}else{let h=this.data_?.camera?.heading??0,c=this.data_?.camera?.roll??0,u=this.data_?.camera?.pitch??0,f=Cesium.HeadingPitchRoll.fromDegrees(h,c,u);o=Cesium.Transforms.headingPitchRollToFixedFrame(t,f)}if(this.modelInstance_)this.modelInstance_.show=this.visible_,this.modelInstance_.modelMatrix=o,this.modelInstance_.scale=n,s!==void 0&&(this.modelInstance_.minimumPixelSize=s),a!==void 0&&(this.modelInstance_.maximumScale=a);else{let h={url:this.data_.model.url,show:this.visible_,modelMatrix:o,scale:n,id:i,releaseGltfJson:!0,scene:e.scene};s!==void 0&&(h.minimumPixelSize=s),a!==void 0&&(h.maximumScale=a),Cesium.Model.fromGltfAsync(h).then(c=>{console.log(c),this.modelInstance_&&e.scene.primitives.remove(this.modelInstance_),this.modelInstance_=c,e.scene.primitives.add(this.modelInstance_)})}this.frustumInstance_||(this.frustumInstance_=new A6e(this.containerID_,"Models")),this.frustumInstance_.DataProcessing(this.data_,t)};reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)console.log(11),d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:le.cloneDeep(a),id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_)};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.modelInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.modelInstance_),this.frustumInstance_&&this.frustumInstance_.clear(),this.modelInstance_=void 0,this.frustumInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class m6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};reDraw=()=>{let e=B.getMapEngineInstance(this.containerID_);if(e){this.clearGeometry();let t=this.data_.ID;this.visible_=this.data_?.visible??!0;let i=this.data_?.coordinate;if(i){let n=Cesium.Cartesian3.fromDegrees(i?.longitude??117.21833231944812,i?.latitude??39.06565050593017,i?.altitude??20),s=new Cesium.HeadingPitchRoll(this.data_?.orientation?.heading??0,-(this.data_?.orientation?.pitch??0),this.data_?.orientation?.roll??0),a=new Cesium.Cartesian3(this.data_?.dimensions?.boxX??10,this.data_?.dimensions?.boxY??10,this.data_?.dimensions?.boxZ??10),o=Cesium.Transforms.headingPitchRollToFixedFrame(n,s);if(!this.geometryInstance_){let c=Cesium.BoxGeometry.fromDimensions({dimensions:a}),u=new Cesium.GeometryInstance({id:t+"-&-ZYWL-&-PointCloudRecognition",geometry:c,attributes:{color:Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.color?.material??"#fff"))}}),f=new Cesium.Primitive({geometryInstances:u,appearance:new Cesium.MaterialAppearance({}),show:this.visible_,modelMatrix:o,releaseGeometryInstances:!1});this.geometryInstance_=e.scene.primitives.add(f)}let l;if(this.visible_?l=this.data_?.color?.outline??!0:l=!1,!this.geometryOutlineInstance_){let c=Cesium.BoxOutlineGeometry.fromDimensions({dimensions:a}),u=new Cesium.GeometryInstance({id:t+"-&-ZYWL-&-PointCloudRecognitionOutline",geometry:c,attributes:{color:Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.color?.outlineColor??"#fff"))}}),f=new Cesium.Primitive({geometryInstances:u,appearance:new Cesium.PerInstanceColorAppearance({flat:!0,translucent:!1}),show:l,modelMatrix:o,releaseGeometryInstances:!1,asynchronous:!1});this.geometryOutlineInstance_=e.scene.primitives.add(f)}let h=B.calculateBoxVertices(n,s,a);this.reDrawCustomLabel(h)}}};reDrawCustomLabel=e=>{if(B.getMapEngineInstance(this.containerID_)){this.clearCustomLabel();let i=B.getLabelCollection(this.containerID_);if(this.visible_&&e&&e.length){let n=e[6],s=this.data_?.customLabel;s&&this.customLabelInstances_.push(i.add(new Cesium.Label({position:Cesium.Cartesian3.fromDegrees(n?.longitude??117.21833231944812,n?.latitude??39.06565050593017,n?.altitude??20),id:this.data_.ID+"-&-ZYWL-&-CustomLabel-0",show:s?.show??!1,text:s?.content??"",font:"18px sans-serif",showBackground:s?.showBackground??!1,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(s?.dx??0,s?.dy??0),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i)))}}};clear=()=>{this.clearGeometry(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t]);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class p6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditableCircle",n=this.data_?.zIndex??0,s=e[0],a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o="#fff";this.data_?.symbol?.polygonColor&&this.data_?.symbol?.polygonColor.length&&(o=this.data_?.symbol?.polygonColor);let l=this.data_?.symbol?.lineWidth??2,h=this.data_?.symbol?.radius??7e3,c={lineColor:a,lineWidth:l,polygonFill:o,polygonOpacity:.3},u=[s.longitude,s.latitude],f=new po(u,h,{id:i,symbol:c}),d;if(window.isGPUSupport){d=B.getPolygonLayer(this.containerID_);let g=f.toGeoJSON().geometry.coordinates[0],A=new or(g,{id:i,symbol:c});t({PolygonLayer:d,radius:h,position:u,positions:g,symbol:c,zIndex:n,PolygonGeometry:A})}else d=B.getVectorLayer(this.containerID_),t({PolygonLayer:d,radius:h,position:u,symbol:c,zIndex:n,PolygonGeometry:f})}).then(t=>{if(this.center_=t.position,!this.geometryInstance_){this.geometryInstance_=t.PolygonGeometry;let i=t.PolygonLayer.getGeometries();i.push(this.geometryInstance_),t.PolygonLayer.addGeometry(i),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick)}this.geometryInstance_.updateSymbol(t.symbol),window.isGPUSupport?this.geometryInstance_.setCoordinates(t.positions):(this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.setRadius(t.radius)),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2,polygonOpacity:.4})};mouseout=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t,polygonOpacity:.3})}}class _6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;iconInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isAutoZoom_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isAutoZoom_=this.data_?.isAutoZoom??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditableDashedLine",n=this.data_?.zIndex??0,s=e.map(f=>[f.longitude,f.latitude]),a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o=this.data_?.symbol?.lineWidth??2,l=this.data_?.symbol?.lineDash??0,h={lineColor:a,lineWidth:o,lineDasharray:[l,l/2]},c=new Sr(s,{id:i,symbol:h}),u;window.isGPUSupport?u=B.getLineStringLayer(this.containerID_):u=B.getVectorLayer(this.containerID_),t({LineStringLayer:u,positions:s,symbol:h,zIndex:n,LineStringGeometry:c})}).then(t=>{let i=bh(t.positions),n=Pf(i);if(this.center_=n.geometry.coordinates,!this.geometryInstance_){this.geometryInstance_=t.LineStringGeometry;let s=t.LineStringLayer.getGeometries();s.push(this.geometryInstance_),t.LineStringLayer.addGeometry(s),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick)}this.geometryInstance_.setCoordinates(t.positions),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawModel(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawModel=()=>{let e=this.data_?.coordinates,t=this.data_?.symbol,i=this.data_?.zIndex??0,n;if(t&&(n=t?.icon),e&&e.length){let s=this.data_?.uavCoordinate??e[e.length-1],a={ID:this.data_.ID,visible:this.visible_,isHighlight:this.isHighlight_,scale:t?.scale??1,isAutoZoom_:this.isAutoZoom_,camera:t?.camera??{heading:0},icon:n??{image:B.getUAVIcon(),imageHighlight:B.getUAVIcon(),markerWidth:20,markerHeight:20,markerDx:0,markerDy:0},frustum:t?.frustum??{heading:0,pitch:0,roll:0,visible:!1,cameraType:"M30",zoom:3.5,frustumColor:"#3A8F7B",outlineColor:"#63D195"},coordinates:[s],zIndex:i+1};this.iconInstance_||(this.iconInstance_=new cte(this.containerID_)),this.iconInstance_.DataProcessing(a)}else this.clearIcon()};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates?.length!==this.customLabelInstances_?.length&&this.clearCustomLabel();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+e,n=this.customLabelInstances_.find(s=>s.getId()===i);n?(n.setCoordinates([t.longitude,t.latitude]),n.setContent(t?.customLabel?.content??"")):(n=B.reDrawLabel(this.containerID_,i,t,[t.longitude,t.latitude]),n&&this.customLabelInstances_.push(n))}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates.length!==this.customHTMLInstances_?.length&&this.clearCustomHTML();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,n=this.customHTMLInstances_.find(s=>s.marker.getId()===i);if(!n)n=B.reDrawHTML(this.containerID_,i,t,[t.longitude,t.latitude]),n&&(n.presentationMode===0||n.presentationMode===2?n.infoWindow.hide():n.infoWindow.show(),this.customHTMLInstances_.push(n));else{let a=t?.customHTML?.presentationMode??0;n.marker.setCoordinates([t.longitude,t.latitude]),a===0||a===2?n.infoWindow.hide():n.infoWindow.show()}}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearIcon(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearIcon=()=>{this.iconInstance_&&this.iconInstance_.clear(),this.iconInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.iconInstance_&&this.iconInstance_.customHTMLInstances_){let i=this.iconInstance_.customHTMLInstances_;for(let n=0;n<i.length;n++)i[n].presentationMode===2&&i[n].infoWindow.show()}if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2})};mouseout=e=>{if(this.iconInstance_&&this.iconInstance_.customHTMLInstances_){let i=this.iconInstance_.customHTMLInstances_;for(let n=0;n<i.length;n++)i[n].presentationMode===2&&i[n].infoWindow.hide()}if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t})}}class y6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isAutoZoom_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isAutoZoom_=this.data_?.isAutoZoom??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditableIcon",n=this.data_?.zIndex??0,s=e[0],a=B.getDefaultPointBase64();this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(a=this.data_?.symbol?.image);let o=this.data_?.symbol?.markerWidth??10,l=this.data_?.symbol?.markerHeight??10,h=this.data_?.symbol?.markerDx??0,c=this.data_?.symbol?.markerDy??0,u=this.data_?.symbol?.markerRotation??0,f={markerFile:a,markerWidth:o,markerHeight:l,markerDx:h,markerDy:c,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerRotation:-u},d=[s.longitude,s.latitude],g=new Fn(d,{id:i,symbol:f}),A;window.isGPUSupport?A=B.getPointLayer(this.containerID_):A=B.getVectorLayer(this.containerID_),t({PointLayer:A,position:d,symbol:f,zIndex:n,PointGeometry:g})}).then(t=>{if(this.center_=t.position,!this.geometryInstance_){this.geometryInstance_=t.PointGeometry;let i=t.PointLayer.getGeometries();i.push(this.geometryInstance_),t.PointLayer.addGeometry(i),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick)}this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=B.getDefaultPointBase64();this.data_?.symbol?.imageHighlight&&this.data_?.symbol?.imageHighlight.length&&(t=this.data_?.symbol?.imageHighlight),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFile:t})};mouseout=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=B.getDefaultPointBase64();this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(t=this.data_?.symbol?.image),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFile:t})}}class v6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditablePoint",n=this.data_?.zIndex??0,s=e[0],a="#fff";this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(a=this.data_?.symbol?.pointColor);let o=this.data_?.symbol?.pixelSize??10,l={markerType:"ellipse",markerFill:a,markerHeight:o,markerWidth:o,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0},h=[s.longitude,s.latitude],c=new Fn(h,{id:i,symbol:l}),u;window.isGPUSupport?u=B.getPointLayer(this.containerID_):u=B.getVectorLayer(this.containerID_),t({PointLayer:u,position:h,symbol:l,zIndex:n,PointGeometry:c})}).then(t=>{if(this.center_=t.position,!this.geometryInstance_){this.geometryInstance_=t.PointGeometry;let i=t.PointLayer.getGeometries();i.push(this.geometryInstance_),t.PointLayer.addGeometry(i),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick)}this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t="#fff";this.data_?.symbol?.pointColorHighlight&&this.data_?.symbol?.pointColorHighlight.length&&(t=this.data_?.symbol?.pointColorHighlight),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFill:t})};mouseout=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t="#fff";this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(t=this.data_?.symbol?.pointColor),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFill:t})}}class C6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditablePolygon",n=this.data_?.zIndex??0,s=e.map(f=>[f.longitude,f.latitude]),a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o="#fff";this.data_?.symbol?.polygonColor&&this.data_?.symbol?.polygonColor.length&&(o=this.data_?.symbol?.polygonColor);let l=this.data_?.symbol?.lineWidth??2,h={lineColor:a,lineWidth:l,polygonFill:o,polygonOpacity:.3},c=new or(s,{id:i,symbol:h,editable:!1,dragShadow:!1}),u;window.isGPUSupport?u=B.getPolygonLayer(this.containerID_):u=B.getVectorLayer(this.containerID_),t({positions:s,symbol:h,zIndex:n,PolygonLayer:u,PolygonGeometry:c})}).then(t=>{let i=bh(t.positions),n=Pf(i);if(this.center_=n.geometry.coordinates,!this.geometryInstance_){this.geometryInstance_=t.PolygonGeometry;let s=t.PolygonLayer.getGeometries();s.push(this.geometryInstance_),t.PolygonLayer.addGeometry(s),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick)}this.geometryInstance_.setCoordinates(t.positions),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates?.length!==this.customLabelInstances_?.length&&this.clearCustomLabel();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+e,n=this.customLabelInstances_.find(s=>s.getId()===i);n?(n.setCoordinates([t.longitude,t.latitude]),n.setContent(t?.customLabel?.content??"")):(n=B.reDrawLabel(this.containerID_,i,t,[t.longitude,t.latitude]),n&&this.customLabelInstances_.push(n))}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates.length!==this.customHTMLInstances_?.length&&this.clearCustomHTML();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,n=this.customHTMLInstances_.find(s=>s.marker.getId()===i);if(!n)n=B.reDrawHTML(this.containerID_,i,t,[t.longitude,t.latitude]),n&&(n.presentationMode===0||n.presentationMode===2?n.infoWindow.hide():n.infoWindow.show(),this.customHTMLInstances_.push(n));else{let a=t?.customHTML?.presentationMode??0;n.marker.setCoordinates([t.longitude,t.latitude]),a===0||a===2?n.infoWindow.hide():n.infoWindow.show()}}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2,polygonOpacity:.4})};mouseout=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t,polygonOpacity:.3})}}class fte{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};douglasPeucker=()=>{this.reDraw()};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditablePolyline",n=this.data_?.zIndex??0,s=e.map(u=>[u.longitude,u.latitude]),a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o=this.data_?.symbol?.lineWidth??2,l={lineColor:a,lineWidth:o},h=new Sr(s,{id:i,symbol:l}),c;window.isGPUSupport?c=B.getLineStringLayer(this.containerID_):c=B.getVectorLayer(this.containerID_),t({positions:s,symbol:l,zIndex:n,LineStringLayer:c,LineStringGeometry:h})}).then(t=>{let i=bh(t.positions),n=Pf(i);if(this.center_=n.geometry.coordinates,!this.geometryInstance_){this.geometryInstance_=t.LineStringGeometry;let s=t.LineStringLayer.getGeometries();s.push(this.geometryInstance_),t.LineStringLayer.addGeometry(s),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.dataClass_!=="AirRoutes"&&this.geometryInstance_.on("click",this.emitGraphClick)}this.geometryInstance_.setCoordinates(t.positions),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates?.length!==this.customLabelInstances_?.length&&this.clearCustomLabel();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+e,n=this.customLabelInstances_.find(s=>s.getId()===i);n?(n.setCoordinates([t.longitude,t.latitude]),n.setContent(t?.customLabel?.content??"")):(n=B.reDrawLabel(this.containerID_,i,t,[t.longitude,t.latitude]),n&&this.customLabelInstances_.push(n))}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates.length!==this.customHTMLInstances_?.length&&this.clearCustomHTML();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,n=this.customHTMLInstances_.find(s=>s.marker.getId()===i);if(!n)n=B.reDrawHTML(this.containerID_,i,t,[t.longitude,t.latitude]),n&&(n.presentationMode===0||n.presentationMode===2?n.infoWindow.hide():n.infoWindow.show(),this.customHTMLInstances_.push(n));else{let a=t?.customHTML?.presentationMode??0;n.marker.setCoordinates([t.longitude,t.latitude]),a===0||a===2?n.infoWindow.hide():n.infoWindow.show()}}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.dataClass_!=="AirRoutes"&&this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2})};mouseout=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t})}}class I6e{containerID_=void 0;dataClass_=void 0;data_=void 0;options_=void 0;outlineOptions_=void 0;geometryInstance_=void 0;highlightPrimitive_=void 0;geometryOutlineInstance_=void 0;highlightOutlinePrimitive_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!0,this.isHighlight_=this.data_?.isHighlight??!1;const e=B.getMapEngineInstance(this.containerID_);let t=[],i=!1,n=!1;const s=this.data_.coordinates;for(const a of s)t.push(B.transformCartesian3(a)),a?.customLabel&&(i=!0),a?.customHTML&&(n=!0);if(this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polygon",isClampToGround:this.isClampToGround_},this.outlineOptions_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:this.isClampToGround_},this.createPrimitive(e,s[0]),i||this.clearCustomLabel(),n||this.clearCustomHTML(),!(!i&&!n))if(this.isClampToGround_){const a=await B.getTerrainHeights(e,s);this.reDrawCustomLabel(a.positions),this.reDrawCustomHTML(a.positions)}else this.reDrawCustomLabel(t),this.reDrawCustomHTML(t)}async createPrimitive(e,t){const i=this.data_.ID+"-&-ZYWL-&-NotEditableCircle",n=this.data_.ID+"-&-ZYWL-&-NotEditableCircleOutline",s=this.data_?.symbol?.radius??7e3,a=t?.altitude??100,o=this.data_?.symbol?.lineWidth??2,l=B.transformCartesian3(t),h=B.getCircleOutlinePositions(l,s,a),c=new Cesium.ShowGeometryInstanceAttribute(this.visible_),u=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)),f=B.getGeometryInstances(this.options_);var d;if(this.isClampToGround_?d=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(h),perPositionHeight:!1}):d=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(h),perPositionHeight:!0}),!this.geometryInstance_)this.geometryInstance_=new Cesium.GeometryInstance({id:i,geometry:d,attributes:{color:u,show:c}}),f.push(this.geometryInstance_);else{this.geometryInstance_.geometry=d,this.geometryInstance_.attributes.color=u,this.geometryInstance_.attributes.show=c;const p=f.findIndex(C=>C.id===this.geometryInstance_.id);p!==-1&&(f[p]=this.geometryInstance_)}const g=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")),A=B.getGeometryInstances(this.outlineOptions_);var m;if(this.isClampToGround_?m=new Cesium.GroundPolylineGeometry({positions:h,width:o}):m=new Cesium.PolylineGeometry({positions:h,width:o}),!this.geometryOutlineInstance_)this.geometryOutlineInstance_=new Cesium.GeometryInstance({id:n,geometry:m,attributes:{color:g,show:c}}),A.push(this.geometryOutlineInstance_);else{this.geometryOutlineInstance_.geometry=m,this.geometryOutlineInstance_.attributes.color=g,this.geometryOutlineInstance_.attributes.show=c;const p=A.findIndex(C=>C.id===this.geometryOutlineInstance_.id);p!==-1&&(A[p]=this.geometryOutlineInstance_)}if(this.updatePrimitive(f,A),this.isClampToGround_){const p=await B.getTerrainHeight(e,l);this.reDrawCenterLabel(p.position),this.reDrawCenterHTML(p.position)}else this.reDrawCenterLabel(l),this.reDrawCenterHTML(l)}reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:a,id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e)};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.geometryInstance_){const o=e.findIndex(l=>l.id===this.geometryInstance_.id);o!==-1&&(e.splice(o,1),t=!0)}var i;this.outlineOptions_&&(i=B.getGeometryInstances(this.outlineOptions_));var n=!1;if(this.geometryOutlineInstance_){const o=i.findIndex(l=>l.id===this.geometryOutlineInstance_.id);o!==-1&&(i.splice(o,1),n=!0)}t&&n&&this.updatePrimitive(e,i),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0;const a=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&a.remove(this.highlightPrimitive_),this.highlightOutlinePrimitive_&&a.remove(this.highlightOutlinePrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=(e,t)=>{const n=B.getMapEngineInstance(this.containerID_).scene.primitives;var s;this.options_&&(s=B.getGeometryPrimitive(this.options_)),s&&(n.remove(s),B.removeGeometryPrimitive(this.options_));var a;this.outlineOptions_&&(a=B.getGeometryPrimitive(this.outlineOptions_)),a&&(n.remove(a),B.removeGeometryPrimitive(this.outlineOptions_)),e?.length&&this.options_&&(this.isClampToGround_?s=new Cesium.GroundPrimitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}):s=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(s),this.options_.primitive=s,B.addGeometryPrimitive(this.options_)),t?.length&&this.outlineOptions_&&(this.isClampToGround_?a=new Cesium.GroundPolylinePrimitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}):a=new Cesium.Primitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(a),this.outlineOptions_.primitive=a,B.addGeometryPrimitive(this.outlineOptions_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&i.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_&&i.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0,e&&(this.isClampToGround_?(this.geometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.GroundPrimitive({geometryInstances:this.geometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}))),this.geometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.GroundPolylinePrimitive({geometryInstances:this.geometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN})))):(this.geometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.geometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1}))),this.geometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.geometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1})))))}}class E6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;modelInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isHighlight_=!1;isInterpolation_=!1;sampledPosition_=void 0;clock_=void 0;initialStartTime_=void 0;initialStopTime_=void 0;initialCurrentTime_=void 0;initialClockRange_=void 0;initialMultiplier_=void 0;playState_=!1;startTime_=void 0;stopTime_=void 0;velocityOrientationProperty_=void 0;initLoadModel_=!0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isHighlight_=this.data_?.isHighlight??!1,this.isInterpolation_=this.data_?.isInterpolation??!1;const e=B.getMapEngineInstance(this.containerID_);let t=[],i=!1,n=!1;const s=this.data_.coordinates;for(const a of s)t.push(B.transformCartesian3(a)),a?.customLabel&&(i=!0),a?.customHTML&&(n=!0);if(this.clearGeometry(),this.createPrimitive(e,t),this.reDrawModel(e,s),i||this.clearCustomLabel(),n||this.clearCustomHTML(),!(!i&&!n))if(this.isClampToGround_){const a=await B.getTerrainHeights(e,s);this.reDrawCustomLabel(a.positions),this.reDrawCustomHTML(a.positions)}else this.reDrawCustomLabel(t),this.reDrawCustomHTML(t)}async createPrimitive(e,t){if(t.length<2)return;const i=this.data_.ID+"-&-ZYWL-&-NotEditableDashedLine",n=this.data_?.symbol?.lineWidth??2,s=this.data_?.symbol?.lineDash??0;let a;s?a=new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),.8),gapColor:Cesium.Color.TRANSPARENT,dashLength:s}}}):a=new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}});var o,l;this.isClampToGround_?(o=e.scene.groundPrimitives,l=new Cesium.GroundPolylinePrimitive({geometryInstances:new Cesium.GeometryInstance({id:i,geometry:new Cesium.GroundPolylineGeometry({positions:t,width:n})}),appearance:new Cesium.PolylineMaterialAppearance({material:a}),show:this.visible_,asynchronous:!1})):(o=e.scene.primitives,l=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:i,geometry:new Cesium.PolylineGeometry({positions:t,width:n})}),appearance:new Cesium.PolylineMaterialAppearance({material:a}),show:this.visible_,asynchronous:!1})),this.geometryInstance_&&o.remove(this.geometryInstance_),this.geometryInstance_=o.add(l);const h=B.getCenterByCartesian3(this.data_.coordinates);if(this.isClampToGround_){const c=await B.getTerrainHeight(e,h.position);this.reDrawCenterLabel(c.position),this.reDrawCenterHTML(c.position)}else this.reDrawCenterLabel(h.position),this.reDrawCenterHTML(h.position)}reDrawModel=(e,t)=>{if(this.visible_&&this.data_.hasOwnProperty("symbol")&&Array.isArray(t)&&t.length){this.modelInstance_||(this.modelInstance_=new ute(this.containerID_));let i=this.data_.symbol,n={url:"./models/uav.glb",minimumPixelSize:80,maximumScale:30};i.hasOwnProperty("model")&&(n=i.model);let s=le.cloneDeep(t[t.length-1]);i.hasOwnProperty("customLabel")&&(s.customLabel=i.customLabel),i.hasOwnProperty("customHTML")&&(s.customHTML=i.customHTML);let a=1;i.hasOwnProperty("scale")&&(a=i.scale);let o={heading:0,pitch:0,roll:0};i.hasOwnProperty("camera")&&(o=i.camera);let l={heading:0,pitch:0,roll:0,visible:!1,cameraType:"M30",zoom:3.5,frustumColor:"#3A8F7B",outlineColor:"#63D195"};if(i.hasOwnProperty("frustum")&&(l=i.frustum),!this.isInterpolation_)s=le.cloneDeep(this.data_?.uavCoordinate??t[t.length-1]),this.modelInstance_.DataProcessing({ID:`${this.data_.ID}-&-ZYWL-&-UAVModel`,visible:this.visible_,isHighlight:this.isHighlight_,isClampToGround:this.isClampToGround_,scale:a,model:n,camera:o,frustum:l,customLabel:s?.customLabel,coordinates:[s]});else{const h=this.data_?.multiplier??1;this.initialMultiplier_||(this.initialMultiplier_=le.cloneDeep(e.clock.multiplier)),e.clock.multiplier=h,n.url="./models/uavCorrect.glb";const c=this.data_?.play??!0;if(!this.sampledPosition_){this.sampledPosition_=new Cesium.SampledPositionProperty;const u=t[t.length-1];if(this.startTime_=Cesium.JulianDate.now(),u?.time?this.stopTime_=Cesium.JulianDate.addSeconds(this.startTime_,Number(u?.time),new Cesium.JulianDate):this.stopTime_=Cesium.JulianDate.addSeconds(this.startTime_,t.length*10,new Cesium.JulianDate),t.forEach((f,d)=>{const g=B.transformCartesian3(f);f?.time?this.sampledPosition_.addSample(Cesium.JulianDate.addSeconds(this.startTime_,Number(f?.time),new Cesium.JulianDate),g):this.sampledPosition_.addSample(Cesium.JulianDate.addSeconds(this.startTime_,d*10,new Cesium.JulianDate),g)}),this.velocityOrientationProperty_=new Cesium.VelocityOrientationProperty(this.sampledPosition_),c||this.initLoadModel_){this.initLoadModel_=!1;const f=this.sampledPosition_.getValue(this.startTime_),d=this.velocityOrientationProperty_.getValue(this.startTime_);f&&d&&(l.visible=!1,this.modelInstance_.DataProcessing({ID:this.data_.ID,visible:this.visible_,isHighlight:this.isHighlight_,isClampToGround:this.isClampToGround_,scale:a,model:n,camera:o,quaternion:d,frustum:l,coordinates:[B.transformCoordinate(f)]}))}}c&&!this.playState_?(this.playState_=!0,this.initialStartTime_||(this.initialStartTime_=le.cloneDeep(e.clock.startTime)),this.initialStopTime_||(this.initialStopTime_=le.cloneDeep(e.clock.stopTime)),this.initialCurrentTime_||(this.initialCurrentTime_=le.cloneDeep(e.clock.currentTime)),this.initialClockRange_||(this.initialClockRange_=le.cloneDeep(e.clock.clockRange)),e.clock.startTime=this.startTime_.clone(),e.clock.stopTime=this.stopTime_.clone(),e.clock.currentTime=this.startTime_.clone(),e.clock.clockRange=Cesium.ClockRange.CLAMPED,this.clock_||(this.clock_=u=>{if(Cesium.JulianDate.equals(u.currentTime,u.stopTime)){e.clock.startTime=this.initialStartTime_.clone(),e.clock.stopTime=this.initialStopTime_.clone(),e.clock.currentTime=this.initialCurrentTime_.clone(),e.clock.clockRange=this.initialClockRange_,e.clock.multiplier=this.initialMultiplier_,e.clock.onTick.removeEventListener(this.clock_),this.initialStartTime_=void 0,this.initialStopTime_=void 0,this.initialCurrentTime_=void 0,this.initialClockRange_=void 0,this.initialMultiplier_=void 0,this.sampledPosition_=void 0,this.playState_=!1;return}const f=this.sampledPosition_.getValue(u.currentTime),d=this.velocityOrientationProperty_.getValue(u.currentTime);f&&d&&(l.visible=!1,this.modelInstance_.DataProcessing({ID:this.data_.ID,visible:this.visible_,isHighlight:this.isHighlight_,isClampToGround:this.isClampToGround_,scale:a,model:n,camera:o,quaternion:d,frustum:l,coordinates:[B.transformCoordinate(f)]}))}),e.clock.onTick.addEventListener(this.clock_)):!c&&this.playState_&&(this.playState_=!1,this.clock_&&e.clock.onTick.removeEventListener(this.clock_),this.startTime_=le.cloneDeep(e.clock.currentTime))}}else this.clearModel()};reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:a,id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{if(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.modelInstance_&&this.modelInstance_.hasOwnProperty("customHTMLInstances_")&&this.modelInstance_.customHTMLInstances_.forEach(n=>{n.hasOwnProperty("presentationMode_")&&n.presentationMode_===2&&(e?n.show():n.hide())}),!!this.isHighlight_&&this.geometryInstance_){let n=this.data_?.symbol?.lineDash??0,s;n?e?s=new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),1),gapColor:Cesium.Color.TRANSPARENT,dashLength:n}}}):s=new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),.8),gapColor:Cesium.Color.TRANSPARENT,dashLength:n}}}):e?s=new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}}):s=new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}}),this.geometryInstance_.appearance=new Cesium.PolylineMaterialAppearance({material:s})}};clear=()=>{this.clearGeometry(),this.clearModel(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&(this.isClampToGround_?e.scene.groundPrimitives.remove(this.geometryInstance_):e.scene.primitives.remove(this.geometryInstance_)),this.geometryInstance_=void 0};clearModel=()=>{this.modelInstance_&&this.modelInstance_.clear(),this.modelInstance_=void 0,this.sampledPosition_&&(this.sampledPosition_=void 0);let e=B.getMapEngineInstance(this.containerID_);this.clock_&&e&&e?.clock&&e.clock.onTick.removeEventListener(this.clock_),this.clock_=void 0,this.playState_=!1,this.initLoadModel_=!0,this.initialStartTime_=void 0,this.initialStopTime_=void 0,this.initialCurrentTime_=void 0,this.initialClockRange_=void 0,this.initialMultiplier_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class x6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isHighlight_=!1;isAutoZoom_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isAutoZoom_=this.data_?.isAutoZoom??!1;const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.createPrimitive(e,i),this.reDrawCenterLabel(i),this.reDrawCenterHTML(i),this.reDrawCustomLabel([i]),this.reDrawCustomHTML([i])}createPrimitive=(e,t)=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditableIcon",n=B.getDefaultPointBase64();this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(n=this.data_?.symbol?.image);let s=this.data_?.symbol?.markerWidth??10,a=this.data_?.symbol?.markerHeight??10,o=this.data_?.symbol?.markerDx??0,l=this.data_?.symbol?.markerDy??0,h=this.data_?.symbol?.markerRotation??0;if(this.geometryInstance_)this.geometryInstance_.position=t,this.geometryInstance_.show=this.visible_,this.geometryInstance_.image=n,this.geometryInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.geometryInstance_.width=s,this.geometryInstance_.height=a,this.geometryInstance_.rotation=Cesium.Math.toRadians(-h),this.geometryInstance_.heightReference=this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let c=B.getBillboardCollection(this.containerID_),u;if(this.isAutoZoom_){const f=this.containerID_.split("-cesium")[0],d=B.transformCoordinate(t),g=B.getMapHeightByZoom(f,10,d),A=B.getMapHeightByZoom(f,3,d);u=new Cesium.Billboard({position:t,id:i,show:this.visible_,image:n,pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:s,height:a,rotation:Cesium.Math.toRadians(-h),disableDepthTestDistance:Number.POSITIVE_INFINITY,scaleByDistance:new Cesium.NearFarScalar(g,1,A,.1)},c)}else u=new Cesium.Billboard({position:t,id:i,show:this.visible_,image:n,pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:s,height:a,rotation:Cesium.Math.toRadians(-h),disableDepthTestDistance:Number.POSITIVE_INFINITY},c);this.geometryInstance_=c.add(u)}};reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:a,id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{if(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!!this.isHighlight_&&this.geometryInstance_){let n=B.getDefaultPointBase64();e?this.data_?.symbol?.imageHighlight&&this.data_?.symbol?.imageHighlight.length&&(n=this.data_?.symbol?.imageHighlight):this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(n=this.data_?.symbol?.image),this.geometryInstance_.image=n}};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getBillboardCollection(this.containerID_);this.geometryInstance_&&e&&e.remove(this.geometryInstance_),this.geometryInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class w6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!0,this.isHighlight_=this.data_?.isHighlight??!1;const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.createPrimitive(e,i),this.reDrawCenterLabel(i),this.reDrawCenterHTML(i),this.reDrawCustomLabel([i]),this.reDrawCustomHTML([i])}createPrimitive=(e,t)=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditablePoint",n="#fff";this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(n=this.data_?.symbol?.pointColor),n=Cesium.Color.fromCssColorString(n);const s=this.data_?.symbol?.pixelSize??10;new Promise(a=>{const o=this.containerID_.split("-cesium")[0],l=B.transformCoordinate(t),h=B.getMapHeightByZoom(o,21,l),c=B.getMapHeightByZoom(o,4,l);a({nearHeight:h,farHeight:c})}).then(a=>{if(this.geometryInstance_)this.geometryInstance_.position=t,this.geometryInstance_.show=this.visible_,this.geometryInstance_.color=n,this.geometryInstance_.pixelSize=s;else{let o=B.getPointPrimitiveCollection(this.containerID_);this.geometryInstance_=o.add(new Cesium.PointPrimitive({position:t,id:i,show:this.visible_,color:n,pixelSize:s,disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new Cesium.DistanceDisplayCondition(a.nearHeight,a.farHeight)}))}})};reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:a,id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{if(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!!this.isHighlight_&&this.geometryInstance_){let n="#fff";e?this.data_?.symbol?.pointColorHighlight&&this.data_?.symbol?.pointColorHighlight.length&&(n=this.data_?.symbol?.pointColorHighlight):this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(n=this.data_?.symbol?.pointColor),n=Cesium.Color.fromCssColorString(n),this.geometryInstance_.color=n}};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.geometryInstance_&&e&&e.remove(this.geometryInstance_),this.geometryInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class b6e{containerID_=void 0;dataClass_=void 0;data_=void 0;options_=void 0;outlineOptions_=void 0;geometryInstance_=void 0;highlightPrimitive_=void 0;geometryOutlineInstance_=void 0;highlightOutlinePrimitive_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!0,this.isHighlight_=this.data_?.isHighlight??!1;const e=B.getMapEngineInstance(this.containerID_);let t=[],i=!1,n=!1,s=this.data_.coordinates;for(const a of s)t.push(B.transformCartesian3(a)),a?.customLabel&&(i=!0),a?.customHTML&&(n=!0);if(this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polygon",isClampToGround:this.isClampToGround_},this.outlineOptions_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:this.isClampToGround_},this.createPrimitive(e,t),i||this.clearCustomLabel(),n||this.clearCustomHTML(),!(!i&&!n))if(this.isClampToGround_){const a=await B.getTerrainHeights(e,s);this.reDrawCustomLabel(a.positions),this.reDrawCustomHTML(a.positions)}else this.reDrawCustomLabel(t),this.reDrawCustomHTML(t)}async createPrimitive(e,t){const i=this.data_.ID+"-&-ZYWL-&-NotEditablePolygon",n=this.data_.ID+"-&-ZYWL-&-NotEditablePolygonOutline",s=this.data_?.symbol?.lineWidth??2,a=le.cloneDeep(t);a.push(a[0]);const o=new Cesium.ShowGeometryInstanceAttribute(this.visible_),l=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)),h=B.getGeometryInstances(this.options_);var c;if(this.isClampToGround_?c=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!1}):c=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!0}),!this.geometryInstance_)this.geometryInstance_=new Cesium.GeometryInstance({id:i,geometry:c,attributes:{color:l,show:o}}),h.push(this.geometryInstance_);else{this.geometryInstance_.geometry=c,this.geometryInstance_.attributes.color=l,this.geometryInstance_.attributes.show=o;const A=h.findIndex(m=>m.id===this.geometryInstance_.id);A!==-1&&(h[A]=this.geometryInstance_)}const u=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")),f=B.getGeometryInstances(this.outlineOptions_);var d;if(this.isClampToGround_?d=new Cesium.GroundPolylineGeometry({positions:a,width:s}):d=new Cesium.PolylineGeometry({positions:a,width:s}),!this.geometryOutlineInstance_)this.geometryOutlineInstance_=new Cesium.GeometryInstance({id:n,geometry:d,attributes:{color:u,show:o}}),f.push(this.geometryOutlineInstance_);else{this.geometryOutlineInstance_.geometry=d,this.geometryOutlineInstance_.attributes.color=u,this.geometryOutlineInstance_.attributes.show=o;const A=f.findIndex(m=>m.id===this.geometryOutlineInstance_.id);A!==-1&&(f[A]=this.geometryOutlineInstance_)}this.updatePrimitive(h,f);const g=B.getCenterByCartesian3(this.data_.coordinates);if(this.isClampToGround_){const A=await B.getTerrainHeight(e,g.position);this.reDrawCenterLabel(A.position),this.reDrawCenterHTML(A.position)}else this.reDrawCenterLabel(g.position),this.reDrawCenterHTML(g.position)}reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:a,id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e)};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.geometryInstance_){const o=e.findIndex(l=>l.id===this.geometryInstance_.id);o!==-1&&(e.splice(o,1),t=!0)}var i;this.outlineOptions_&&(i=B.getGeometryInstances(this.outlineOptions_));var n=!1;if(this.geometryOutlineInstance_){const o=i.findIndex(l=>l.id===this.geometryOutlineInstance_.id);o!==-1&&(i.splice(o,1),n=!0)}t&&n&&this.updatePrimitive(e,i),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0;const a=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&a.remove(this.highlightPrimitive_),this.highlightOutlinePrimitive_&&a.remove(this.highlightOutlinePrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=(e,t)=>{const n=B.getMapEngineInstance(this.containerID_).scene.primitives;var s;this.options_&&(s=B.getGeometryPrimitive(this.options_)),s&&(n.remove(s),B.removeGeometryPrimitive(this.options_));var a;this.outlineOptions_&&(a=B.getGeometryPrimitive(this.outlineOptions_)),a&&(n.remove(a),B.removeGeometryPrimitive(this.outlineOptions_)),e?.length&&this.options_&&(this.isClampToGround_?s=new Cesium.GroundPrimitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}):s=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(s),this.options_.primitive=s,B.addGeometryPrimitive(this.options_)),t?.length&&this.outlineOptions_&&(this.isClampToGround_?a=new Cesium.GroundPolylinePrimitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}):a=new Cesium.Primitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(a),this.outlineOptions_.primitive=a,B.addGeometryPrimitive(this.outlineOptions_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&i.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_&&i.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0,e&&(this.isClampToGround_?(this.geometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.GroundPrimitive({geometryInstances:this.geometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}))),this.geometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.GroundPolylinePrimitive({geometryInstances:this.geometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN})))):(this.geometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.geometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1}))),this.geometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.geometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1})))))}}class vI{containerID_=void 0;dataClass_=void 0;data_=void 0;options_=void 0;geometryInstance_=void 0;highlightPrimitive_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!0;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};douglasPeucker=()=>{this.reDraw()};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!0,this.isHighlight_=this.data_?.isHighlight??!1;const e=B.getMapEngineInstance(this.containerID_);let t=[],i=!1,n=!1,s=this.data_?.coordinates;for(const a of s)t.push(B.transformCartesian3(a)),a?.customLabel&&(i=!0),a?.customHTML&&(n=!0);if(this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:this.isClampToGround_},this.createPrimitive(e,t),i||this.clearCustomLabel(),n||this.clearCustomHTML(),!(!i&&!n))if(this.isClampToGround_){const a=await B.getTerrainHeights(e,s);this.reDrawCustomLabel(a.positions),this.reDrawCustomHTML(a.positions)}else this.reDrawCustomLabel(t),this.reDrawCustomHTML(t)}async createPrimitive(e,t){const i=this.data_.ID+"-&-ZYWL-&-NotEditablePolyline",n=this.data_?.symbol?.lineWidth??3,s=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")),a=new Cesium.ShowGeometryInstanceAttribute(this.visible_),o=B.getGeometryInstances(this.options_);var l;if(this.isClampToGround_?l=new Cesium.GroundPolylineGeometry({positions:t,width:n}):l=new Cesium.PolylineGeometry({positions:t,width:n}),!this.geometryInstance_)this.geometryInstance_=new Cesium.GeometryInstance({id:i,geometry:l,attributes:{color:s,show:a}}),o.push(this.geometryInstance_);else{this.geometryInstance_.geometry=l,this.geometryInstance_.attributes.color=s,this.geometryInstance_.attributes.show=a;const c=o.findIndex(u=>u.id===this.geometryInstance_.id);c!==-1&&(o[c]=this.geometryInstance_)}this.updatePrimitive(o);const h=B.getCenterByCartesian3(this.data_.coordinates);if(this.isClampToGround_){const c=await B.getTerrainHeight(e,h.position);this.reDrawCenterLabel(c.position),this.reDrawCenterHTML(c.position)}else this.reDrawCenterLabel(h.position),this.reDrawCenterHTML(h.position)}reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:a,id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e)};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.geometryInstance_){const s=e.findIndex(a=>a.id===this.geometryInstance_.id);s!==-1&&(e.splice(s,1),t=!0)}t&&this.updatePrimitive(e),this.geometryInstance_=void 0;const n=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&n.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;var n;this.options_&&(n=B.getGeometryPrimitive(this.options_)),n&&(i.remove(n),B.removeGeometryPrimitive(this.options_)),e?.length&&this.options_&&(this.isClampToGround_?n=new Cesium.GroundPolylinePrimitive({geometryInstances:e,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}):n=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),i.add(n),this.options_.primitive=n,B.addGeometryPrimitive(this.options_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;if(this.highlightPrimitive_&&i.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0,e&&this.geometryInstance_){let n;this.isClampToGround_?n=new Cesium.GroundPolylinePrimitive({geometryInstances:this.geometryInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}):n=new Cesium.Primitive({geometryInstances:this.geometryInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1}),this.highlightPrimitive_=i.add(n)}}}class dte{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;LineStringGeometryInstance_=void 0;radiusPolylineInstance_=void 0;pointInstance_=void 0;radiusPointInstance_=void 0;radiusLabelInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;radiusCenter_=void 0;radius_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;defaultHeight_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw(),this.reDrawPoints(),this.reDrawRadiusPoint()};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=(e,t)=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;let i=this.data_?.coordinates??[],n=le.cloneDeep(e.coordinate);if(n){n={longitude:n.x,latitude:n.y,altitude:0},this.defaultHeight_&&(n.altitude=this.defaultHeight_);let s=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_){if(t&&t.length){i.length-2;let a=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircleRadius-Point";if(t.find(l=>l?.layer==="ZYWLGIS-GL-Point"||l?.layer==="ZYWLGIS-GL-LineString"||l?.layer==="ZYWLGIS-GL-Polygon"?l.geometry.getId()===a:l.getId()===a)){this.isStartDraw_=!1,this.reDraw(),this.emitGraphChanged("complete"),s.off("mousemove",this.mousemove);return}}}else if(i.length)this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited();else{i.push(le.cloneDeep(n)),this.center_=[i[0].longitude,i[0].latitude],this.radiusCenter_=[le.cloneDeep(n).longitude,le.cloneDeep(n).latitude];let a=ki(this.center_),o=ki(this.radiusCenter_);this.radius_=jn(a,o,{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.isStartDraw_=!0,s.on("mousemove",this.mousemove)}}this.reDraw(),this.reDrawPoints(),this.reDrawRadiusPoint(),this.emitGraphChanged("update")};mousemove=e=>{if(!this.isStartDraw_)return;this.radiusCenter_[0]=e.coordinate.x,this.radiusCenter_[1]=e.coordinate.y;let t=ki(this.center_),i=ki(this.radiusCenter_);this.radius_=jn(t,i,{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw(),this.reDrawRadiusPoint()};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircle",n=this.data_?.zIndex??0,s=e[0];if(this.center_=[s.longitude,s.latitude],this.radius_||(this.radius_=this.data_?.symbol?.radius),this.radiusCenter_){if(this.radiusCenter_&&this.center_){let u=ki(this.center_),f=ki(this.radiusCenter_);this.radius_=jn(u,f,{units:"meters"})}}else if(this.radius_){let u=ki(this.center_),f=rs(u,this.radius_,90,{units:"meters"});this.radiusCenter_=f.geometry.coordinates}let a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o="#fff";this.data_?.symbol?.polygonColor&&this.data_?.symbol?.polygonColor.length&&(o=this.data_?.symbol?.polygonColor);let l=this.data_?.symbol?.lineWidth??2,h={lineColor:a,lineWidth:l,polygonFill:o,polygonOpacity:.3},c=new po(this.center_,this.radius_,{id:i,symbol:h});if(window.isGPUSupport){let u=B.getPolygonLayer(this.containerID_),f=c.toGeoJSON().geometry.coordinates[0],d=new or(f,{id:i,symbol:h});t({PolygonLayer:u,radius:this.radius_,position:this.center_,positions:f,symbol:h,zIndex:n,PolygonGeometry:d})}else{let u=B.getVectorLayer(this.containerID_);t({PolygonLayer:u,radius:this.radius_,position:this.center_,symbol:h,zIndex:n,PolygonGeometry:c})}}).then(t=>{this.geometryInstance_?(this.geometryInstance_.updateSymbol(t.symbol),window.isGPUSupport?this.geometryInstance_.setCoordinates(t.positions):(this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.setRadius(t.radius))):(this.geometryInstance_=t.PolygonGeometry.addTo(t.PolygonLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("contextmenu",this.geometryContextmenu)),this.geometryInstance_&&(this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide()),this.reDrawRadiusPolyline(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};geometryContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw(),this.reDrawPoints(),this.reDrawRadiusPoint()})};reDrawRadiusPolyline=()=>{if(this.visible_&&this.isEditable_&&this.center_&&this.radiusCenter_){let e=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircleRadiusPolyline",t=[this.center_,this.radiusCenter_],i,n;window.isGPUSupport?(i=B.getLineStringLayer(this.containerID_),n=B.getPointLayer(this.containerID_)):(i=B.getVectorLayer(this.containerID_),n=B.getVectorLayer(this.containerID_)),this.radiusPolylineInstance_?(this.radiusPolylineInstance_.setCoordinates(t),this.radiusPolylineInstance_.updateSymbol({lineColor:this.data_?.symbol?.lineColor??"#fff",lineWidth:2})):this.radiusPolylineInstance_=new Sr(t,{id:e,symbol:{lineColor:this.data_?.symbol?.lineColor??"#fff",lineWidth:2}}).addTo(i);let s=ki(this.center_),a=ki(this.radiusCenter_),o=Mh(s,a),h=jn(s,a,{units:"meters"}),c;h>1e3?(h=h/1e3,h=Number(h.toFixed(2)),c=`${h}km`):(h=Number(h.toFixed(2)),c=`${h}m`);let u=this.data_.ID+"-&-ZYWL-&-RadiusLabel",f={textDx:0,textDy:-20,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:c};this.radiusLabelInstance_?(this.radiusLabelInstance_.setCoordinates(o.geometry.coordinates),this.radiusLabelInstance_.updateSymbol(f)):this.radiusLabelInstance_=new Fn(o.geometry.coordinates,{id:u,symbol:f,draggable:!1,dragShadow:!1,editable:!1}).addTo(n)}else this.clearRadiusPolyline()};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&this.isEditable_&&this.center_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_.ID+"-&-ZYWL-&-GraphicEditingCenter-Point",i={markerType:"ellipse",markerFill:"#fff",markerWidth:15,markerHeight:15,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0};this.pointInstance_=new Fn(this.center_,{id:t,symbol:i,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:10}).addTo(e),this.pointInstance_.on("dragging",this.pointDragging),this.pointInstance_.on("dragend",this.pointDragend),this.pointInstance_.on("contextmenu",this.pointContextmenu)}};pointDragging=e=>{this.center_=[e.coordinate.x,e.coordinate.y];let t=ki(this.center_),i=rs(t,this.radius_,90,{units:"meters"});this.radiusCenter_=i.geometry.coordinates;let n=this.data_.coordinates;n[0].longitude=this.center_[0],n[0].latitude=this.center_[1],n[0].altitude=0,this.defaultHeight_&&(n[0].altitude=this.defaultHeight_),this.reDraw(),this.reDrawRadiusPoint()};pointDragend=e=>{this.emitGraphChanged("update")};pointContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.center_=void 0,this.radiusCenter_=void 0,this.radius_=void 0,this.emitGraphRemoved(),this.reDraw()})};reDrawRadiusPoint=()=>{if(this.clearRadiusPoint(),this.visible_&&this.isEditable_&&this.radiusCenter_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircleRadius-Point",i={markerType:"ellipse",markerFill:"#fff",markerWidth:15,markerHeight:15,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0};this.radiusPointInstance_=new Fn(this.radiusCenter_,{id:t,symbol:i,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:10}).addTo(e),this.radiusPointInstance_.on("dragging",this.radiusPointDragging),this.radiusPointInstance_.on("dragend",this.pointDragend),this.radiusPointInstance_.on("contextmenu",this.pointContextmenu)}};radiusPointDragging=e=>{this.radiusCenter_=[e.coordinate.x,e.coordinate.y];let t=ki(this.center_),i=ki(this.radiusCenter_);this.radius_=jn(t,i,{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw()};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearRadiusPolyline(),this.clearPoints(),this.clearRadiusPoint(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML(),this.center_=void 0,this.radiusCenter_=void 0,this.radius_=void 0};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("contextmenu",this.geometryContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearRadiusPolyline=()=>{this.radiusPolylineInstance_&&(this.radiusPolylineInstance_.remove(),this.radiusPolylineInstance_=void 0),this.radiusLabelInstance_&&(this.radiusLabelInstance_.remove(),this.radiusLabelInstance_=void 0)};clearPoints=()=>{this.pointInstance_&&(this.pointInstance_.off("dragging",this.pointDragging),this.pointInstance_.off("dragend",this.pointDragend),this.pointInstance_.off("contextmenu",this.pointContextmenu),this.pointInstance_.remove(),this.pointInstance_=void 0)};clearRadiusPoint=()=>{this.radiusPointInstance_&&(this.radiusPointInstance_.off("dragging",this.radiusPointDragging),this.radiusPointInstance_.off("dragend",this.pointDragend),this.radiusPointInstance_.off("contextmenu",this.pointContextmenu),this.radiusPointInstance_.remove(),this.radiusPointInstance_=void 0)};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2,polygonOpacity:.4})};mouseout=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t,polygonOpacity:.3})}}class T6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;defaultHeight_=void 0;isAutoZoom_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;let t=le.cloneDeep(e.coordinate);if(t){t={longitude:t.x,latitude:t.y,altitude:0},this.defaultHeight_&&(t.altitude=this.defaultHeight_);let i=this.data_?.coordinates;i&&i.length?(i[0].longitude=t.longitude,i[0].latitude=t.latitude,i[0].altitude=t.altitude??0):this.data_.coordinates=[t],this.reDraw(),this.emitGraphChanged("update"),setTimeout(()=>{this.reDrawCustomHTML()},0)}};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight,this.isAutoZoom_=this.data_?.isAutoZoom??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-GraphicEditingIcon",n=this.data_?.zIndex??0,s=e[0],a=B.getDefaultPointBase64();this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(a=this.data_?.symbol?.image);let o=this.data_?.symbol?.markerWidth??10,l=this.data_?.symbol?.markerHeight??10,h=this.data_?.symbol?.markerDx??0,c=this.data_?.symbol?.markerDy??0,u=this.data_?.symbol?.markerRotation??0,f={markerFile:a,markerWidth:o,markerHeight:l,markerDx:h,markerDy:c,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerRotation:-u},d=[s.longitude,s.latitude],g=new Fn(d,{id:i,symbol:f,draggable:this.isEditable_,dragShadow:!1,editable:!1}),A;window.isGPUSupport?A=B.getPointLayer(this.containerID_):A=B.getVectorLayer(this.containerID_),t({PointLayer:A,position:d,symbol:f,zIndex:n,PointGeometry:g})}).then(t=>{this.center_=t.position,this.geometryInstance_||(this.geometryInstance_=t.PointGeometry.addTo(t.PointLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("dragging",this.pointDragging),this.geometryInstance_.on("dragend",this.pointDragend),this.geometryInstance_.on("contextmenu",this.pointContextmenu)),this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.config("draggable",this.isEditable_),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};pointDragging=e=>{this.data_.coordinates[0].longitude=e.coordinate.x,this.data_.coordinates[0].latitude=e.coordinate.y,this.data_.coordinates[0].altitude=e.coordinate.z??0,e.target.setCoordinates([this.data_.coordinates[0].longitude,this.data_.coordinates[0].latitude]),this.reDrawCustomLabel(),this.reDrawCustomHTML()};pointDragend=e=>{this.emitGraphChanged("update")};pointContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("dragging",this.pointDragging),this.geometryInstance_.off("dragend",this.pointDragend),this.geometryInstance_.off("contextmenu",this.pointContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=B.getDefaultPointBase64();this.data_?.symbol?.imageHighlight&&this.data_?.symbol?.imageHighlight.length&&(t=this.data_?.symbol?.imageHighlight),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFile:t})};mouseout=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=B.getDefaultPointBase64();this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(t=this.data_?.symbol?.image),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFile:t})}}class gte{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;defaultHeight_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick({ID:this.data_.ID,data:this.data_,class:this.dataClass_})};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(i)};emitGraphRemoved=()=>{B.emitGraphRemoved({ID:this.data_.ID,data:this.data_,class:this.dataClass_})};mouseClick=e=>{if(console.log(123),B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;let t=le.cloneDeep(e.coordinate);if(t){t={longitude:t.x,latitude:t.y,altitude:0},this.defaultHeight_&&(t.altitude=this.defaultHeight_);let i=this.data_?.coordinates;i&&i.length?(i[0].longitude=t.longitude,i[0].latitude=t.latitude,i[0].altitude=t.altitude??0):this.data_.coordinates=[t],this.reDraw(),this.emitGraphChanged("update"),setTimeout(()=>{this.reDrawCustomHTML()},0)}};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-GraphicEditingPoint",n=this.data_?.zIndex??0,s=e[0],a="#fff";this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(a=this.data_?.symbol?.pointColor);let o=this.data_?.symbol?.pixelSize??20,l={markerType:"ellipse",markerFill:a,markerHeight:o,markerWidth:o,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0},h=[s.longitude,s.latitude],c=new Fn(h,{id:i,symbol:l,draggable:this.isEditable_,dragShadow:!1,editable:!1}),u;window.isGPUSupport?u=B.getPointLayer(this.containerID_):u=B.getVectorLayer(this.containerID_),t({PointLayer:u,position:h,symbol:l,zIndex:n,PointGeometry:c})}).then(t=>{this.center_=t.position,this.geometryInstance_||(this.geometryInstance_=t.PointGeometry.addTo(t.PointLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("dragging",this.pointDragging),this.geometryInstance_.on("dragend",this.pointDragend),this.geometryInstance_.on("contextmenu",this.pointContextmenu)),this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.config("draggable",this.isEditable_),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};pointDragging=e=>{this.data_.coordinates[0].longitude=e.coordinate.x,this.data_.coordinates[0].latitude=e.coordinate.y,this.data_.coordinates[0].altitude=e.coordinate.z??0,e.target.setCoordinates([this.data_.coordinates[0].longitude,this.data_.coordinates[0].latitude]),this.reDrawCustomLabel(),this.reDrawCustomHTML()};pointDragend=e=>{this.emitGraphChanged("update")};pointContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("dragging",this.pointDragging),this.geometryInstance_.off("dragend",this.pointDragend),this.geometryInstance_.off("contextmenu",this.pointContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t="#fff";this.data_?.symbol?.pointColorHighlight&&this.data_?.symbol?.pointColorHighlight.length&&(t=this.data_?.symbol?.pointColorHighlight),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFill:t})};mouseout=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t="#fff";this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(t=this.data_?.symbol?.pointColor),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFill:t})}}class Ate{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryPolylineInstance_=void 0;pointInstances_=[];centerPointInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isCopy_=!1;isStartDraw_=!1;heightMode_=0;defaultHeight_=void 0;nodeMode_="billboard";isAutoDrawAirRoute_=!1;isContainTakeOffBillboard_=!1;TakeOffBillboard_=void 0;TakeOffBillboardDistanceLabel_=void 0;TakeOffBillboardCoordinate_=void 0;polylineCoordinates_=[];startCoordinate_=void 0;isDistanceVisible_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDrawTakeOffBillboard(),this.reDraw(),this.reDrawPoints(),this.isStartDraw_||this.reDrawPolyline()};emitGraphClick=()=>{this.isEditable_&&!window.EditElement||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphNodeClick=e=>{B.emitGraphNodeClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_,index:e}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?this.dataClass_==="AirRoutes"?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,takeOffBillboardCoordinate:this.TakeOffBillboardCoordinate_,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:this.dataClass_==="AirRoutes"?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,takeOffBillboardCoordinate:this.TakeOffBillboardCoordinate_,class:this.dataClass_,type:e}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=(e,t)=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;if(this.isContainTakeOffBillboard_&&!this.TakeOffBillboardCoordinate_){this.TakeOffBillboardCoordinate_={longitude:e.coordinate.x,latitude:e.coordinate.y,altitude:0},this.reDrawTakeOffBillboard(),this.reDraw(),this.isStartDraw_||this.reDrawPolyline(),this.emitGraphChanged("setTakeOffPoint"),B.recoverCursor(this.containerID_,"custom-cursor");return}let i=this.data_?.coordinates??[],n=le.cloneDeep(e.coordinate);if(n){n={longitude:n.x,latitude:n.y,altitude:0},this.defaultHeight_&&(n.altitude=this.defaultHeight_);let s=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_){if(t&&t.length){let a=i.length-2,o=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon-Point-"+a;if(t.find(h=>h?.layer==="ZYWLGIS-GL-Point"||h?.layer==="ZYWLGIS-GL-LineString"||h?.layer==="ZYWLGIS-GL-Polygon"?h.geometry.getId()===o:h.getId()===o)){this.isStartDraw_=!1,i.splice(i.length-1,1),this.reDraw(),this.reDrawPoints(),!this.isStartDraw_&&this.dataClass_==="AirRoutes"?this.reDrawPolyline():this.emitGraphChanged("complete"),s.off("mousemove",this.mousemove);return}}i.push(le.cloneDeep(n))}else if(!i.length)i.push(le.cloneDeep(n)),i.push(le.cloneDeep(n)),this.isStartDraw_=!0,s.on("mousemove",this.mousemove);else if(t&&t.length){let a=!1;for(let o=0;o<t.length;o++){let l=t[o];(l?.layer==="ZYWLGIS-GL-Point"||l?.layer==="ZYWLGIS-GL-LineString"||l?.layer==="ZYWLGIS-GL-Polygon")&&(l=l.geometry);let h=l.getId();if(h.includes("-&-ZYWL-&-GraphicEditingPolygon-CenterPoint-")){a=!0;let c=B.extractionIndex(h),u=l.getCoordinates();if(u){let f={longitude:u.x,latitude:u.y,altitude:0};this.defaultHeight_&&(f.altitude=this.defaultHeight_),i.splice(c+1,0,f),setTimeout(()=>{this.reDrawCustomHTML()},0),!this.isStartDraw_&&this.dataClass_==="AirRoutes"?this.reDrawPolyline():this.emitGraphChanged("update"),this.reDraw(),this.reDrawPoints();break}}}a||(this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited());return}else this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited()}this.reDraw(),this.reDrawPoints(),this.emitGraphChanged("update")};mousemove=e=>{if(!this.isStartDraw_)return;let t=this.data_?.coordinates;t[t.length-1].longitude=e.coordinate.x,t[t.length-1].latitude=e.coordinate.y,this.defaultHeight_?t[t.length-1].altitude=this.defaultHeight_:t[t.length-1].altitude=e.coordinate.z,this.reDraw()};reDrawTakeOffBillboard=()=>{if(!this.TakeOffBillboardCoordinate_){this.clearTakeOffBillboardHeightLabel();return}let e=this.data_.ID,t;window.isGPUSupport?t=B.getPointLayer(this.containerID_):t=B.getVectorLayer(this.containerID_);let i=[this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude];if(this.TakeOffBillboard_?(this.TakeOffBillboard_.setCoordinates(i),this.TakeOffBillboard_.config("draggable",this.isEditable_)):(this.TakeOffBillboard_=new Fn(i,{id:e+"-&-ZYWL-&-TakeOffBillboard",symbol:{markerFile:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAABHNCSVQICAgIfAhkiAAADBpJREFUeF7dnO1OHNcZxwfbTUhCCgTXNG9lCZYtO7KBRK3aD5WXKyhWv0bKcgVe30AM6gUYX4Gxqn6GXAGLKrVqowRIWlu24njJa43iGBISO65d+vyO50wOhzOzZ3ZmZ8CPNNq32TnP+c/zfp4zXUGJtL29XZHhh+QYk6MvZKUavvKZ76EVOTbC943wlc98v9bV1dUsaxpdRQ8soAHK23IAlAYoKxsACbBXBEzeF0YdB1AAQ5LOyDEZHlrSOjVJJHMhPJYEUC25HRmvowAKeBeE67ocsaAtbX4XrGz9EGw8fKQm2Ph2S73yme+hsZ5ng75DB9X76s971Cuf+f5M7/NJwADerIA40xH05KIdAVCAQ0Wn5ajYjK/dfxA0BLSFOxvqyIMmB/oCjqqAOdT9lOuSTfgRIK/kMZ55jVwBFOCqcvHLNnCANnf762Dhm81IqvKeiL4eUjn5Qm9QGzzsAhMgpwTIRl7j5wJg6BguomEmY5uihvVPPlfglUGAOPvaK0FvqP4GDwB4Pg+HkxlAAQ/ngNRFdg7gZr+4Hcx+uR7ZtjIAZExsZf2lI0H95UEbSOzH2azSmAlAAe+cMDFrgnNJgJv+9KvSgbNvGEBO/+rF4JwAaREqPdfuDW4bQAEPqavpgbFzk9dudtzGtTtR00YunBix7eOcgDjVzrVTAxjGdYsyWBQEr37/Q1D98Maek7o4QJDGxuljwehzz5qnYBdR6VShQSoAQ2cxLwNV9MhXbt8Jajea7dy80v8zd6wSvD04YPJBFoNKe2cz3gCGkrdsgndePCzOYj8TzuWieGqDAG/CVxLTAAh4Sm3xskhdXoFw2TeAIBxpNMKdhgA44cOXF4C2wzh79eYTA54GCRDnT46YmHk5lpYACnjksgTJip4EtY2TLIc6twxxEgEMg2SchqL97DB81JFzHI4Fe9iI+38sgKHHJVxRGQahytgH13z5yHxez4EDwR9/0a9uWtG08sYJM8QhrAFEp2dOAhDwqjBPkDy2fLWwOK/v4MFgcfR4MPbcM5JH3wmmCg6TiBNXxk+awXasU3ECGFZVAFDR+PK1wjIMEzw9fhkgUtVZHj9hCr9TleMAvCX/rPBvclsqKkWQC7wyQaSSY+TOK6LG4zYOuwAU6avJSeS5Kt6rvPdRIaqbBF5ZIKLKzV+fMuPDXV7ZBWAkfTNrX6rKSqfJBzzNA8H71PVmsPHo8RJAp4kKzoWhl/QwTZHCYXPMHQCK9E3Lj6xjFCZ9laefCuZfP6ochi+tfH8vmFi9XgiIDimcERDBSVEEYJjrIn0qbJm6sdbxSjKgLZ4+Hi0Y+QLIeUWCSGX78jGWrxUR1gzrXNkEkMqyCpoJW7B9naQs4Gm+igQRW2gsWFH2Yul0hwTOyWdW04KibJ99g7Z//2biPVva3JK64/VO3tfYa1u28IoAWLMBvKvVt8i4z+R4LwNoxYUbAmB/BGCYtlGuKkR9427zXgYQni01Hie9UzZQAGRhiAWiUgsGex1Aq9BwSQCsawCjYmmZtT46C5Jo4+FD5X3LIqtmqDKTrrDFjPBFUddf3y+Lv30xrqUlwwBYFc5V4YBGH1bXyqLZ114NRnviA+rVrXuSl39WFntqXFbzjIamCQCMKs5FFg5cKDQkqD7T+7j7ykVlhjGaH6vAcB4Ap+VHlb6VFf9p5vYDgFY8OLMDwLLXO1Bh4q04ol+wbBV2AdgQhukgDSY+uhE0Nr4r1cbs9cGrfc8Hi6eOaTaXkMDSAMTe9R86FC2RplHhC1Jmav74IGje/zHAuRRV3nIBGNX/ht/7l2KoE0TZ6ozcPWIp1JTPkOkY0gBoB92AifbQ/bokr3zuBFkp3QoSuK0HyjsGBCRK4pOH+yLA7EnlBaB9XQBc+HpDLUnkDaZ58zoCIA07LFL7FElNANM4kVZpnwko2Qs9PHktkdoANmUwVS3MqsKo58WRV2OlTU9qVSaER30sJXfbSs+Q7kr30wE2ife8DoVmIU51GW9alimyAGmp8GouToQ1jfnXR1SXfBy9G3blY6fyVik9pgaSG/kHOeIoy7pK7l44qbK8Ft5xbJHLSwL8uZeP7JjnTItFLLyvSUiT64ZwbWzvtCwIuSSTfSgTUpxNW5xwARiVstIG0nHgbcqKWf3mZ6qrIInqAt5FCZ6joMqj4mx76vOSG89+sZ44Tk1s8qyYll4B1aR2QEzMRNKkcnHgoao1z2XH5TdO7nA0Ps1LOBpTapG+4X+2Xr9BIueOV3apNiCOf3DV26y4AGyrmLAoVQnb5vkAoCWAGwCAJiGxrfaUTA70i4ffqfYA4KuKju4rFTtOeFahXMWEqkwiVTnrtEx+1Zo89m7sfWlA8lzwtiUpS9Cb5sYhiStvSuOQ5bFHJIn4xCOJcJWzKsJ8qoLqW0deCP58fMcCveqgamXzTJBu/eZUy3DHF1TUsP/v3n3hSoJN28s4b12/Ffxl/ZvEIVlkv/u7aHOCivx0SZ/RR/nGp6T/jni2GcsbogKogg852ml9/pZ4TpobiOnBBJn0jsSHf2oRAVh8r0pJf6ytRSUXgD7Aa4ZddgjP3fc3PylqivTaKojzmpTebR9y3UAfAC2+VYuHBhC5VMuaTelKGG7RleBi4JKEEj61OmwQ6qv3/+oJpwHAdQOUPok39gnSXfbXRwBuSXdC5afttD8tazK41BTo+ejlfauF9cGfHQr+81ul8TvIxxsSk12WLQU2+cRz+j9ZruFSX647+I8Pg/UH/40VYCuF2xTpU6mO2RszJ5+9Wztcd5G7f/bfHyeGFGQGrpSvfvNT71AEKV6Qji6bKMUl7ZqKi119tMentSNqLvJRYybRkD7mUastDY+INKXxyD52K+s5SC2e1zYdFDbGJI5sRZb6OpuLEMmmVmOf9rY4EGEGjzyz9pW3Z241gXZ/R9ovDL3olHrAq3r0GVrtbZvCS2VXexsMmit0SBLORD8MIm4CcSmSPl/X4t6NKSi0C0zS/+CJmmTtl4dja5K+KScSi/QZkutusNQMCYhIoaoPpsmNCU6xb3bCbk6UMhJ1QFV2l8JBnsT6CtKmnpmQUMoiXKIm2KoAoXmzbN+aSF7F5DuxydxXCvUFufOAaJeo4oBCOjH8+rEnK7KZxyQNsr3YPib7fPVjTyiq+lS+uS7OAvB8002H9LVuMg9VOZLCdroVALL+yqA8OWOgZZU4Tyl0XYscHYc2+/ltb+D0dax4U2Ue9hgd32gTPdPFo+SeF5iARuUb4HzTS3vsTBttQilsyKtacCesGc9hqxeqBmPaVtkhULsA6jUWwMIc+Ja24sZDdZdlq5eRdSyJ9FVd57fabAiIKjuBMTKUvOmo2LCegweCo890q1dIfe7u3jGUaR+3Hv0v+Pje/UC9epSg0vLMFi+jxYSwpZp6s2EohaAe7ZkrY89a2slnPZ80E9ttkHOPnP7dZ8N1TU5WW7+gtOsmWSdU5P9z33CtmZfYcE7eqzwZ8qlcFDnxPMZyVJiirQxJ128pgQaIDXmvnArxIQXMJ+mhE6iukW3EOg0bzDQAkitT8Yz2PLENljhxPxO9OywUGbQq73EaXg/g8QaQAcL9JGxxikDcz47F4TAArxbncV2CkgrAEEQkERCVOkOEODRntio87BVJRVVpkrS6YZeEv0lfydNzSQ2gYRPn5H3kWAi2z+6Th4/Ny8PHjCCZKXk5jFwk0LyIubtdf08bGf0te00akToKqlaMB9u7CgRpNKVtCTQksRqqtMpYIMDj4Ys4mLKBBDgcBQ9htKrRZBiobCMNYPa5mQHkgqFzoUkpsosaSFbqsvTjZZkcRVXWbuwyvlwTe1dP4yzi+MgFQEsasY2Rl+Y37OPc+p2AKrB+tHEWYJL+i2OgN7B2ZMC2c/wNLwtwmaTOHD9XAA0ga/J+2gZSg6kfgwygWQnpYuuVfgyy5Rz05dfgR4Dj5uZKHQHQABIQ6f6K7KPNvS5BbUhlBdL7VCi9mw/i1ksFNDhCfVKx0aWxBESwczyIGz46Qh0FEI7Dh1lU5S3LphyxYOY0Q0AjTuXgkU3ZxTyBsY4DaI8dOpyafA+ou9sb2kMR26ZAy8MxpGGhcABN5sK9yhX5jrUG3RUOsBCfNcAApCWpEf7OZ3JzHobTTDPpPM/9PzBFc7J0xwYvAAAAAElFTkSuQmCC",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Dr&&Dr.tagName.toUpperCase()==="SCRIPT"&&Dr.src||new URL("ZYWLGIS.umd.js",document.baseURI).href).href,markerWidth:35,markerHeight:35,markerDx:0,markerDy:0,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle"},draggable:this.isEditable_,dragShadow:!1,editable:!1}).addTo(t),this.TakeOffBillboard_.on("dragging",this.takeOffDragging),this.TakeOffBillboard_.on("dragend",this.takeOffDragend)),this.TakeOffBillboard_.setZIndex(999),this.visible_?this.TakeOffBillboard_.show():this.TakeOffBillboard_.hide(),this.polylineCoordinates_&&this.polylineCoordinates_.length){let n=ki(i),s=ki([this.polylineCoordinates_[0].longitude,this.polylineCoordinates_[0].latitude]),a=Mh(n,s),l=jn(n,s,{units:"meters"}),h;if(l>1e3?(l=l/1e3,l=Number(l.toFixed(2)),h=`${l}km`):(l=Number(l.toFixed(2)),h=`${l}m`),l===0)this.clearTakeOffBillboardHeightLabel();else{let c={textDx:0,textDy:0,textHorizontalAlignment:"middle",textVerticalAlignment:"middle",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:h};this.TakeOffBillboardDistanceLabel_?(this.TakeOffBillboardDistanceLabel_.setCoordinates(a.geometry.coordinates),this.TakeOffBillboardDistanceLabel_.updateSymbol(c)):this.TakeOffBillboardDistanceLabel_=new Fn(a.geometry.coordinates,{id:e+"-&-ZYWL-&-TakeOffBillboardDistanceLabel",symbol:c,draggable:!1,dragShadow:!1,editable:!1}).addTo(t),this.TakeOffBillboardDistanceLabel_.setZIndex(999),this.visible_?this.TakeOffBillboardDistanceLabel_.show():this.TakeOffBillboardDistanceLabel_.hide()}}else this.clearTakeOffBillboardHeightLabel()};takeOffDragging=e=>{this.TakeOffBillboardCoordinate_.longitude=e.coordinate.x,this.TakeOffBillboardCoordinate_.latitude=e.coordinate.y,this.reDrawTakeOffBillboard(),this.reDraw(),this.isStartDraw_||this.reDrawPolyline()};takeOffDragend=e=>{this.emitGraphChanged("setTakeOffPoint")};takeOffDistancePoint=()=>{if(this.TakeOffBillboardCoordinate_&&this.polylineCoordinates_.length){this.polylineCoordinates_[0];let e=this.polylineCoordinates_[this.polylineCoordinates_.length-1],t=ki([this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude]),i=ki([this.startCoordinate_.longitude,this.startCoordinate_.latitude]),n=ki([e.longitude,e.latitude]),s={units:"meters"},a=jn(t,i,s),o=jn(t,n,s);a>o&&this.polylineCoordinates_.reverse()}};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isDelete_=this.data_?.isDelete??!1,this.isCopy_=this.data_?.isCopy??!1,this.heightMode_=this.data_?.heightMode??1,this.defaultHeight_=this.data_?.defaultHeight??1,this.nodeMode_=this.data_?.nodeMode??"billboard",this.isAutoDrawAirRoute_=this.data_?.isAutoDrawAirRoute??!1,this.isContainTakeOffBillboard_=this.data_?.isContainTakeOffBillboard??!1,new Promise(e=>{let t=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon";this.isContainTakeOffBillboard_&&!this.TakeOffBillboard_&&!this.TakeOffBillboardCoordinate_&&(this.TakeOffBillboardCoordinate_=this.data_?.takeOffBillboardCoordinate,this.TakeOffBillboardCoordinate_||B.setCustomCursor(this.containerID_,"custom-cursor"));let i=this.data_?.coordinates;if(Array.isArray(i)&&i.length){let n=this.data_?.zIndex??0,s=i.map(f=>[f.longitude,f.latitude]),a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o="#fff";this.data_?.symbol?.polygonColor&&this.data_?.symbol?.polygonColor.length&&(o=this.data_?.symbol?.polygonColor);let l=this.data_?.symbol?.lineWidth??2,h={lineColor:a,lineWidth:l,polygonFill:o,polygonOpacity:.3},c=new or(s,{id:t,symbol:h}),u;window.isGPUSupport?u=B.getPolygonLayer(this.containerID_):u=B.getVectorLayer(this.containerID_),e({positions:s,symbol:h,zIndex:n,coordinates:i,PolygonLayer:u,PolygonGeometry:c})}else e({coordinates:void 0})}).then(e=>{if(Array.isArray(e.coordinates)&&e.coordinates.length){let t=bh(e.positions),i=Pf(t);this.center_=i.geometry.coordinates,this.geometryInstance_||(this.geometryInstance_=e.PolygonGeometry.addTo(e.PolygonLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("contextmenu",this.geometryContextmenu)),this.geometryInstance_.setCoordinates(e.positions),this.geometryInstance_.updateSymbol(e.symbol),this.geometryInstance_.setZIndex(e.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide()}else this.clearGeometry();this.reDrawCenterPoints(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};geometryContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw(),this.reDrawPoints(),this.reDrawTakeOffBillboard(),this.isStartDraw_||this.reDrawPolyline()})};reDrawPolyline=()=>{this.clearPolyline();let e=this.data_?.lineOptions;if(this.isAutoDrawAirRoute_&&e&&this.data_?.coordinates&&this.data_?.coordinates.length>2){const t=e?.margin??0,i=e?.direction??0,n=e?.overlapW??80,s=e?.height??100,a=e?.altitudeOptimization??!1,o=this.data_?.cameraType??"M3TD";B.AlgorithmForGeneratingPlanarRoutes(this.containerID_.split("-maptalks")[0],this.TakeOffBillboardCoordinate_,this.data_.coordinates,{lineOptions:{margin:t,direction:i,overlapW:n,height:s,altitudeOptimization:a},cameraType:o},this.heightMode_,this.defaultHeight_,l=>{this.polylineCoordinates_=l.coordinates,this.startCoordinate_=l.start,this.reDrawTakeOffBillboard(),this.emitGraphChanged("update"),this.TakeOffBillboardCoordinate_&&(this.polylineCoordinates_=[this.TakeOffBillboardCoordinate_,...this.polylineCoordinates_]),this.geometryPolylineInstance_||(this.geometryPolylineInstance_=new fte(this.containerID_,"AirRoutes"),this.geometryPolylineInstance_.DataProcessing({ID:this.data_.ID,type:2,visible:!0,isClampToGround:!1,isHighlight:!0,zIndex:0,symbol:{lineWidth:2,lineColor:"#0aed8b"},coordinates:this.polylineCoordinates_}))})}};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&this.isEditable_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_?.coordinates,i=this.data_?.zIndex??0;if(Array.isArray(t))for(let n=0;n<t.length;n++){let s=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon-Point-"+n,a=t[n],o=a?.symbol;o||(o=this.data_?.symbol);let l;if(this.nodeMode_==="point"){if(this.isStartDraw_&&n===t.length-1)break;let u=20,f="#fff";o&&(u=o?.pixelSize??20,f=o?.pointColor??"#fff"),l={markerType:"ellipse",markerFill:f,markerWidth:u,markerHeight:u,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0}}else{let u=B.getPointIcon(!1,!1),f=20,d=20,g=0,A=0;if(o&&(u=o?.image??B.getPointIcon(!1,!1),f=o?.markerWidth??20,d=o?.markerHeight??20,g=o?.markerDx??0,A=o?.markerDy??0),this.isStartDraw_){if(n===t.length-1)break;t.length>2&&n===t.length-2&&(u=B.getPointIcon(!1,!0))}l={markerFile:u,markerWidth:f,markerHeight:d,markerDx:g,markerDy:A,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle"}}let h=[a.longitude,a.latitude],c=new Fn(h,{id:s,symbol:l,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:i+1}).addTo(e);c.on("dragging",this.pointDragging),c.on("dragend",this.pointDragend),c.on("click",this.pointClick),c.on("contextmenu",this.pointContextmenu),this.pointInstances_.push({ID:s,index:n,point:c})}}};pointDragging=e=>{let i=e.target.getId(),n=B.extractionIndex(i),s=this.data_.coordinates;s[n].longitude=e.coordinate.x,s[n].latitude=e.coordinate.y,s[n].altitude=0,this.defaultHeight_&&(s[n].altitude=this.defaultHeight_),this.reDraw()};pointDragend=e=>{let i=e.target.getId(),n=B.extractionIndex(i);!this.isStartDraw_&&this.dataClass_==="AirRoutes"?this.reDrawPolyline():this.emitGraphChanged("update",n)};pointClick=e=>{if(this.isStartDraw_)return;let i=e.target.getId(),n=B.extractionIndex(i);this.emitGraphNodeClick(n)};pointContextmenu=e=>{if(this.data_.coordinates.length<=3)return;let t=e.target,i=t.getId(),n=B.extractionIndex(i),s=this.containerID_.split("-maptalks")[0];B.getMenu(s,e.containerPoint,"删除端点",this.isDelete_,()=>{B.removeMenu(s),this.data_.coordinates.splice(n,1),this.pointInstances_.splice(n,1),t.remove(),this.emitGraphChanged("delete",n),this.reDraw(),this.isStartDraw_||this.reDrawPolyline()},this.isCopy_,()=>{B.removeMenu(s),this.emitGraphChanged("copy",n)},!1)};reDrawCenterPoints=()=>{if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_?.coordinates;if(t?.length!==this.centerPointInstances_?.length&&this.clearCenterPoints(),t&&t.length>=2)for(let i=0;i<t.length;i++){let n=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon-CenterPoint-"+i,s,a;i===t.length-1?(s=t[i],a=t[0]):(s=t[i],a=t[i+1]);let o=ki([s.longitude,s.latitude]),l=ki([a.longitude,a.latitude]),h=Mh(o,l),u=jn(o,l,{units:"meters"}),f;u>1e3?(u=u/1e3,u=Number(u.toFixed(2)),f=`${u}km`):(u=Number(u.toFixed(2)),f=`${u}m`);let d;!this.isStartDraw_&&this.isEditable_?d={markerType:"ellipse",markerFill:"#fff",markerWidth:12,markerHeight:12,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:1,markerLineColor:"#000",textDx:0,textDy:-24,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:f}:d={textDx:0,textDy:0,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:f};let g=this.centerPointInstances_.find(A=>A.ID===n);if(g)g.point.setCoordinates(h.geometry.coordinates),g.point.updateSymbol(d);else{let A=new Fn(h.geometry.coordinates,{id:n,symbol:d,draggable:!1,dragShadow:!1,editable:!1}).addTo(e);this.centerPointInstances_.push({ID:n,index:i,point:A})}}}else this.clearCenterPoints()};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates?.length!==this.customLabelInstances_?.length&&this.clearCustomLabel();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+e,n=this.customLabelInstances_.find(s=>s.getId()===i);n?(n.setCoordinates([t.longitude,t.latitude]),n.setContent(t?.customLabel?.content??"")):(n=B.reDrawLabel(this.containerID_,i,t,[t.longitude,t.latitude]),n&&this.customLabelInstances_.push(n))}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates.length!==this.customHTMLInstances_?.length&&this.clearCustomHTML();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,n=this.customHTMLInstances_.find(s=>s.marker.getId()===i);if(!n)n=B.reDrawHTML(this.containerID_,i,t,[t.longitude,t.latitude]),n&&(n.presentationMode===0||n.presentationMode===2?n.infoWindow.hide():n.infoWindow.show(),this.customHTMLInstances_.push(n));else{let a=t?.customHTML?.presentationMode??0;n.marker.setCoordinates([t.longitude,t.latitude]),a===0||a===2?n.infoWindow.hide():n.infoWindow.show()}}}else this.clearCustomHTML()};clear=()=>{B.recoverCursor(this.containerID_,"custom-cursor"),this.clearTakeOffBillboard(),this.clearGeometry(),this.clearPolyline(),this.clearPoints(),this.clearCenterPoints(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearTakeOffBillboard=()=>{this.TakeOffBillboard_&&(this.TakeOffBillboard_.off("dragging",this.takeOffDragging),this.TakeOffBillboard_.off("dragend",this.takeOffDragend),this.TakeOffBillboard_.remove()),this.TakeOffBillboard_=void 0,this.TakeOffBillboardCoordinate_=void 0,this.clearTakeOffBillboardHeightLabel()};clearTakeOffBillboardHeightLabel=()=>{this.TakeOffBillboardDistanceLabel_&&this.TakeOffBillboardDistanceLabel_.remove(),this.TakeOffBillboardDistanceLabel_=void 0};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("contextmenu",this.geometryContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearPolyline=()=>{this.geometryPolylineInstance_&&this.geometryPolylineInstance_.clear(),this.geometryPolylineInstance_=void 0,this.polylineCoordinates_=[]};clearPoints=()=>{for(let e=0;e<this.pointInstances_.length;e++){let t=this.pointInstances_[e];t.point.off("dragging",this.pointDragging),t.point.off("dragend",this.pointDragend),t.point.off("click",this.pointClick),t.point.off("contextmenu",this.pointContextmenu),t.point.remove()}this.pointInstances_=[]};clearCenterPoints=()=>{for(let e=0;e<this.centerPointInstances_.length;e++)this.centerPointInstances_[e].point.remove();this.centerPointInstances_=[]};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2,polygonOpacity:.4})};mouseout=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t,polygonOpacity:.3})}}class fF{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;pointInstances_=[];isPointNumberVisible_=!1;centerPointInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isCopy_=!1;isStartDraw_=!1;defaultHeight_=void 0;nodeMode_="billboard";isContainTakeOffBillboard_=!1;TakeOffBillboard_=void 0;TakeOffBillboardDistanceLabel_=void 0;TakeOffBillboardCoordinate_=void 0;PointOfInterest_=void 0;PointOfInterestCoordinate_=void 0;isDistanceVisible_=!1;waypointType_=2;airRouteGeometryInstance_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.data_?.isOpenSecondaryEditing&&this.data_?.coordinates.length&&this.data_?.isEditable&&!this.isStartDraw_&&(this.isStartDraw_=!0),this.reDrawTakeOffBillboard(),this.reDrawPointOfInterest(),this.reDraw(),this.reDrawPoints()};emitNoReturnNode=e=>{B.emitNoReturnNode({index:e})};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphNodeClick=e=>{B.emitGraphNodeClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_,index:e}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?this.dataClass_==="AirRoutes"?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,takeOffBillboardCoordinate:this.TakeOffBillboardCoordinate_,pointOfInterestCoordinate:this.PointOfInterestCoordinate_,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:this.dataClass_==="AirRoutes"?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,takeOffBillboardCoordinate:this.TakeOffBillboardCoordinate_,pointOfInterestCoordinate:this.PointOfInterestCoordinate_,class:this.dataClass_,type:e}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};copyPoint=(e,t)=>{if(e!==void 0){const i=this.data_?.coordinates?.length,n=le.cloneDeep(this.data_?.coordinates[e]),s=ki([n.longitude,n.latitude]);let a={units:"meters"},o=0,l=100;switch(t){case"front":{if(e===0)if(this.TakeOffBillboardCoordinate_){const u=ki([this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude]);o=va(s,u),l=jn(s,u,a)}else if(this.data_?.coordinates?.length>1){const u=le.cloneDeep(this.data_?.coordinates[e+1]),f=ki([u.longitude,u.latitude]);o=va(f,s),l=jn(f,s,a)}else o=0,l=100;else{const u=le.cloneDeep(this.data_?.coordinates[e-1]),f=ki([u.longitude,u.latitude]);o=va(s,f),l=jn(s,f,a)}const h=rs(s,l*.5,o,a),c=Ko(h);this.data_?.coordinates.splice(e,0,{longitude:c[0],latitude:c[1],altitude:n?.altitude+1})}break;case"after":{if(e===0)if(this.TakeOffBillboardCoordinate_){const u=ki([this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude]);o=va(u,s),l=jn(u,s,a)}else if(this.data_?.coordinates?.length>1){const u=le.cloneDeep(this.data_?.coordinates[e+1]),f=ki([u.longitude,u.latitude]);o=va(s,f),l=jn(s,f,a)}else o=0,l=100;else if(e===i-1){const u=le.cloneDeep(this.data_?.coordinates[e-1]),f=ki([u.longitude,u.latitude]);o=va(f,s),l=jn(f,s,a)}else{const u=le.cloneDeep(this.data_?.coordinates[e+1]),f=ki([u.longitude,u.latitude]);o=va(s,f),l=jn(s,f,a)}const h=rs(s,l*.5,o,a),c=Ko(h);this.data_?.coordinates.splice(e+1,0,{longitude:c[0],latitude:c[1],altitude:n?.altitude+1})}break}this.reDrawTakeOffBillboard(),this.reDraw(),this.emitGraphChanged("copy",e)}};mouseClick=(e,t)=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;if(window.isPointOfInterestOpen&&!this.PointOfInterestCoordinate_){this.PointOfInterestCoordinate_={longitude:e.coordinate.x,latitude:e.coordinate.y,altitude:0},this.reDrawPointOfInterest(),this.emitGraphChanged("setPointOfInterest");return}if(this.isContainTakeOffBillboard_&&!this.TakeOffBillboardCoordinate_){this.TakeOffBillboardCoordinate_={longitude:e.coordinate.x,latitude:e.coordinate.y,altitude:0},this.reDrawTakeOffBillboard(),this.reDraw(),this.emitGraphChanged("setTakeOffPoint"),B.recoverCursor(this.containerID_,"custom-cursor");return}const i=this.data_?.isSurroundModeEnabled??!1,n=this.data_?.surroundRadius??200,s=this.data_?.steps??8,a=this.data_?.isClockwise??!1;let o=this.data_?.coordinates??[],l=le.cloneDeep(e.coordinate);if(l){l={longitude:l.x,latitude:l.y,altitude:0},this.defaultHeight_&&(l.altitude=this.defaultHeight_);let h=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_){if(t&&t.length){let c=o.length-1,u=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-Point-"+c;if(t.find(d=>d?.layer==="ZYWLGIS-GL-Point"||d?.layer==="ZYWLGIS-GL-LineString"||d?.layer==="ZYWLGIS-GL-Polygon"?d.geometry.getId()===u:d.getId()===u)){this.isStartDraw_=!1,this.reDraw(),this.reDrawPoints(),this.emitGraphChanged("complete"),h.off("mousemove",this.mousemove);return}}i?B.calculateSurroundPoints(l,n,s,a).forEach(u=>{o.push(le.cloneDeep(u))}):o.push(le.cloneDeep(l))}else if(!o.length)i?B.calculateSurroundPoints(l,n,s,a).forEach(u=>{o.push(le.cloneDeep(u))}):o.push(le.cloneDeep(l)),this.isStartDraw_=!0;else if(t&&t.length){let c=!1;for(let u=0;u<t.length;u++){let f=t[u];(f?.layer==="ZYWLGIS-GL-Point"||f?.layer==="ZYWLGIS-GL-LineString"||f?.layer==="ZYWLGIS-GL-Polygon")&&(f=f.geometry);let d=f.getId();if(d.includes("-&-ZYWL-&-GraphicEditingPolyline-CenterPoint-")){c=!0;let g=B.extractionIndex(d),A=f.getCoordinates();if(A){let m={longitude:A.x,latitude:A.y,altitude:0};this.defaultHeight_&&(m.altitude=this.defaultHeight_),o.splice(g+1,0,m),setTimeout(()=>{this.reDrawCustomHTML()},0),this.reDraw(),this.reDrawPoints(),this.emitGraphChanged("update");break}}}if(!c){this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited(),this.reDrawTakeOffBillboard(),this.reDrawPointOfInterest();let u=this.containerID_.split("-maptalks")[0];B.removeMenu(u)}return}else{this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited(),this.reDrawTakeOffBillboard(),this.reDrawPointOfInterest();let c=this.containerID_.split("-maptalks")[0];B.removeMenu(c)}}this.isContainTakeOffBillboard_&&this.data_?.coordinates.length&&this.reDrawTakeOffBillboard(),this.reDraw(),this.reDrawPoints(),this.emitGraphChanged("update")};mousemove=e=>{if(!this.isStartDraw_)return;let t=this.data_?.coordinates;t[t.length-1].longitude=e.coordinate.x,t[t.length-1].latitude=e.coordinate.y,this.defaultHeight_?t[t.length-1].altitude=this.defaultHeight_:t[t.length-1].altitude=e.coordinate.z,this.reDraw()};reDrawPointOfInterest=()=>{if(!this.PointOfInterestCoordinate_)return;let e=this.data_.ID,t=[this.PointOfInterestCoordinate_.longitude,this.PointOfInterestCoordinate_.latitude];if(this.PointOfInterest_)this.PointOfInterest_.setCoordinates(t),this.PointOfInterest_.config("draggable",this.isEditable_);else{let i;window.isGPUSupport?i=B.getPointLayer(this.containerID_):i=B.getVectorLayer(this.containerID_),this.PointOfInterest_=new Fn(t,{id:e+"-&-ZYWL-&-PointOfInterest",symbol:{markerFile:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABQCAYAAACkoQMCAAAABHNCSVQICAgIfAhkiAAACW9JREFUeF7dnHtsHFcVh8/sxI7j2rEhoYE2TZxArFI3iWOvCS1+rVpUNQUSoSpVS9UkgKiEKjCogEAFGspDAqI6VNDykHCECq0KSiooalPA3rWTpsysnUfTtJZInBCTJmrVmDyaOt49/M5sFnvX+5jHnfHj/mGtd+8959xvztx7z7l3RqOgyr5982lMX0vJUB1x8nrS6EPEtAjqF5KmvT/LjFP47U189wYRD6LuaxTSDlMZvUzh8MUgTNZ8VRIduJkocRd0RNC5lUp0MZuQ9Q8ifQe1NryqRGYOIerB7N07jy6X3Acv+CL0rfLL8JRc3ksc+hm1NT6tWo86MHv6l1Ii8WVi7bO4olWqDS0oj/kNXIjHKUG/oEhYbkHPxTsY0yynC/RDXL0HYJzu2SJPAvgdXJit1Nr4U9iS8CLKG5iosY5I+xU85FovRihvy/wKhUKbqaUx7la2OzDd3XMoVLkNQL7kVnEA7S7jon0d3tPpRpdzMN0HFlNodCdcNexGYeBtmHaSXrGJmq8/50S3MzB9/WEMsM8DygInSqa+Lr8O715HLU1H7dpiH0yvcTcGtt/bFTz96vF/iUIbcWu9YMc2e2Ci8U+Txs9AYMiO0Glbh3mMdHhOc9OLxWwsDqbP+DjWB3/F7TOnmLAZ8TvzJdL1FmpuMAvZWxjMHuNGSmgvQ0D5jOi0XSOZRqhUr6eb1gzla5IfjLW0Lz1oBXuzsTDvp9ZwON9CMD+YqPk0oGwMiklbVSWNJBK0/3wgwfOVbvGj1Nr01Vx9zA0mGt+IwVZ5YJYP8s4bPkgbFlRbP3edfou2DOb1cPXXKam1Untjb7bgyWAkbzKqH8Oq8b3qrZgscfOihfTb2qUZP0QODVLPWUfrMfemMg3RVVSLPA9WyuNlMpiY2YWfN7nX5KzlwJoPU31F5tjeM3KOIgcHnQnyVvtHGG++lR+MlTpIwlswugRQ2qsrqXtlbU5Ny4xXaOjSuwFYYam4SFrpYmpZ9XZaYSaAqPEERun7g7Kme1UttWPQzVV2YKzZHORYw/Rtagt/fzKY7oFq0hOn8UNpEGAKeUtaf6Bew3yaFpYvobq6UdE/7jEx85v4HwmnYMouzETrr8xE+TQG7zXavUiTPpkNZghfZE4PPjGqKZtLx5putCX9PS/tp7NjnpJxtvRYlRhJ9rbwLeNg+swIJSXzHkzpqq2hTYvsZS62Hv8PPXziVDCGCZoSfbmECqlbKWr+HDeVZPV9KzIlV+k6ydjy8JIP2NYj3iJgZEV84MJF/72H6UF4zbYUmJjxOoab3POm7S4QVc/RafVV5da6RD63V1VQzdy5VFOmdjyXdY4A23/hHQuYfI7iOyWFkUloC9+hUaz/fUTJM16Fygr20eWLLSBTUQSOrJg9x1pM55HMqtYoGr8LcdFTXjtzrGmlcs9watPQpVFaZhxy2mxyfeYGeIy5Fb98x6s0bmn0KsJz+xF4TTVmMc+F6TPwGDXpBSczjWfD8wjYPnyaOo6eVCH+ewBjDCAMqPcqTcaWHizxZfCdiiKDb7uywJOfEo85qWoncargyDQuUBQuBHsEzNsAk8oSKShBw/EBilA4KIMvK+CRISIoOD5BwfqXT/oCRij5Dcc3KKlLfEbADOGDL8GjwBnC+qZK8aLPZygSMR0SMPsAZq3q2yktT8IDSV+qLGsGjnhf4RY26AUBsxN1Nqg0fKIsP8AEkIroAhjjMQSQD/gFRrZFZHtEZQlgF+ERma7vwXRtZa38KJJi+O7Sa5SK3jJ4HPtPSo7a5bZL027XyDSrkCM/q9TyCcLspDCd6vY5eTWKnfqKK/kYU86qNTg10E79XPtGdtoVqvPsW2dpw6v/8iomT3t+Htu28BgpMVOS4JIMV178iLrVxkVZXWbqQKJqewpMT/9NFEruVU3FjxkpbaPW6/pAZuFulujLxnO+UlVRlD1Rq529I0s1IuN0wrtrRQ0ttZEK9WnKfg5btZ8Qm8b3laKGHHPfodJris1IaSDZG/iSJu1EmrTQitmXKZu1W7CvZO2WjINh1jHWDAOOPBGipOQDcxwpyI6j/6ZdGETzFQknOq65mjquXZQTkA9gDsJbVv//Vs0wLGo+BFSPKKECIdm3kgCRW8bJGkQAdS6/btI+lPLtW43vw3HX3+UG020uJJ1PwJHmqYTTPr+Cht697AhItn7ZvRQPlK2YzuEzBb3Nhe0n4C0ZgXSO8zHxryG8/LEL4TO4Cd+JtcufJnZgMpjUcwJHZu2hxEmXj/8OKLdmf537gFCvcStOgRc9JDyDXSRlOjNOC5SuoLbVclgqo+Q/ORUz/4ya1pw+awvTNqxyH8zVv/xgeo3lOAFxGNN32SwFc4oS82opUnfeGRipHTXuB5gnZiGYJJ7K/Rg1N0r2MmcpfghR0U7ltILL/BC1Nf2gkE3Fwcy2o/NMuzGu3FbsQhUHY91ScWSzk/0zfrxhGsZh5zocdh5RA0akxMzP4++viwmctr/Ls0qathYr3H47NtrzmLSkmClgBNAMLNoWHAjqsmu4MzDMIYrF/4ZVccSugulRjzuxuv2KE1ucgRHJfa9VUuLcAbjlMieKpqwu04vwlNtgr6M9eudgrMF4YAVpY3h0Tps/ZR22o5jpCAbbsJs3iLgDI0b1Gu1YGeO2murXFuQhJK9ZKZlTTzfXD9thmF3HPRgLTvwLCMR+6Uaxr21sPhBayAZvYERyzMAKUst41sfXThcTLhGzpq3HtPxcsar+grHGHPM3mKk+58UQdW35bsxAno/nevcY6RGznJrYhSv1KXUddCOJvwEoSrKPasBIH0yzBHvgsvXQ7KZLntswbUcM1OFZzhUB6sCIwO7DFRS6+BI8x94zN6p6QfQHjCn3qBPnx7OPew5cTYnLBoxcotLQvLIkWm5tvB0XI6lSn1qPSVsW/ed1YB71f3WMRPaC8nXpx/WmPxhrGreeaunBpxtUGjxB1rMITe6kSGTMD/n+eEza0tShpBj+Vf3at2fw/ik8NeMs/nEC0F8wYokVdJ7fjXXOR50YVqDukxho71UkK68Y/8FYs9WxMtLf/AvGHetBTA/lcUDx9RHFtG3BgLHgYIdTr/wjPq13B8Z5TsWdnlSr4MCkrXT1NgDrtW0/8dJRp22DByMWRg3EVXjDYbEXC0o+hawzcbuddsxr/akBk7a6N/5JSibvwL8fAagVCLrkLRfymto+vH0Vx74aol476Lb9/wDIdARP5ISdlQAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Dr&&Dr.tagName.toUpperCase()==="SCRIPT"&&Dr.src||new URL("ZYWLGIS.umd.js",document.baseURI).href).href,markerWidth:35,markerHeight:40,markerDx:0,markerDy:0,markerHorizontalAlignment:"middle",markerVerticalAlignment:"top"},draggable:this.isEditable_,dragShadow:!1,editable:!1}).addTo(i),this.PointOfInterest_.on("dragging",this.pointOfInterestDragging),this.PointOfInterest_.on("dragend",this.pointOfInterestDragend),this.PointOfInterest_.on("contextmenu",this.pointOfInterestContextmenu)}this.PointOfInterest_&&(this.PointOfInterest_.setZIndex(999),this.visible_?this.PointOfInterest_.show():this.PointOfInterest_.hide())};pointOfInterestDragging=e=>{this.PointOfInterestCoordinate_.longitude=e.coordinate.x,this.PointOfInterestCoordinate_.latitude=e.coordinate.y};pointOfInterestDragend=e=>{this.emitGraphChanged("setPointOfInterest")};pointOfInterestContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除兴趣点",this.isDelete_,()=>{B.removeMenu(t),window.isPointOfInterestOpen=!1;let i=document.getElementById(`${t}-MapEnginePointOfInterest`);i&&(i.src=new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAABHNCSVQICAgIfAhkiAAAA3VJREFUWEftmT9MGlEcx3+6OHl2MTb1LjpzienSiA1J00UNLrVqwypYHAv+2aqxrorgSgTTuJCqcTPFSRNSMZ1hNoGhxqWck4Np7/v0kRMOfXccBqMvIQHu3ft93vf3e7/fD66F9KG8Uj60trZ+0d++1l8v8F2TjMMruvpWLBYPW24g95oEzBRDh33f0iP3HOpX3zUzqM52BNB/TQ4JvL+PBZSeQZ0Op6enqCRJ1C61U4fUwcQsaSW60C5I0zRHxK1LUcBNBiZpcGiQVFU1BcrlcnSQPqD16HpdwLZB3QNuWomskKIoDAAw+XyeioUi+ywrMrlcLrYJjEKhQPOz85Q9ztoCtgU6PjFOq2urzGAsGqPkRrKmi6G6f8pPoXCIzZ+bmaOd7R3LsJZBOSRizzfhYyqKDKib2k4RwO3AWgKVZZkyxxmmXi3I0My1crG1WBU/hyW9FnqHvaQ3GyJ7ZHMsgcY34izmainCN4KFPQMeUxDuEbgf64gOYdCul1108vuEstksU9NsLC4tkj/gL8eumaq4CK9gU/1v+unsz5kQqzDo2PgYRaKRKjUB1i13k0t1kepSSeqQmGGtpFEun2OnHO83k5tlINyDTc2GZ2l3Z9dZ0Oh6lEY/jt5yKWJuP70vZMg75C0fPB4iW9+3aOHrgtD9wopy0F6l99bCxlRVy6JZTJ8WTmlvd4/CofDDgMKKMTYrrSLPmsVqw0H71L6q5I4qlfqRMlXG6HI+oaGur3WYYPwu9/s++arKJp/fkMPE0xOajJHhkVvqIcmjRKIQJBNJdg0nG1XIzPUNTU8wjvoONYJTQdaE8AHX42Ws+XAvNoB5xrkNT/iAgnGWjvQS6HnrsdxrQuHMr4xeD/USqqerhpVQ7lKc8vTPNE1/nhZKLXwSmhK3203LS8vlEBFdQDiPGhfkBmulHjPjPI4RBggdq8MWKFyIEEAoiLRsPC7REqJPsPPzxBYo1DD2l5WHy6iW3f61UnHboEZYHC7ky8ommhcCq022WVjUBVqprDEMnFKSQ9cNWgmb2EiwtQNTgTt/CTzIYTIzgpiNJ+LsgGEgRwYDQeHfVPeBO6IoN9LW1kadnZ3s4/n5OV1eXt5nX/i6o6DCVm1MfAa1Idqdtzwr6rCipcfzsOHRPL6Bi25g8acRHohd/xPbHONIf8a0hAdi/wE4HOL7jLvAuQAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Dr&&Dr.tagName.toUpperCase()==="SCRIPT"&&Dr.src||new URL("ZYWLGIS.umd.js",document.baseURI).href).href),this.clearPointOfInterest(),this.emitGraphChanged("delete",99999)})};reDrawTakeOffBillboard=()=>{if(!this.TakeOffBillboardCoordinate_)return;let e=this.data_.ID,t=[this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude],i;if(window.isGPUSupport?i=B.getPointLayer(this.containerID_):i=B.getVectorLayer(this.containerID_),this.TakeOffBillboard_?(this.TakeOffBillboard_.setCoordinates(t),this.TakeOffBillboard_.config("draggable",this.isEditable_)):(this.TakeOffBillboard_=new Fn(t,{id:e+"-&-ZYWL-&-TakeOffBillboard",symbol:{markerFile:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAABHNCSVQICAgIfAhkiAAADBpJREFUeF7dnO1OHNcZxwfbTUhCCgTXNG9lCZYtO7KBRK3aD5WXKyhWv0bKcgVe30AM6gUYX4Gxqn6GXAGLKrVqowRIWlu24njJa43iGBISO65d+vyO50wOhzOzZ3ZmZ8CPNNq32TnP+c/zfp4zXUGJtL29XZHhh+QYk6MvZKUavvKZ76EVOTbC943wlc98v9bV1dUsaxpdRQ8soAHK23IAlAYoKxsACbBXBEzeF0YdB1AAQ5LOyDEZHlrSOjVJJHMhPJYEUC25HRmvowAKeBeE67ocsaAtbX4XrGz9EGw8fKQm2Ph2S73yme+hsZ5ng75DB9X76s971Cuf+f5M7/NJwADerIA40xH05KIdAVCAQ0Wn5ajYjK/dfxA0BLSFOxvqyIMmB/oCjqqAOdT9lOuSTfgRIK/kMZ55jVwBFOCqcvHLNnCANnf762Dhm81IqvKeiL4eUjn5Qm9QGzzsAhMgpwTIRl7j5wJg6BguomEmY5uihvVPPlfglUGAOPvaK0FvqP4GDwB4Pg+HkxlAAQ/ngNRFdg7gZr+4Hcx+uR7ZtjIAZExsZf2lI0H95UEbSOzH2azSmAlAAe+cMDFrgnNJgJv+9KvSgbNvGEBO/+rF4JwAaREqPdfuDW4bQAEPqavpgbFzk9dudtzGtTtR00YunBix7eOcgDjVzrVTAxjGdYsyWBQEr37/Q1D98Maek7o4QJDGxuljwehzz5qnYBdR6VShQSoAQ2cxLwNV9MhXbt8Jajea7dy80v8zd6wSvD04YPJBFoNKe2cz3gCGkrdsgndePCzOYj8TzuWieGqDAG/CVxLTAAh4Sm3xskhdXoFw2TeAIBxpNMKdhgA44cOXF4C2wzh79eYTA54GCRDnT46YmHk5lpYACnjksgTJip4EtY2TLIc6twxxEgEMg2SchqL97DB81JFzHI4Fe9iI+38sgKHHJVxRGQahytgH13z5yHxez4EDwR9/0a9uWtG08sYJM8QhrAFEp2dOAhDwqjBPkDy2fLWwOK/v4MFgcfR4MPbcM5JH3wmmCg6TiBNXxk+awXasU3ECGFZVAFDR+PK1wjIMEzw9fhkgUtVZHj9hCr9TleMAvCX/rPBvclsqKkWQC7wyQaSSY+TOK6LG4zYOuwAU6avJSeS5Kt6rvPdRIaqbBF5ZIKLKzV+fMuPDXV7ZBWAkfTNrX6rKSqfJBzzNA8H71PVmsPHo8RJAp4kKzoWhl/QwTZHCYXPMHQCK9E3Lj6xjFCZ9laefCuZfP6ochi+tfH8vmFi9XgiIDimcERDBSVEEYJjrIn0qbJm6sdbxSjKgLZ4+Hi0Y+QLIeUWCSGX78jGWrxUR1gzrXNkEkMqyCpoJW7B9naQs4Gm+igQRW2gsWFH2Yul0hwTOyWdW04KibJ99g7Z//2biPVva3JK64/VO3tfYa1u28IoAWLMBvKvVt8i4z+R4LwNoxYUbAmB/BGCYtlGuKkR9427zXgYQni01Hie9UzZQAGRhiAWiUgsGex1Aq9BwSQCsawCjYmmZtT46C5Jo4+FD5X3LIqtmqDKTrrDFjPBFUddf3y+Lv30xrqUlwwBYFc5V4YBGH1bXyqLZ114NRnviA+rVrXuSl39WFntqXFbzjIamCQCMKs5FFg5cKDQkqD7T+7j7ykVlhjGaH6vAcB4Ap+VHlb6VFf9p5vYDgFY8OLMDwLLXO1Bh4q04ol+wbBV2AdgQhukgDSY+uhE0Nr4r1cbs9cGrfc8Hi6eOaTaXkMDSAMTe9R86FC2RplHhC1Jmav74IGje/zHAuRRV3nIBGNX/ht/7l2KoE0TZ6ozcPWIp1JTPkOkY0gBoB92AifbQ/bokr3zuBFkp3QoSuK0HyjsGBCRK4pOH+yLA7EnlBaB9XQBc+HpDLUnkDaZ58zoCIA07LFL7FElNANM4kVZpnwko2Qs9PHktkdoANmUwVS3MqsKo58WRV2OlTU9qVSaER30sJXfbSs+Q7kr30wE2ife8DoVmIU51GW9alimyAGmp8GouToQ1jfnXR1SXfBy9G3blY6fyVik9pgaSG/kHOeIoy7pK7l44qbK8Ft5xbJHLSwL8uZeP7JjnTItFLLyvSUiT64ZwbWzvtCwIuSSTfSgTUpxNW5xwARiVstIG0nHgbcqKWf3mZ6qrIInqAt5FCZ6joMqj4mx76vOSG89+sZ44Tk1s8qyYll4B1aR2QEzMRNKkcnHgoao1z2XH5TdO7nA0Ps1LOBpTapG+4X+2Xr9BIueOV3apNiCOf3DV26y4AGyrmLAoVQnb5vkAoCWAGwCAJiGxrfaUTA70i4ffqfYA4KuKju4rFTtOeFahXMWEqkwiVTnrtEx+1Zo89m7sfWlA8lzwtiUpS9Cb5sYhiStvSuOQ5bFHJIn4xCOJcJWzKsJ8qoLqW0deCP58fMcCveqgamXzTJBu/eZUy3DHF1TUsP/v3n3hSoJN28s4b12/Ffxl/ZvEIVlkv/u7aHOCivx0SZ/RR/nGp6T/jni2GcsbogKogg852ml9/pZ4TpobiOnBBJn0jsSHf2oRAVh8r0pJf6ytRSUXgD7Aa4ZddgjP3fc3PylqivTaKojzmpTebR9y3UAfAC2+VYuHBhC5VMuaTelKGG7RleBi4JKEEj61OmwQ6qv3/+oJpwHAdQOUPok39gnSXfbXRwBuSXdC5afttD8tazK41BTo+ejlfauF9cGfHQr+81ul8TvIxxsSk12WLQU2+cRz+j9ZruFSX647+I8Pg/UH/40VYCuF2xTpU6mO2RszJ5+9Wztcd5G7f/bfHyeGFGQGrpSvfvNT71AEKV6Qji6bKMUl7ZqKi119tMentSNqLvJRYybRkD7mUastDY+INKXxyD52K+s5SC2e1zYdFDbGJI5sRZb6OpuLEMmmVmOf9rY4EGEGjzyz9pW3Z241gXZ/R9ovDL3olHrAq3r0GVrtbZvCS2VXexsMmit0SBLORD8MIm4CcSmSPl/X4t6NKSi0C0zS/+CJmmTtl4dja5K+KScSi/QZkutusNQMCYhIoaoPpsmNCU6xb3bCbk6UMhJ1QFV2l8JBnsT6CtKmnpmQUMoiXKIm2KoAoXmzbN+aSF7F5DuxydxXCvUFufOAaJeo4oBCOjH8+rEnK7KZxyQNsr3YPib7fPVjTyiq+lS+uS7OAvB8002H9LVuMg9VOZLCdroVALL+yqA8OWOgZZU4Tyl0XYscHYc2+/ltb+D0dax4U2Ue9hgd32gTPdPFo+SeF5iARuUb4HzTS3vsTBttQilsyKtacCesGc9hqxeqBmPaVtkhULsA6jUWwMIc+Ja24sZDdZdlq5eRdSyJ9FVd57fabAiIKjuBMTKUvOmo2LCegweCo890q1dIfe7u3jGUaR+3Hv0v+Pje/UC9epSg0vLMFi+jxYSwpZp6s2EohaAe7ZkrY89a2slnPZ80E9ttkHOPnP7dZ8N1TU5WW7+gtOsmWSdU5P9z33CtmZfYcE7eqzwZ8qlcFDnxPMZyVJiirQxJ128pgQaIDXmvnArxIQXMJ+mhE6iukW3EOg0bzDQAkitT8Yz2PLENljhxPxO9OywUGbQq73EaXg/g8QaQAcL9JGxxikDcz47F4TAArxbncV2CkgrAEEQkERCVOkOEODRntio87BVJRVVpkrS6YZeEv0lfydNzSQ2gYRPn5H3kWAi2z+6Th4/Ny8PHjCCZKXk5jFwk0LyIubtdf08bGf0te00akToKqlaMB9u7CgRpNKVtCTQksRqqtMpYIMDj4Ys4mLKBBDgcBQ9htKrRZBiobCMNYPa5mQHkgqFzoUkpsosaSFbqsvTjZZkcRVXWbuwyvlwTe1dP4yzi+MgFQEsasY2Rl+Y37OPc+p2AKrB+tHEWYJL+i2OgN7B2ZMC2c/wNLwtwmaTOHD9XAA0ga/J+2gZSg6kfgwygWQnpYuuVfgyy5Rz05dfgR4Dj5uZKHQHQABIQ6f6K7KPNvS5BbUhlBdL7VCi9mw/i1ksFNDhCfVKx0aWxBESwczyIGz46Qh0FEI7Dh1lU5S3LphyxYOY0Q0AjTuXgkU3ZxTyBsY4DaI8dOpyafA+ou9sb2kMR26ZAy8MxpGGhcABN5sK9yhX5jrUG3RUOsBCfNcAApCWpEf7OZ3JzHobTTDPpPM/9PzBFc7J0xwYvAAAAAElFTkSuQmCC",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Dr&&Dr.tagName.toUpperCase()==="SCRIPT"&&Dr.src||new URL("ZYWLGIS.umd.js",document.baseURI).href).href,markerWidth:35,markerHeight:35,markerDx:0,markerDy:0,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle"},draggable:this.isEditable_,dragShadow:!1,editable:!1}).addTo(i),this.TakeOffBillboard_.on("dragging",this.takeOffDragging),this.TakeOffBillboard_.on("dragend",this.takeOffDragend)),this.TakeOffBillboard_&&(this.TakeOffBillboard_.setZIndex(999),this.visible_?this.TakeOffBillboard_.show():this.TakeOffBillboard_.hide()),this.data_?.coordinates&&this.data_?.coordinates.length){let n=ki(t),s=ki([this.data_.coordinates[0].longitude,this.data_.coordinates[0].latitude]),a=Mh(n,s),l=jn(n,s,{units:"meters"}),h;l>1e3?(l=l/1e3,l=Number(l.toFixed(2)),h=`${l}km`):(l=Number(l.toFixed(2)),h=`${l}m`);let c={textDx:0,textDy:0,textHorizontalAlignment:"middle",textVerticalAlignment:"middle",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:h};this.TakeOffBillboardDistanceLabel_?(this.TakeOffBillboardDistanceLabel_.setCoordinates(a.geometry.coordinates),this.TakeOffBillboardDistanceLabel_.updateSymbol(c)):this.TakeOffBillboardDistanceLabel_=new Fn(a.geometry.coordinates,{id:e+"-&-ZYWL-&-TakeOffBillboardDistanceLabel",symbol:c,draggable:!1,dragShadow:!1,editable:!1}).addTo(i),this.TakeOffBillboardDistanceLabel_&&(this.TakeOffBillboardDistanceLabel_.setZIndex(999),this.visible_?this.TakeOffBillboardDistanceLabel_.show():this.TakeOffBillboardDistanceLabel_.hide())}else this.clearTakeOffBillboardHeightLabel()};takeOffDragging=e=>{this.TakeOffBillboardCoordinate_.longitude=e.coordinate.x,this.TakeOffBillboardCoordinate_.latitude=e.coordinate.y,this.reDrawTakeOffBillboard(),this.reDraw()};takeOffDragend=e=>{this.emitGraphChanged("setTakeOffPoint")};douglasPeucker=()=>{this.reDraw()};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isPointNumberVisible_=this.data_?.isPointNumberVisible??!1,this.waypointType_=this.data_?.waypointType??2,this.isDelete_=this.data_?.isDelete??!1,this.isCopy_=this.data_?.isCopy??!1,this.defaultHeight_=this.data_?.defaultHeight??1,this.nodeMode_=this.data_?.nodeMode??"billboard",this.isContainTakeOffBillboard_=this.data_?.isContainTakeOffBillboard??!1,new Promise(e=>{let t=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline";this.isContainTakeOffBillboard_&&!this.TakeOffBillboard_&&!this.TakeOffBillboardCoordinate_&&(this.TakeOffBillboardCoordinate_=this.data_?.takeOffBillboardCoordinate,!this.TakeOffBillboardCoordinate_&&this.isEditable_&&B.setCustomCursor(this.containerID_,"custom-cursor"));let i=this.data_?.coordinates;if(Array.isArray(i)&&(i.length>0&&this.isContainTakeOffBillboard_||i.length>1&&!this.isContainTakeOffBillboard_)){let n=this.data_?.zIndex??0,s=i.map(u=>[u.longitude,u.latitude]),a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o=this.data_?.symbol?.lineWidth??2,l={lineColor:a,lineWidth:o};this.dataClass_==="AirRoutes"&&(l.lineWidth=2,l.lineDasharray=[10,8]);let h;window.isGPUSupport?h=B.getLineStringLayer(this.containerID_):h=B.getVectorLayer(this.containerID_);let c;if(s.length>1&&(c=new Sr(s,{id:t,symbol:l})),this.dataClass_==="AirRoutes"){let u;this.data_.type===2?u={lineWidth:10,linePatternFile:B.getAirRouteTexture()}:u={lineColor:a,lineWidth:o};let d=B.setWaypointType(this.waypointType_,le.cloneDeep(i)).map(A=>[A.longitude,A.latitude]);this.TakeOffBillboardCoordinate_&&(d=[[this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude],...d]);const g=new Sr(d,{id:`${t}-&-AirRoute`,symbol:u});e({positions:s,symbol:l,LineStringLayer:h,zIndex:n,coordinates:i,LineStringGeometry:c,AirRouteLineStringGeometry:g,airRouteSymbol:u,airRoutePositions:d})}else e({positions:s,symbol:l,LineStringLayer:h,zIndex:n,coordinates:i,LineStringGeometry:c})}else e({coordinates:void 0})}).then(e=>{if(Array.isArray(e.coordinates)&&e.coordinates.length){if(e?.positions.length){let t=V0(e.positions),i=Pf(t);this.center_=i.geometry.coordinates}e?.LineStringGeometry&&(this.geometryInstance_||(this.dataClass_!=="AirRoutes"||this.dataClass_==="AirRoutes"&&this.waypointType_!==2)&&(this.geometryInstance_=e.LineStringGeometry.addTo(e.LineStringLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("contextmenu",this.geometryContextmenu)),this.geometryInstance_&&(this.geometryInstance_.setCoordinates(e.positions),this.geometryInstance_.updateSymbol(e.symbol),this.geometryInstance_.setZIndex(e.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide())),e?.AirRouteLineStringGeometry&&(this.airRouteGeometryInstance_||(this.airRouteGeometryInstance_=e.AirRouteLineStringGeometry.addTo(e.LineStringLayer),this.airRouteGeometryInstance_.on("mouseover",this.mouseover),this.airRouteGeometryInstance_.on("mouseout",this.mouseout),this.airRouteGeometryInstance_.on("click",this.emitGraphClick),this.airRouteGeometryInstance_.on("contextmenu",this.geometryContextmenu)),this.airRouteGeometryInstance_&&(this.airRouteGeometryInstance_.setCoordinates(e?.airRoutePositions),this.airRouteGeometryInstance_.updateSymbol(e?.airRouteSymbol),this.airRouteGeometryInstance_.setZIndex(e.zIndex+1),this.visible_?this.airRouteGeometryInstance_.show():this.airRouteGeometryInstance_.hide()))}else this.clearGeometry();this.reDrawCenterPoints(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};geometryContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw(),this.reDrawPoints(),this.reDrawTakeOffBillboard()})};reDrawPoints=()=>{if(this.clearPoints(),this.visible_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_?.coordinates,i=this.data_?.zIndex??0;if(Array.isArray(t))for(let n=0;n<t.length;n++){let s=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-Point-"+n,a=t[n],o=a?.show??!1;if(!this.isEditable_&&!o)continue;let l=a?.symbol;l||(l=this.data_?.symbol);let h;if(this.nodeMode_==="point"){let f=25,d="#fff";l&&(f=l?.pixelSize??25,d=l?.pointColor??"#fff"),this.isPointNumberVisible_?h={markerType:"ellipse",markerFill:d,markerWidth:f,markerHeight:f,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0,textDx:0,textDy:-1,textHorizontalAlignment:"middle",textVerticalAlignment:"middle",textFaceName:"sans-serif",textSize:14,textFill:"#009BCC",textName:`${n+1}`}:h={markerType:"ellipse",markerFill:d,markerWidth:f,markerHeight:f,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0},this.dataClass_==="AirRoutes"&&(h.markerLineColor="#009BCC",h.markerLineWidth=2)}else{let f=B.getPointIcon(!1,!1),d=20,g=20,A=0,m=0;l&&(f=l?.image??B.getPointIcon(!1,!1),d=l?.markerWidth??20,g=l?.markerHeight??20,A=l?.markerDx??0,m=l?.markerDy??0),this.isStartDraw_&&t.length>2&&n===t.length-1&&(f=B.getPointIcon(!1,!0)),h={markerFile:f,markerWidth:d,markerHeight:g,markerDx:A,markerDy:m,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle"}}let c=[a.longitude,a.latitude],u=new Fn(c,{id:s,symbol:h,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:i+1}).addTo(e);u.on("dragging",this.pointDragging),u.on("dragend",this.pointDragend),u.on("click",this.pointClick),u.on("contextmenu",this.pointContextmenu),this.pointInstances_.push({ID:s,index:n,point:u})}}};pointDragging=e=>{let t=this.containerID_.split("-maptalks")[0];B.removeMenu(t);let n=e.target.getId(),s=B.extractionIndex(n),a=this.data_.coordinates;a[s].longitude=e.coordinate.x,a[s].latitude=e.coordinate.y,a[s].altitude=0,this.defaultHeight_&&(a[s].altitude=this.defaultHeight_),this.reDrawTakeOffBillboard(),this.reDraw()};pointDragend=e=>{let i=e.target.getId(),n=B.extractionIndex(i);this.emitGraphChanged("update",n)};pointClick=e=>{if(this.isStartDraw_)return;let i=e.target.getId(),n=B.extractionIndex(i);this.emitGraphNodeClick(n)};pointContextmenu=e=>{let t=this.isDelete_;this.data_.coordinates.length<2&&(t=!1);let i=e.target,n=i.getId(),s=B.extractionIndex(n),a=this.containerID_.split("-maptalks")[0];B.getMenu(a,e.containerPoint,"删除端点",t,()=>{B.removeMenu(a),this.data_.coordinates.splice(s,1),this.pointInstances_.splice(s,1),i.remove(),this.emitGraphChanged("delete",s),this.reDraw()},this.isCopy_,o=>{B.removeMenu(a),this.copyPoint(s,o)},this.dataClass_==="AirRoutes"?s:void 0,this.dataClass_==="AirRoutes",o=>{B.removeMenu(a),console.log("设置禁止返回点",o),this.emitNoReturnNode(o)})};reDrawCenterPoints=()=>{if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_?.coordinates;if(t?.length!==this.centerPointInstances_?.length+1&&this.clearCenterPoints(),t&&t.length>=2)for(let i=0;i<t.length-1;i++){let n=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-CenterPoint-"+i,s=t[i],a=t[i+1],o=ki([s.longitude,s.latitude]),l=ki([a.longitude,a.latitude]),h=Mh(o,l),u=jn(o,l,{units:"meters"}),f;u>1e3?(u=u/1e3,u=Number(u.toFixed(2)),f=`${u}km`):(u=Number(u.toFixed(2)),f=`${u}m`);let d;!this.isStartDraw_&&this.isEditable_?(d={markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",textDx:0,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:f},this.dataClass_==="AirRoutes"?(d.markerFile=B.getDotPitchIcon(),d.markerWidth=18,d.markerHeight=18,d.textDy=-26):(d.markerType="ellipse",d.markerFill="#fff",d.markerWidth=15,d.markerHeight=15,d.markerLineWidth=1,d.markerLineColor="#000",d.textDy=-24)):d={textDx:0,textDy:0,textHorizontalAlignment:"middle",textVerticalAlignment:"middle",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:f};let g=this.centerPointInstances_.find(A=>A.ID===n);if(g)g.point.setCoordinates(h.geometry.coordinates),g.point.updateSymbol(d);else{let A=new Fn(h.geometry.coordinates,{id:n,symbol:d,draggable:!1,dragShadow:!1,editable:!1}).addTo(e);this.centerPointInstances_.push({ID:n,index:i,point:A})}}}else this.clearCenterPoints()};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates?.length!==this.customLabelInstances_?.length&&this.clearCustomLabel();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+e,n=this.customLabelInstances_.find(s=>s.getId()===i);n?(n.setCoordinates([t.longitude,t.latitude]),n.setContent(t?.customLabel?.content??"")):(n=B.reDrawLabel(this.containerID_,i,t,[t.longitude,t.latitude]),n&&this.customLabelInstances_.push(n))}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates.length!==this.customHTMLInstances_?.length&&this.clearCustomHTML();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,n=this.customHTMLInstances_.find(s=>s.marker.getId()===i);if(!n)n=B.reDrawHTML(this.containerID_,i,t,[t.longitude,t.latitude]),n&&(n.presentationMode===0||n.presentationMode===2?n.infoWindow.hide():n.infoWindow.show(),this.customHTMLInstances_.push(n));else{let a=t?.customHTML?.presentationMode??0;n.marker.setCoordinates([t.longitude,t.latitude]),a===0||a===2?n.infoWindow.hide():n.infoWindow.show()}}}else this.clearCustomHTML()};clear=()=>{B.recoverCursor(this.containerID_,"custom-cursor"),this.clearPointOfInterest(),this.clearTakeOffBillboard(),this.clearGeometry(),this.clearPoints(),this.clearCenterPoints(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearPointOfInterest=()=>{this.PointOfInterest_&&(this.PointOfInterest_.off("dragging",this.pointOfInterestDragging),this.PointOfInterest_.off("dragend",this.pointOfInterestDragend),this.PointOfInterest_.off("contextmenu",this.pointOfInterestContextmenu),this.PointOfInterest_.remove()),this.PointOfInterest_=void 0,this.PointOfInterestCoordinate_=void 0};clearTakeOffBillboard=()=>{this.TakeOffBillboard_&&(this.TakeOffBillboard_.off("dragging",this.takeOffDragging),this.TakeOffBillboard_.off("dragend",this.takeOffDragend),this.TakeOffBillboard_.remove()),this.TakeOffBillboard_=void 0,this.TakeOffBillboardCoordinate_=void 0,this.clearTakeOffBillboardHeightLabel()};clearTakeOffBillboardHeightLabel=()=>{this.TakeOffBillboardDistanceLabel_&&this.TakeOffBillboardDistanceLabel_.remove(),this.TakeOffBillboardDistanceLabel_=void 0};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("contextmenu",this.geometryContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0,this.airRouteGeometryInstance_&&(this.airRouteGeometryInstance_.off("mouseover",this.mouseover),this.airRouteGeometryInstance_.off("mouseout",this.mouseout),this.airRouteGeometryInstance_.off("click",this.emitGraphClick),this.airRouteGeometryInstance_.off("contextmenu",this.geometryContextmenu),this.airRouteGeometryInstance_.removeInfoWindow(),this.airRouteGeometryInstance_.remove()),this.airRouteGeometryInstance_=void 0};clearPoints=()=>{for(let e=0;e<this.pointInstances_.length;e++){let t=this.pointInstances_[e];t.point.off("dragging",this.pointDragging),t.point.off("dragend",this.pointDragend),t.point.off("click",this.pointClick),t.point.off("contextmenu",this.pointContextmenu),t.point.remove()}this.pointInstances_=[]};clearCenterPoints=()=>{for(let e=0;e<this.centerPointInstances_.length;e++)this.centerPointInstances_[e].point.remove();this.centerPointInstances_=[]};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.dataClass_==="AirRoutes"?this.airRouteGeometryInstance_&&(this.data_.type===2?this.airRouteGeometryInstance_.updateSymbol({linePatternFile:B.getAirRouteTexture(!0)}):this.airRouteGeometryInstance_.updateSymbol({lineWidth:t+2})):this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2})};mouseout=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.dataClass_==="AirRoutes"?this.airRouteGeometryInstance_&&(this.data_.type===2?this.airRouteGeometryInstance_.updateSymbol({linePatternFile:B.getAirRouteTexture()}):this.airRouteGeometryInstance_.updateSymbol({lineWidth:t})):this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t})}}class M6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;displayGeometryInstance_=void 0;displayGeometryOutlineInstance_=void 0;options_=void 0;outlineOptions_=void 0;highlightPrimitive_=void 0;highlightOutlinePrimitive_=void 0;radiusPolylineInstance_=void 0;radiusLabelInstance_=void 0;pointInstance_=void 0;radiusPointInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;radiusCenter_=void 0;radius_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;defaultHeight_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMoveStartDraw=e=>{let t=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){if(this.isClampTo3DTILE_){B.pickPosition(t,e.endPosition,this.classificationType_).then(n=>{this.handleMoveStartDrawPosition(n)});return}let i=B.getClampToGroundPosition(t,e.endPosition,this.isClampToGround_,this.radiusCenter_,void 0,void 0,!1);this.handleMoveStartDrawPosition(i)}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||this.isStartDraw_)&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(i,e.endPosition,this.classificationType_).then(s=>{this.handleMovePosition(s,t)});return}let n=B.getClampToGroundPosition(i,e.endPosition,this.isClampToGround_,this.data_.coordinates[0],void 0,void 0,!1);this.handleMovePosition(n,t)}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=t.scene.pick(e.position),s=le.cloneDeep(i.coordinate);if(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(s.altitude+=this.defaultHeight_),this.isStartDraw_){if(n&&typeof n.id=="string"){let a=n.id;if(n.primitive instanceof Cesium.PointPrimitive&&a.includes("-&-ZYWL-&-GraphicEditingCircleRadius-Point")){this.isStartDraw_=!1,this.screenSpaceHandler_&&(this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0),this.reDraw(),this.emitGraphChanged("complete");return}}}else if(this.data_.coordinates.length){this.isEditable_=!1,this.emitGraphEdited();return}else{this.data_.coordinates.push(le.cloneDeep(s)),this.center_=B.transformCartesian3(this.data_.coordinates[0]),this.radiusCenter_=B.transformCartesian3(this.data_.coordinates[0]);let a=B.transformCoordinate(this.center_),o=B.transformCoordinate(this.radiusCenter_);this.radius_=jn(ki([a.longitude,a.latitude]),ki([o.longitude,o.latitude]),{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(this.mouseMoveStartDraw,Cesium.ScreenSpaceEventType.MOUSE_MOVE)}this.reDraw(),this.emitGraphChanged("update")}};handleMoveStartDrawPosition=e=>{e&&e.coordinate&&(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(e.coordinate.altitude+=this.defaultHeight_),this.radiusCenter_=B.transformCartesian3(e.coordinate),this.radius_=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw())};handleMovePosition=(e,t)=>{if(e&&e.coordinate){if(t===0)this.data_.coordinates[0].longitude=e.coordinate.longitude,this.data_.coordinates[0].latitude=e.coordinate.latitude,this.data_.coordinates[0].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[0].altitude+=this.defaultHeight_),this.center_=e.cartesian3,this.radiusCenter_=B.offsetHeadingPitch2Position(this.center_,90,0,this.radius_).cartesian3;else if(t===1){this.radiusCenter_=e.cartesian3;let i=B.transformCoordinate(this.center_),n=B.transformCoordinate(this.radiusCenter_);this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(i.altitude+=this.defaultHeight_,n.altitude+=this.defaultHeight_),this.radius_=jn(ki([i.longitude,i.latitude]),ki([n.longitude,n.latitude]),{units:"meters"})}this.reDraw()}};mouseRightClick=e=>{this.isDelete_&&(this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw())};async reDraw(){if(this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.radius_||(this.radius_=this.data_?.symbol?.radius??.01);const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_&&!this.isClampTo3DTILE_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.center_=i,!this.radiusCenter_&&this.radius_&&(this.radiusCenter_=B.offsetHeadingPitch2Position(this.center_,90,0,this.radius_).cartesian3),this.isEditable_&&this.clearGeometry(),this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polygon",isClampToGround:le.cloneDeep(this.isClampToGround_)?le.cloneDeep(this.isClampToGround_):le.cloneDeep(this.isClampTo3DTILE_)},this.outlineOptions_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:le.cloneDeep(this.isClampToGround_)?le.cloneDeep(this.isClampToGround_):le.cloneDeep(this.isClampTo3DTILE_)},this.createPrimitive(e,t),this.reDrawRadiusPolyline(),this.reDrawRadiusLabel(),this.reDrawCenterPoint(),this.reDrawRadiusPoint(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=(e,t)=>{const i=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircle",n=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircleOutline",s=t?.altitude??100,a=this.data_?.symbol?.lineWidth??2,o=B.getCircleOutlinePositions(this.center_,this.radius_,s);if(o.length)if(this.isEditable_){this.clearDisplayGeometry();const f=e.scene.primitives,d=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})});var c,u;const g=new Cesium.GeometryInstance({id:i,geometry:new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(o),perPositionHeight:!0})});this.isClampToGround_||this.isClampTo3DTILE_?c=new Cesium.GroundPrimitive({geometryInstances:g,appearance:d,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):c=new Cesium.Primitive({geometryInstances:g,appearance:d,show:this.visible_,asynchronous:!1});const A=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})});if(this.isClampToGround_||this.isClampTo3DTILE_){const m=new Cesium.GeometryInstance({id:n,geometry:new Cesium.GroundPolylineGeometry({positions:o,width:a})});u=new Cesium.GroundPolylinePrimitive({geometryInstances:m,appearance:A,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN})}else{const m=new Cesium.GeometryInstance({id:n,geometry:new Cesium.PolylineGeometry({positions:o,width:a})});u=new Cesium.Primitive({geometryInstances:m,appearance:A,show:this.visible_,asynchronous:!1})}this.geometryInstance_&&f.remove(this.geometryInstance_),c&&(this.geometryInstance_=f.add(c)),this.geometryOutlineInstance_&&f.remove(this.geometryOutlineInstance_),u&&(this.geometryOutlineInstance_=f.add(u))}else{this.clearGeometry();const f=new Cesium.ShowGeometryInstanceAttribute(this.visible_),d=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)),g=B.getGeometryInstances(this.options_);var l;if(this.isClampToGround_||this.isClampTo3DTILE_?l=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(o),perPositionHeight:!1}):l=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(o),perPositionHeight:!0}),!this.displayGeometryInstance_)this.displayGeometryInstance_=new Cesium.GeometryInstance({id:i,geometry:l,attributes:{color:d,show:f}}),g.push(this.displayGeometryInstance_);else{this.displayGeometryInstance_.geometry=l,this.displayGeometryInstance_.attributes.color=d,this.displayGeometryInstance_.attributes.show=f;const p=g.findIndex(C=>C.id===this.displayGeometryInstance_.id);p!==-1&&(g[p]=this.displayGeometryInstance_)}const A=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")),m=B.getGeometryInstances(this.outlineOptions_);var h;if(this.isClampToGround_?h=new Cesium.GroundPolylineGeometry({positions:o,width:a}):h=new Cesium.PolylineGeometry({positions:o,width:a}),!this.displayGeometryOutlineInstance_)this.displayGeometryOutlineInstance_=new Cesium.GeometryInstance({id:n,geometry:h,attributes:{color:A,show:f}}),m.push(this.displayGeometryOutlineInstance_);else{this.displayGeometryOutlineInstance_.geometry=h,this.displayGeometryOutlineInstance_.attributes.color=A,this.displayGeometryOutlineInstance_.attributes.show=f;const p=m.findIndex(C=>C.id===this.displayGeometryOutlineInstance_.id);p!==-1&&(m[p]=this.displayGeometryOutlineInstance_)}this.updatePrimitive(g,m)}};reDrawRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);if(e){this.clearRadiusPolyline();let t=this.data_?.coordinates;if(this.center_&&this.radiusCenter_&&this.isEditable_&&t&&t.length){let i=this.data_.ID;if(!this.radiusPolylineInstance_){let n;this.isClampToGround_||this.isClampTo3DTILE_?n=new Cesium.GroundPolylineGeometry({positions:[this.center_,this.radiusCenter_],width:2}):n=new Cesium.PolylineGeometry({positions:[this.center_,this.radiusCenter_],width:2,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND});let s=new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-GraphicEditingCircleRadiusPolyline",geometry:n}),a;this.isClampToGround_||this.isClampTo3DTILE_?(a=new Cesium.GroundPolylinePrimitive({geometryInstances:s,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}),this.radiusPolylineInstance_=e.scene.groundPrimitives.add(a)):(a=new Cesium.Primitive({geometryInstances:s,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1}),this.radiusPolylineInstance_=e.scene.primitives.add(a))}}}};reDrawRadiusLabel=()=>{this.clearRadiusLabel();const e=this.data_.ID+"-&-ZYWL-&-RadiusLabel",t=this.data_?.coordinates;if(this.center_&&this.radiusCenter_&&this.isEditable_&&t&&t.length){let i=Cesium.Cartesian3.midpoint(this.center_,this.radiusCenter_,new Cesium.Cartesian3),n=B.transformCoordinate(this.center_),s=B.transformCoordinate(this.radiusCenter_),a=jn(ki([n.longitude,n.latitude]),ki([s.longitude,s.latitude]),{units:"meters"});this.radius_&&(a=le.cloneDeep(this.radius_));let o;a>1e3?(a=a/1e3,a=Number(a.toFixed(2)),o=`${a}km`):(a=Number(a.toFixed(2)),o=`${a}m`),this.radiusLabelInstance_=new xn(this.containerID_),this.radiusLabelInstance_.DataProcessing({ID:e,center:i,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${o}</div>`,dx:0,dy:0,presentationMode:a<1?0:1}})}};reDrawCenterPoint=()=>{this.clearCenterPoint();let e=this.data_?.coordinates;if(this.center_&&this.isEditable_&&e&&e.length){let t=B.getPointPrimitiveCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircleCenter-Point";this.pointInstance_||(this.pointInstance_=t.add(new Cesium.PointPrimitive({position:this.center_,id:i,show:this.visible_,color:Cesium.Color.WHITE,pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})))}};reDrawRadiusPoint=()=>{this.clearRadiusPoint();let e=this.data_?.coordinates;if(this.radiusCenter_&&this.isEditable_&&e&&e.length){let t=B.getPointPrimitiveCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircleRadius-Point";this.radiusPointInstance_||(this.radiusPointInstance_=t.add(new Cesium.PointPrimitive({position:this.radiusCenter_,id:i,show:this.visible_,color:Cesium.Color.WHITE,pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})))}};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let e=B.getLabelCollection(this.containerID_),i=this.data_.coordinates[0]?.customLabel;if(i){let n=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",s=i?.show??!1,a=i?.content??"",o=i?.showBackground??!1,l=i?.dx??0,h=i?.dy??0,c=this.customLabelInstances_.find(u=>u.ID===n);if(c)c.primitive.position=this.center_,c.primitive.show=s,c.primitive.text=a,c.primitive.showBackground=o,c.primitive.pixelOffset=new Cesium.Cartesian2(l,h),c.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let u=e.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:n,index:0,primitive:u})}}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=this.data_.coordinates[0]?.customHTML;if(t){let i=new xn(this.containerID_);i.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:t}),this.customHTMLInstances_.push(i)}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||this.isEditable_||(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearDisplayGeometry(),this.clearRadiusPolyline(),this.clearRadiusLabel(),this.clearCenterPoint(),this.clearRadiusPoint(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{const e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearDisplayGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.displayGeometryInstance_){const o=e.findIndex(l=>l.id===this.displayGeometryInstance_.id);o!==-1&&(e.splice(o,1),t=!0)}var i;this.outlineOptions_&&(i=B.getGeometryInstances(this.outlineOptions_));var n=!1;if(this.displayGeometryOutlineInstance_){const o=i.findIndex(l=>l.id===this.displayGeometryOutlineInstance_.id);o!==-1&&(i.splice(o,1),n=!0)}t&&n&&this.updatePrimitive(e,i),this.displayGeometryInstance_=void 0,this.displayGeometryOutlineInstance_=void 0;const a=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&a.remove(this.highlightPrimitive_),this.highlightOutlinePrimitive_&&a.remove(this.highlightOutlinePrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_=void 0};clearRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);this.radiusPolylineInstance_&&e&&e?.scene&&e?.scene?.primitives&&(this.isClampToGround_||this.isClampTo3DTILE_?e.scene.groundPrimitives.remove(this.radiusPolylineInstance_):e.scene.primitives.remove(this.radiusPolylineInstance_)),this.radiusPolylineInstance_=void 0};clearRadiusLabel=()=>{this.radiusLabelInstance_&&this.radiusLabelInstance_.clear(),this.radiusLabelInstance_=void 0};clearCenterPoint=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.pointInstance_&&e&&e.remove(this.pointInstance_),this.pointInstance_=void 0};clearRadiusPoint=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.radiusPointInstance_&&e&&e.remove(this.radiusPointInstance_),this.radiusPointInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=(e,t)=>{const n=B.getMapEngineInstance(this.containerID_).scene.primitives;var s;this.options_&&(s=B.getGeometryPrimitive(this.options_)),s&&(n.remove(s),B.removeGeometryPrimitive(this.options_));var a;this.outlineOptions_&&(a=B.getGeometryPrimitive(this.outlineOptions_)),a&&(n.remove(a),B.removeGeometryPrimitive(this.outlineOptions_)),e?.length&&this.options_&&(this.isClampToGround_||this.isClampTo3DTILE_?s=new Cesium.GroundPrimitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):s=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(s),this.options_.primitive=s,B.addGeometryPrimitive(this.options_)),t?.length&&this.outlineOptions_&&(this.isClampToGround_||this.isClampTo3DTILE_?a=new Cesium.GroundPolylinePrimitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):a=new Cesium.Primitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(a),this.outlineOptions_.primitive=a,B.addGeometryPrimitive(this.outlineOptions_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&i.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_&&i.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0,e&&(this.isClampToGround_||this.isClampTo3DTILE_?(this.displayGeometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.GroundPrimitive({geometryInstances:this.displayGeometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}))),this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.GroundPolylinePrimitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN})))):(this.displayGeometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.displayGeometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1}))),this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1})))))}}class S6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;defaultHeight_=void 0;isAutoZoom_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMove=e=>{if(this.isEditable_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(t,e.endPosition,this.classificationType_).then(i=>{this.handleMovePosition(i,0)});return}B.getClampToGroundPositionCallBack(t,e.endPosition,this.isClampToGround_,this.center_,void 0,void 0,i=>{this.handleMovePosition(i,0)})}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=le.cloneDeep(i.coordinate);this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(n.altitude+=this.defaultHeight_);let s=this.data_?.coordinates;s&&s.length?(s[0].longitude=n.longitude,s[0].latitude=n.latitude,s[0].altitude=n.altitude):this.data_.coordinates=[n],this.reDraw(),this.emitGraphChanged("update"),setTimeout(()=>{this.reDrawCustomHTML()},0)}};handleMovePosition=(e,t)=>{e&&e.coordinate&&(this.data_.coordinates[t].longitude=e.coordinate.longitude,this.data_.coordinates[t].latitude=e.coordinate.latitude,this.data_.coordinates[t].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[t].altitude+=this.defaultHeight_),this.reDraw())};mouseRightClick=()=>{this.isDelete_&&(this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw())};async reDraw(){if(this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,this.isAutoZoom_=this.data_?.isAutoZoom??!1,!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_&&!this.isClampTo3DTILE_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.center_=i,this.createPrimitive(e),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=e=>{let t=this.data_.ID,i=B.getDefaultPointBase64();this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(i=this.data_?.symbol?.image);let n=this.data_?.symbol?.markerWidth??10,s=this.data_?.symbol?.markerHeight??10,a=this.data_?.symbol?.markerDx??0,o=this.data_?.symbol?.markerDy??0,l=this.data_?.symbol?.markerRotation??0;if(this.geometryInstance_)this.geometryInstance_.position=this.center_,this.geometryInstance_.show=this.visible_,this.geometryInstance_.image=i,this.geometryInstance_.pixelOffset=new Cesium.Cartesian2(a,o),this.geometryInstance_.width=n,this.geometryInstance_.height=s,this.geometryInstance_.rotation=Cesium.Math.toRadians(-l);else{let h=B.getBillboardCollection(this.containerID_),c;if(this.isAutoZoom_){const u=this.containerID_.split("-cesium")[0],f=B.transformCoordinate(this.center_),d=B.getMapHeightByZoom(u,10,f),g=B.getMapHeightByZoom(u,3,f);c=new Cesium.Billboard({position:this.center_,id:t+"-&-ZYWL-&-GraphicEditingIcon",show:this.visible_,image:i,pixelOffset:new Cesium.Cartesian2(a,o),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:n,height:s,rotation:Cesium.Math.toRadians(-l),disableDepthTestDistance:Number.POSITIVE_INFINITY,scaleByDistance:new Cesium.NearFarScalar(d,1,g,.1)},h)}else c=new Cesium.Billboard({position:this.center_,id:t+"-&-ZYWL-&-GraphicEditingIcon",show:this.visible_,image:i,pixelOffset:new Cesium.Cartesian2(a,o),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:n,height:s,rotation:Cesium.Math.toRadians(-l),disableDepthTestDistance:Number.POSITIVE_INFINITY},h);this.geometryInstance_=h.add(c)}};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let e=B.getLabelCollection(this.containerID_),i=this.data_.coordinates[0]?.customLabel;if(i){let n=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",s=i?.show??!1,a=i?.content??"",o=i?.showBackground??!1,l=i?.dx??0,h=i?.dy??0,c=this.customLabelInstances_.find(u=>u.ID===n);if(c)c.primitive.position=this.center_,c.primitive.show=s,c.primitive.text=a,c.primitive.showBackground=o,c.primitive.pixelOffset=new Cesium.Cartesian2(l,h),c.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let u=e.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:n,index:0,primitive:u})}}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=this.data_.coordinates[0]?.customHTML;if(t){let i=new xn(this.containerID_);i.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:t}),this.customHTMLInstances_.push(i)}}};primitivesHighlighted=(e,t,i)=>{if(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!(!this.isHighlight_||this.isEditable_)&&this.geometryInstance_){let n=B.getDefaultPointBase64();e?this.data_?.symbol?.imageHighlight&&this.data_?.symbol?.imageHighlight.length&&(n=this.data_?.symbol?.imageHighlight):this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(n=this.data_?.symbol?.image),this.geometryInstance_.image=n}};clear=()=>{window.EditElement=void 0,this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getBillboardCollection(this.containerID_);this.geometryInstance_&&e&&e.remove(this.geometryInstance_),this.geometryInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class mte{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;defaultHeight_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMove=e=>{if(this.isEditable_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(t,e.endPosition,this.classificationType_).then(i=>{this.handleMovePosition(i,0)});return}B.getClampToGroundPositionCallBack(t,e.endPosition,this.isClampToGround_,this.center_,void 0,void 0,i=>{this.handleMovePosition(i,0)})}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=le.cloneDeep(i.coordinate);this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(n.altitude+=this.defaultHeight_),Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length?(this.data_.coordinates[0].longitude=n.longitude,this.data_.coordinates[0].latitude=n.latitude,this.data_.coordinates[0].altitude=n.altitude):this.data_.coordinates=[n],this.reDraw(),this.emitGraphChanged("update"),setTimeout(()=>{this.reDrawCustomHTML()},0)}};handleMovePosition=(e,t)=>{e&&e.coordinate&&(this.data_.coordinates[t].longitude=e.coordinate.longitude,this.data_.coordinates[t].latitude=e.coordinate.latitude,this.data_.coordinates[t].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[t].altitude+=this.defaultHeight_),this.reDraw())};mouseRightClick=()=>{this.isDelete_&&(this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw())};async reDraw(){if(this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight,!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_&&!this.isClampTo3DTILE_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.center_=i,this.createPrimitive(e),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=e=>{let t=this.data_.ID,i=B.getPointPrimitiveCollection(this.containerID_),n="#fff";this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(n=this.data_?.symbol?.pointColor),n=Cesium.Color.fromCssColorString(n);let s=this.data_?.symbol?.pixelSize??10;this.geometryInstance_?(this.geometryInstance_.position=this.center_,this.geometryInstance_.show=this.visible_,this.geometryInstance_.color=n,this.geometryInstance_.pixelSize=s):this.geometryInstance_=i.add(new Cesium.PointPrimitive({position:this.center_,id:t+"-&-ZYWL-&-GraphicEditingPoint",show:this.visible_,color:n,pixelSize:s,disableDepthTestDistance:Number.POSITIVE_INFINITY}))};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let e=B.getLabelCollection(this.containerID_),i=this.data_.coordinates[0]?.customLabel;if(i){let n=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",s=i?.show??!1,a=i?.content??"",o=i?.showBackground??!1,l=i?.dx??0,h=i?.dy??0,c=this.customLabelInstances_.find(u=>u.ID===n);if(c)c.primitive.position=this.center_,c.primitive.show=s,c.primitive.text=a,c.primitive.showBackground=o,c.primitive.pixelOffset=new Cesium.Cartesian2(l,h),c.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let u=e.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:n,index:0,primitive:u})}}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=this.data_.coordinates[0]?.customHTML;if(t){let i=new xn(this.containerID_);i.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:t}),this.customHTMLInstances_.push(i)}}};primitivesHighlighted=(e,t,i)=>{if(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!(!this.isHighlight_||this.isEditable_)&&this.geometryInstance_){let n="#fff";e?this.data_?.symbol?.pointColorHighlight&&this.data_?.symbol?.pointColorHighlight.length&&(n=this.data_?.symbol?.pointColorHighlight):this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(n=this.data_?.symbol?.pointColor),n=Cesium.Color.fromCssColorString(n),this.geometryInstance_.color=n}};clear=()=>{window.EditElement=void 0,this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.geometryInstance_&&e&&e.remove(this.geometryInstance_),this.geometryInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class B6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;displayGeometryInstance_=void 0;displayGeometryOutlineInstance_=void 0;options_=void 0;outlineOptions_=void 0;highlightPrimitive_=void 0;highlightOutlinePrimitive_=void 0;primitiveInstances_=[];pointInstances_=[];distanceLabelInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;defaultHeight_=void 0;nodeMode_="billboard";positions_=[];isDistanceVisible_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMoveStartDraw=e=>{if(this.isStartDraw_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.endPosition,this.classificationType_).then(i=>{this.handleMoveStartDrawPosition(i)})}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||this.isStartDraw_)&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(i,e.endPosition,this.classificationType_).then(n=>{this.handleMovePosition(n,t)});return}B.getClampToGroundPositionCallBack(i,e.endPosition,this.isClampToGround_,this.data_.coordinates[t],void 0,void 0,n=>{this.handleMovePosition(n,t)})}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=t.scene.pick(e.position),s=this.data_?.coordinates??[],a=le.cloneDeep(i.coordinate);if(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(a.altitude+=this.defaultHeight_),this.isStartDraw_){if(n&&typeof n.id=="string"){let o=n.id;if((n.primitive instanceof Cesium.Billboard||n.primitive instanceof Cesium.PointPrimitive)&&o.includes("-&-ZYWL-&-GraphicEditingPolygon-Point-")&&Number(o.split("-&-ZYWL-&-GraphicEditingPolygon-Point-")[1])===s.length-2){s.length>3&&(this.isStartDraw_=!1,s.splice(s.length-1,1),this.screenSpaceHandler_&&(this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0),this.reDraw(),this.emitGraphChanged("complete"));return}}s.push(le.cloneDeep(a))}else if(!s.length)s.push(le.cloneDeep(a)),s.push(le.cloneDeep(a)),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(this.mouseMoveStartDraw,Cesium.ScreenSpaceEventType.MOUSE_MOVE);else if(n&&typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&n.id.includes("-&-ZYWL-&-GraphicEditingPolygon-CenterPoint-")){let o=B.extractionIndex(n.id),l=n.primitive.position;l&&(s.splice(o+1,0,B.transformCoordinate(l)),setTimeout(()=>{this.reDrawCustomHTML()},0))}else{this.isEditable_=!1,this.emitGraphEdited();return}this.reDraw(),this.emitGraphChanged("update")}};handleMoveStartDrawPosition=e=>{e&&e.coordinate&&(this.data_.coordinates[this.data_.coordinates.length-1].longitude=e.coordinate.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=e.coordinate.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[this.data_.coordinates.length-1].altitude+=this.defaultHeight_),this.reDraw())};handleMovePosition=(e,t)=>{e&&e.coordinate&&(this.data_.coordinates[t].longitude=e.coordinate.longitude,this.data_.coordinates[t].latitude=e.coordinate.latitude,this.data_.coordinates[t].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[t].altitude+=this.defaultHeight_),this.reDraw())};mouseRightClick=e=>{this.isDelete_&&(e!==void 0?(this.data_.coordinates.splice(e,1),this.emitGraphChanged("delete",e)):(this.data_.coordinates=[],this.emitGraphRemoved()),this.clearDistanceLabels(),this.reDraw())};async reDraw(){const e=B.getMapEngineInstance(this.containerID_);this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,this.nodeMode_=this.data_?.nodeMode??"billboard";let t=this.data_?.coordinates;if(!Array.isArray(t)||Array.isArray(t)&&!t?.length){this.clear();return}if(this.positions_=[],this.isClampToGround_&&!this.isClampTo3DTILE_){const i=await B.getTerrainHeights(e,t);this.positions_=le.cloneDeep(i.positions)}else for(const i of t)this.positions_.push(B.transformCartesian3(i));this.positions_.length>1?this.center_=Cesium.Cartesian3.divideByScalar(this.positions_.reduce((i,n)=>Cesium.Cartesian3.add(i,n,new Cesium.Cartesian3)),this.positions_.length,new Cesium.Cartesian3):this.positions_.length===1&&(this.center_=this.positions_[0]),this.isEditable_&&this.clearGeometry(),this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polygon",isClampToGround:this.isClampToGround_||this.isClampTo3DTILE_},this.outlineOptions_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:this.isClampToGround_||this.isClampTo3DTILE_},this.positions_.length>1&&this.createPrimitive(e,this.positions_),this.reDrawPoints(),this.reDrawCenterPoints(this.positions_),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=(e,t)=>{const i=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon",n=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygonOutline",s=this.data_?.symbol?.lineWidth??2,a=le.cloneDeep(t);a.push(a[0]);const o=e.scene.primitives;if(this.isEditable_){this.clearDisplayGeometry();var c,u;if(t.length>2){const d=new Cesium.MaterialAppearance({flat:!0,material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})}),g=new Cesium.GeometryInstance({id:i,geometry:new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!0})});this.isClampToGround_||this.isClampTo3DTILE_?c=new Cesium.GroundPrimitive({geometryInstances:g,appearance:d,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):c=new Cesium.Primitive({geometryInstances:g,appearance:d,show:this.visible_,asynchronous:!1})}const f=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})});if(this.isClampToGround_||this.isClampTo3DTILE_){const d=new Cesium.GeometryInstance({id:n,geometry:new Cesium.GroundPolylineGeometry({positions:a,width:s})});u=new Cesium.GroundPolylinePrimitive({geometryInstances:d,appearance:f,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN})}else{const d=new Cesium.GeometryInstance({id:n,geometry:new Cesium.PolylineGeometry({positions:a,width:s})});u=new Cesium.Primitive({geometryInstances:d,appearance:f,show:this.visible_,asynchronous:!1})}this.geometryInstance_&&o.remove(this.geometryInstance_),c&&(this.geometryInstance_=o.add(c)),this.geometryOutlineInstance_&&o.remove(this.geometryOutlineInstance_),u&&(this.geometryOutlineInstance_=o.add(u))}else{this.clearGeometry();const f=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)),d=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")),g=new Cesium.ShowGeometryInstanceAttribute(this.visible_),A=B.getGeometryInstances(this.options_);var l;if(this.isClampToGround_||this.isClampTo3DTILE_?l=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!1}):l=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!0}),!this.displayGeometryInstance_)this.displayGeometryInstance_=new Cesium.GeometryInstance({id:i,geometry:l,attributes:{color:f,show:g}}),A.push(this.displayGeometryInstance_);else{this.displayGeometryInstance_.geometry=l,this.displayGeometryInstance_.attributes.color=f,this.displayGeometryInstance_.attributes.show=g;const p=A.findIndex(C=>C.id===this.displayGeometryInstance_.id);p!==-1&&(A[p]=this.displayGeometryInstance_)}const m=B.getGeometryInstances(this.outlineOptions_);var h;if(this.isClampToGround_||this.isClampTo3DTILE_?h=new Cesium.GroundPolylineGeometry({positions:a,width:s}):h=new Cesium.PolylineGeometry({positions:a,width:s}),!this.displayGeometryOutlineInstance_)this.displayGeometryOutlineInstance_=new Cesium.GeometryInstance({id:n,geometry:h,attributes:{color:d,show:g}}),m.push(this.displayGeometryOutlineInstance_);else{this.displayGeometryOutlineInstance_.geometry=h,this.displayGeometryOutlineInstance_.geometry.width=s,this.displayGeometryOutlineInstance_.attributes.color=d,this.displayGeometryOutlineInstance_.attributes.show=g;const p=m.findIndex(C=>C.id===this.displayGeometryOutlineInstance_.id);p!==-1&&(m[p]=this.displayGeometryOutlineInstance_)}this.updatePrimitive(A,m)}};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&this.isEditable_&&Array.isArray(this.positions_)&&this.positions_.length){let e;if(this.nodeMode_==="point"?e=B.getPointPrimitiveCollection(this.containerID_):e=B.getBillboardCollection(this.containerID_),this.positions_.length===this.data_.coordinates.length)for(let t=0;t<this.positions_.length&&!(this.isStartDraw_&&t===this.data_.coordinates.length-1);t++){let i=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon-Point-"+t,n=this.positions_[t],a=this.data_.coordinates[t]?.symbol;a||(a=this.data_?.symbol),console.log(n);let o;if(this.nodeMode_==="point"){let l=15,h="#fff";a&&(l=a?.pixelSize??15,h=a?.pointColor??"#fff"),h=Cesium.Color.fromCssColorString(h),o=e.add(new Cesium.PointPrimitive({position:n,id:i,show:this.visible_,color:h,pixelSize:l,disableDepthTestDistance:Number.POSITIVE_INFINITY}))}else{let l=B.getPointIcon(!1,!1),h=20,c=20,u=0,f=0;a&&(l=a?.image??B.getPointIcon(!1,!1),h=a?.markerWidth??20,c=a?.markerHeight??20,u=a?.markerDx??0,f=a?.markerDy??0),this.isStartDraw_&&this.data_.coordinates.length>2&&t===this.data_.coordinates.length-2&&(l=a?.imageFinish??B.getPointIcon(!1,!0)),o=e.add(new Cesium.Billboard({position:n,id:i,show:this.visible_,image:l,horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:h,height:c,pixelOffset:new Cesium.Cartesian2(u,f),disableDepthTestDistance:Number.POSITIVE_INFINITY},e))}this.primitiveInstances_.push({ID:i,index:t,primitive:o})}}};async reDrawCenterPoints(e){if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)&&e.length>=3){let t=[],i=[];for(let o=0;o<e.length;o++){let l,h;if(o===e.length-1?(l=e[o],h=e[0]):(l=e[o],h=e[o+1]),l&&h){t.push(Cesium.Cartesian3.midpoint(l,h,new Cesium.Cartesian3));let c=Cesium.Cartesian3.distance(l,h),u;c>1e3?(c=c/1e3,c=Number(c.toFixed(2)),u=`${c}km`):(c=Number(c.toFixed(2)),u=`${c}m`),i.push({content:u,distance:c})}}let n=B.getMapEngineInstance(this.containerID_),s=await B.obtainGroundCartesian3s(n,t,this.classificationType_);this.clearCenterPoints(),this.clearDistanceLabels();let a=B.getPointPrimitiveCollection(this.containerID_);for(const[o,l]of s.entries()){if(!this.isStartDraw_&&this.isEditable_){let d=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon-CenterPoint-"+o,g=a.add(new Cesium.PointPrimitive({position:l,id:d,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.pointInstances_.push({ID:d,index:o,primitive:g})}let h=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon-DistanceLabel-"+o,c=i[o],u=new xn(this.containerID_),f=0;this.visible_&&this.isEditable_&&!this.isStartDraw_&&(f=-20),u.DataProcessing({ID:h,center:l,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${c.content}</div>`,dx:0,dy:f,presentationMode:c.distance<1?0:1}}),this.distanceLabelInstances_.push(u)}}else this.clearCenterPoints(),this.clearDistanceLabels()}reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.positions_)&&this.positions_.length){let e=B.getLabelCollection(this.containerID_);if(this.positions_.length!==this.customLabelInstances_.length&&this.clearCustomLabel(),this.positions_.length===this.data_.coordinates.length)for(let t=0;t<this.positions_.length;t++){let i=this.positions_[t],s=this.data_.coordinates[t]?.customLabel;if(s){let a=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+t,o=s?.show??!1,l=s?.content??"",h=s?.showBackground??!1,c=s?.dx??0,u=s?.dy??0,f=this.customLabelInstances_.find(d=>d.ID===a);if(f)f.primitive.position=i,f.primitive.show=o,f.primitive.text=l,f.primitive.showBackground=h,f.primitive.pixelOffset=new Cesium.Cartesian2(c,u),f.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let d=e.add(new Cesium.Label({position:i,id:a,show:o,text:l,font:"18px sans-serif",showBackground:h,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(c,u),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:a,index:t,primitive:d})}}}else this.clearCustomLabel()}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(this.positions_)&&this.positions_.length&&this.positions_.length===this.data_.coordinates.length)for(let e=0;e<this.positions_.length;e++){let t=this.positions_[e],n=this.data_.coordinates[e]?.customHTML;if(n){let s=new xn(this.containerID_);s.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,center:t,customHTML:n}),this.customHTMLInstances_.push(s)}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||this.isEditable_||(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearDisplayGeometry(),this.clearPoints(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML(),this.positions_=[]};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{const e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearDisplayGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.displayGeometryInstance_){const o=e.findIndex(l=>l.id===this.displayGeometryInstance_.id);o!==-1&&(e.splice(o,1),t=!0)}var i;this.outlineOptions_&&(i=B.getGeometryInstances(this.outlineOptions_));var n=!1;if(this.displayGeometryOutlineInstance_){const o=i.findIndex(l=>l.id===this.displayGeometryOutlineInstance_.id);o!==-1&&(i.splice(o,1),n=!0)}t&&n&&this.updatePrimitive(e,i),this.displayGeometryInstance_=void 0,this.displayGeometryOutlineInstance_=void 0;const a=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&a.remove(this.highlightPrimitive_),this.highlightOutlinePrimitive_&&a.remove(this.highlightOutlinePrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_=void 0};clearPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_),t=B.getBillboardCollection(this.containerID_);if(this.primitiveInstances_&&(e||t))for(let i=0;i<this.primitiveInstances_.length;i++){let n=this.primitiveInstances_[i];n.primitive instanceof Cesium.PointPrimitive?e.remove(n.primitive):t.remove(n.primitive)}this.primitiveInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.pointInstances_&&e)for(let t=0;t<this.pointInstances_.length;t++){let i=this.pointInstances_[t];e.remove(i.primitive)}this.pointInstances_=[]};clearDistanceLabels=()=>{for(const e of this.distanceLabelInstances_)e.clear();this.distanceLabelInstances_=[]};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=(e,t)=>{const n=B.getMapEngineInstance(this.containerID_).scene.primitives;var s;this.options_&&(s=B.getGeometryPrimitive(this.options_)),s&&(n.remove(s),B.removeGeometryPrimitive(this.options_));var a;this.outlineOptions_&&(a=B.getGeometryPrimitive(this.outlineOptions_)),a&&(n.remove(a),B.removeGeometryPrimitive(this.outlineOptions_)),e?.length&&this.options_&&(this.isClampToGround_||this.isClampTo3DTILE_?s=new Cesium.GroundPrimitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):s=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(s),this.options_.primitive=s,B.addGeometryPrimitive(this.options_)),t?.length&&this.outlineOptions_&&(this.isClampToGround_||this.isClampTo3DTILE_?a=new Cesium.GroundPolylinePrimitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):a=new Cesium.Primitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(a),this.outlineOptions_.primitive=a,B.addGeometryPrimitive(this.outlineOptions_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&i.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_&&i.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0,e&&(this.isClampToGround_||this.isClampTo3DTILE_?(this.displayGeometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.GroundPrimitive({geometryInstances:this.displayGeometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}))),this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.GroundPolylinePrimitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN})))):(this.displayGeometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.displayGeometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1}))),this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1})))))}}class pte{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;options_=void 0;displayGeometryInstance_=void 0;highlightPrimitive_=void 0;primitiveInstances_=[];pointInstances_=[];groundPointsInstances_=[];groundVerticalLinesInstances_=[];distanceLabelInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;defaultHeight_=void 0;nodeMode_="billboard";positions_=[];groundPositions_=[];isDistanceVisible_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMoveStartDraw=e=>{if(this.isStartDraw_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.endPosition,this.classificationType_).then(i=>{this.handleMoveStartDrawPosition(i)})}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||this.isStartDraw_)&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(i,e.endPosition,this.classificationType_).then(n=>{this.handleMovePosition(n,t)});return}B.getClampToGroundPositionCallBack(i,e.endPosition,this.isClampToGround_,this.data_.coordinates[t],void 0,void 0,n=>{this.handleMovePosition(n,t)})}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=t.scene.pick(e.position),s=this.data_?.coordinates??[],a=le.cloneDeep(i.coordinate);if(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(a.altitude+=this.defaultHeight_),this.isStartDraw_){if(n&&typeof n.id=="string"){let o=n.id;if((n.primitive instanceof Cesium.Billboard||n.primitive instanceof Cesium.PointPrimitive)&&(o.includes("-&-ZYWL-&-GraphicEditingPolyline-Point-")||o.includes("-&-ZYWL-&-GraphicEditingPolyline-GroundPoint-"))){let l=B.extractionIndex(o);if(s.length>2&&l===s.length-2){this.isStartDraw_=!1,s.splice(s.length-1,1),this.screenSpaceHandler_&&(this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0),this.reDraw(),this.emitGraphChanged("complete");return}}}s.push(le.cloneDeep(a))}else if(!s.length)s.push(le.cloneDeep(a)),s.push(le.cloneDeep(a)),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(this.mouseMoveStartDraw,Cesium.ScreenSpaceEventType.MOUSE_MOVE);else if(n&&typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&n.id.includes("-&-ZYWL-&-GraphicEditingPolyline-CenterPoint-")){let o=B.extractionIndex(n.id),l=n.primitive.position;l&&(s.splice(o+1,0,B.transformCoordinate(l)),setTimeout(()=>{this.reDrawCustomHTML()},0))}else{this.isEditable_=!1,this.emitGraphEdited();return}this.reDraw(),this.emitGraphChanged("update")}};handleMoveStartDrawPosition=e=>{e&&e.coordinate&&(this.data_.coordinates[this.data_.coordinates.length-1].longitude=e.coordinate.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=e.coordinate.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[this.data_.coordinates.length-1].altitude+=this.defaultHeight_),this.reDraw())};handleMovePosition=(e,t)=>{e&&e.coordinate&&(this.data_.coordinates[t].longitude=e.coordinate.longitude,this.data_.coordinates[t].latitude=e.coordinate.latitude,this.data_.coordinates[t].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[t].altitude+=this.defaultHeight_),this.reDraw())};mouseRightClick=e=>{this.isDelete_&&(e!==void 0?(this.data_.coordinates.splice(e,1),this.emitGraphChanged("delete",e)):(this.data_.coordinates=[],this.emitGraphRemoved()),this.clearDistanceLabels(),this.reDraw())};douglasPeucker=()=>{this.reDraw()};async reDraw(){const e=B.getMapEngineInstance(this.containerID_);this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,this.nodeMode_=this.data_?.nodeMode??"billboard";let t=this.data_?.coordinates;if(!Array.isArray(t)||Array.isArray(t)&&!t?.length){this.clear();return}if(this.positions_=[],this.isClampToGround_&&!this.isClampTo3DTILE_){const i=await B.getTerrainHeights(e,t);this.positions_=le.cloneDeep(i.positions)}else for(const i of t)this.positions_.push(B.transformCartesian3(i));this.positions_.length>1?this.center_=Cesium.Cartesian3.divideByScalar(this.positions_.reduce((i,n)=>Cesium.Cartesian3.add(i,n,new Cesium.Cartesian3)),this.positions_.length,new Cesium.Cartesian3):this.positions_.length===1&&(this.center_=this.positions_[0]),this.isEditable_&&this.clearGeometry(),this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:this.isClampToGround_||this.isClampTo3DTILE_},this.positions_.length>1&&this.createPrimitive(e,this.positions_),this.reDrawPoints(),this.reDrawGroundPoints(),this.reDrawCenterPoints(this.positions_),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=(e,t)=>{const i=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline",n=this.data_?.symbol?.lineWidth??2,s=e.scene.primitives;if(this.isEditable_){this.clearDisplayGeometry();const l=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})});var o;this.isClampToGround_||this.isClampTo3DTILE_?o=new Cesium.GroundPolylinePrimitive({geometryInstances:new Cesium.GeometryInstance({id:i,geometry:new Cesium.GroundPolylineGeometry({positions:t,width:n})}),appearance:l,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):o=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:i,geometry:new Cesium.PolylineGeometry({positions:t,width:n})}),appearance:l,show:this.visible_,asynchronous:!1}),this.geometryInstance_&&s.remove(this.geometryInstance_),this.geometryInstance_=s.add(o)}else{this.clearGeometry();const l=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")),h=new Cesium.ShowGeometryInstanceAttribute(this.visible_),c=B.getGeometryInstances(this.options_);var a;if(this.isClampToGround_||this.isClampTo3DTILE_?a=new Cesium.GroundPolylineGeometry({positions:t,width:n}):a=new Cesium.PolylineGeometry({positions:t,width:n}),!this.displayGeometryInstance_)this.displayGeometryInstance_=new Cesium.GeometryInstance({id:i,geometry:a,attributes:{color:l,show:h}}),c.push(this.displayGeometryInstance_);else{this.displayGeometryInstance_.geometry=a,this.displayGeometryInstance_.attributes.color=l,this.displayGeometryInstance_.attributes.show=h;const u=c.findIndex(f=>f.id===this.displayGeometryInstance_.id);u!==-1&&(c[u]=this.displayGeometryInstance_)}this.updatePrimitive(c)}};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&Array.isArray(this.positions_)&&this.positions_.length){let e;if(this.nodeMode_==="point"?e=B.getPointPrimitiveCollection(this.containerID_):e=B.getBillboardCollection(this.containerID_),this.positions_.length===this.data_.coordinates.length)for(let t=0;t<this.positions_.length&&!(this.isStartDraw_&&t===this.data_.coordinates.length-1);t++){let i=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-Point-"+t,n=this.positions_[t],s=this.data_.coordinates[t],a=s?.show??!1;if(!this.isEditable_&&!a)continue;let o=s?.symbol;o||(o=this.data_?.symbol);let l;if(this.nodeMode_==="point"){let h=15,c="#fff";o&&(h=o?.pixelSize??15,c=o?.pointColor??"#fff"),c=Cesium.Color.fromCssColorString(c),l=e.add(new Cesium.PointPrimitive({position:n,id:i,show:this.visible_,color:c,pixelSize:h,disableDepthTestDistance:Number.POSITIVE_INFINITY}))}else{let h=B.getPointIcon(!1,!1),c=20,u=20,f=0,d=0;o&&(h=o?.image??B.getPointIcon(!1,!1),c=o?.markerWidth??20,u=o?.markerHeight??20,f=o?.markerDx??0,d=o?.markerDy??0),this.isStartDraw_&&this.data_.coordinates.length>2&&t===this.data_.coordinates.length-2&&(h=o?.imageFinish??B.getPointIcon(!1,!0)),l=e.add(new Cesium.Billboard({position:n,id:i,show:this.visible_,image:h,horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:c,height:u,pixelOffset:new Cesium.Cartesian2(f,d),disableDepthTestDistance:Number.POSITIVE_INFINITY},e))}this.primitiveInstances_.push({ID:i,index:t,primitive:l})}}};async reDrawGroundPoints(){let e=this.data_?.isGroundPointVisible??!1,t=this.data_?.isGroundVerticalLineVisible??!1;if(this.visible_&&e&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.groundPositions_=await B.obtainGroundCartesian3s(i,this.data_.coordinates,Cesium.ClassificationType.TERRAIN),this.clearGroundPoints(),this.clearGroundVerticalLines(),this.groundPositions_.length===this.data_.coordinates.length){let n=B.getPointPrimitiveCollection(this.containerID_);for(let s=0;s<this.groundPositions_.length;s++){let a=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-GroundPoint-"+s,o=this.groundPositions_[s];if(this.groundPointsInstances_.push({ID:a,index:s,primitive:n.add(new Cesium.PointPrimitive({position:o,id:a,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:8}))}),t){let l=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-VerticalLine-"+s,h=this.data_.coordinates[s],c=new Cesium.PolylineGeometry({positions:[B.transformCartesian3(h),this.groundPositions_[s]],width:2}),u=new Cesium.GeometryInstance({id:l,geometry:c}),f=new Cesium.Primitive({geometryInstances:u,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString("#fff"),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString("#fff"),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1});this.groundVerticalLinesInstances_.push({ID:a,index:s,primitive:i.scene.primitives.add(f)})}}}}else this.clearGroundPoints(),this.clearGroundVerticalLines()}async reDrawCenterPoints(e){if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)&&e.length>=2){let t=[],i=[];for(let o=0;o<e.length-1;o++){if(o===e.length-1&&this.isStartDraw_)continue;let l=e[o],h=e[o+1];if(l&&h){t.push(Cesium.Cartesian3.midpoint(l,h,new Cesium.Cartesian3));let c=Cesium.Cartesian3.distance(l,h),u;c>1e3?(c=c/1e3,c=Number(c.toFixed(2)),u=`${c}km`):(c=Number(c.toFixed(2)),u=`${c}m`),i.push({content:u,distance:c})}}let n=B.getMapEngineInstance(this.containerID_),s=await B.obtainGroundCartesian3s(n,t,this.classificationType_);this.clearCenterPoints(),this.clearDistanceLabels();let a=B.getPointPrimitiveCollection(this.containerID_);for(const[o,l]of s.entries()){if(!this.isStartDraw_&&this.isEditable_){let d=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-CenterPoint-"+o,g=a.add(new Cesium.PointPrimitive({position:l,id:d,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.pointInstances_.push({ID:d,index:o,primitive:g})}let h=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-DistanceLabel-"+o,c=i[o],u=new xn(this.containerID_),f=0;this.visible_&&this.isEditable_&&!this.isStartDraw_&&(f=-20),u.DataProcessing({ID:h,center:l,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${c.content}</div>`,dx:0,dy:f,presentationMode:c.distance<1?0:1}}),this.distanceLabelInstances_.push(u)}}else this.clearCenterPoints(),this.clearDistanceLabels()}reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.positions_)&&this.positions_.length){let e=B.getLabelCollection(this.containerID_);if(this.positions_.length!==this.customLabelInstances_.length&&this.clearCustomLabel(),this.positions_.length===this.data_.coordinates.length)for(let t=0;t<this.positions_.length;t++){let i=this.positions_[t],s=this.data_.coordinates[t]?.customLabel;if(s){let a=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+t,o=s?.show??!1,l=s?.content??"",h=s?.showBackground??!1,c=s?.dx??0,u=s?.dy??0,f=this.customLabelInstances_.find(d=>d.ID===a);if(f)f.primitive.position=i,f.primitive.show=o,f.primitive.text=l,f.primitive.showBackground=h,f.primitive.pixelOffset=new Cesium.Cartesian2(c,u),f.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let d=e.add(new Cesium.Label({position:i,id:a,show:o,text:l,font:"18px sans-serif",showBackground:h,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(c,u),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:a,index:t,primitive:d})}}}else this.clearCustomLabel()}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(this.positions_)&&this.positions_.length&&this.positions_.length===this.data_.coordinates.length)for(let e=0;e<this.positions_.length;e++){let t=this.positions_[e],n=this.data_.coordinates[e]?.customHTML;if(n){let s=new xn(this.containerID_);s.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,center:t,customHTML:n}),this.customHTMLInstances_.push(s)}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||this.isEditable_||(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearDisplayGeometry(),this.clearPoints(),this.clearGroundPoints(),this.clearGroundVerticalLines(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML(),this.positions_=[],this.groundPositions_=[]};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{const e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryInstance_=void 0};clearDisplayGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.displayGeometryInstance_){const s=e.findIndex(a=>a.id===this.displayGeometryInstance_.id);s!==-1&&(e.splice(s,1),t=!0)}t&&this.updatePrimitive(e),this.displayGeometryInstance_=void 0;const n=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&n.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0};clearPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_),t=B.getBillboardCollection(this.containerID_);if(this.primitiveInstances_&&(e||t))for(let i=0;i<this.primitiveInstances_.length;i++){let n=this.primitiveInstances_[i];n.primitive instanceof Cesium.PointPrimitive?e.remove(n.primitive):t.remove(n.primitive)}this.primitiveInstances_=[]};clearGroundPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.groundPointsInstances_&&e)for(let t=0;t<this.groundPointsInstances_.length;t++){let i=this.groundPointsInstances_[t];e.remove(i.primitive)}this.groundPointsInstances_=[]};clearGroundVerticalLines=()=>{let e=B.getMapEngineInstance(this.containerID_);if(this.groundVerticalLinesInstances_&&e&&e?.scene&&e?.scene?.primitives)for(let t=0;t<this.groundVerticalLinesInstances_.length;t++)e.scene.primitives.remove(this.groundVerticalLinesInstances_[t].primitive);this.groundVerticalLinesInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.pointInstances_&&e)for(let t=0;t<this.pointInstances_.length;t++){let i=this.pointInstances_[t];e.remove(i.primitive)}this.pointInstances_=[]};clearDistanceLabels=()=>{for(const e of this.distanceLabelInstances_)e.clear();this.distanceLabelInstances_=[]};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;var n;this.options_&&(n=B.getGeometryPrimitive(this.options_)),n&&(i.remove(n),B.removeGeometryPrimitive(this.options_)),e?.length&&this.options_&&(this.isClampToGround_||this.isClampTo3DTILE_?n=new Cesium.GroundPolylinePrimitive({geometryInstances:e,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):n=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),i.add(n),this.options_.primitive=n,B.addGeometryPrimitive(this.options_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;if(this.highlightPrimitive_&&i.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0,e&&this.displayGeometryInstance_){let n;this.isClampToGround_||this.isClampTo3DTILE_?n=new Cesium.GroundPolylinePrimitive({geometryInstances:this.displayGeometryInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):n=new Cesium.Primitive({geometryInstances:this.displayGeometryInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1}),this.highlightPrimitive_=i.add(n)}}}var o0={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},P6e=(function(){var e=function(n){this._coordinator={},this._data=[],this._radi=[],this._min=10,this._max=1,this._xField=n.xField||n.defaultXField,this._yField=n.yField||n.defaultYField,this._valueField=n.valueField||n.defaultValueField,n.radius&&(this._cfgRadius=n.radius)},t=o0.defaultRadius;return e.prototype={_organiseData:function(i,n){var s=i[this._xField],a=i[this._yField],o=this._radi,l=this._data,h=this._max,c=this._min,u=i[this._valueField]||1,f=i.radius||this._cfgRadius||t;l[s]||(l[s]=[],o[s]=[]),l[s][a]?l[s][a]+=u:(l[s][a]=u,o[s][a]=f);var d=l[s][a];return d>h?(n?this.setDataMax(d):this._max=d,!1):d<c?(n?this.setDataMin(d):this._min=d,!1):{x:s,y:a,value:u,radius:f,min:c,max:h}},_unOrganizeData:function(){var i=[],n=this._data,s=this._radi;for(var a in n)for(var o in n[a])i.push({x:a,y:o,radius:s[a][o],value:n[a][o]});return{min:this._min,max:this._max,data:i}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(){if(arguments[0].length>0)for(var i=arguments[0],n=i.length;n--;)this.addData.call(this,i[n]);else{var s=this._organiseData(arguments[0],!0);s&&this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[s]})}return this},setData:function(i){var n=i.data,s=n.length;this._data=[],this._radi=[];for(var a=0;a<s;a++)this._organiseData(n[a],!1);return this._max=i.max,this._min=i.min||0,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},removeData:function(){},setDataMax:function(i){return this._max=i,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setDataMin:function(i){return this._min=i,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setCoordinator:function(i){this._coordinator=i},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}},e})(),D6e=(function(){var e=function(s){var a=s.gradient||s.defaultGradient,o=document.createElement("canvas"),l=o.getContext("2d");o.width=256,o.height=1;var h=l.createLinearGradient(0,0,256,1);for(var c in a)h.addColorStop(c,a[c]);return l.fillStyle=h,l.fillRect(0,0,256,1),l.getImageData(0,0,256,1).data},t=function(s,a){var o=document.createElement("canvas"),l=o.getContext("2d"),h=s,c=s;if(o.width=o.height=s*2,a==1)l.beginPath(),l.arc(h,c,s,0,2*Math.PI,!1),l.fillStyle="rgba(0,0,0,1)",l.fill();else{var u=l.createRadialGradient(h,c,s*a,h,c,s);u.addColorStop(0,"rgba(0,0,0,1)"),u.addColorStop(1,"rgba(0,0,0,0)"),l.fillStyle=u,l.fillRect(0,0,2*s,2*s)}return o},i=function(c){for(var a=[],o=c.min,l=c.max,h=c.radi,c=c.data,u=Object.keys(c),f=u.length;f--;)for(var d=u[f],g=Object.keys(c[d]),A=g.length;A--;){var m=g[A],p=c[d][m],C=h[d][m];a.push({x:d,y:m,value:p,radius:C})}return{min:o,max:l,data:a}};function n(s){var a=s.container,o=this.shadowCanvas=document.createElement("canvas"),l=this.canvas=s.canvas||document.createElement("canvas");this._renderBoundaries=[1e4,1e4,0,0];var h=getComputedStyle(s.container)||{};l.className="heatmap-canvas",this._width=l.width=o.width=s.width||+h.width.replace(/px/,""),this._height=l.height=o.height=s.height||+h.height.replace(/px/,""),this.shadowCtx=o.getContext("2d"),this.ctx=l.getContext("2d"),l.style.cssText=o.style.cssText="position:absolute;left:0;top:0;",a.style.position="relative",a.appendChild(l),this._palette=e(s),this._templates={},this._setStyles(s)}return n.prototype={renderPartial:function(s){s.data.length>0&&(this._drawAlpha(s),this._colorize())},renderAll:function(s){this._clear(),this._drawAlpha(i(s)),this._colorize()},_updateGradient:function(s){this._palette=e(s)},updateConfig:function(s){s.gradient&&this._updateGradient(s),this._setStyles(s)},setDimensions:function(s,a){this._width=s,this._height=a,this.canvas.width=this.shadowCanvas.width=s,this.canvas.height=this.shadowCanvas.height=a},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height),this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(s){this._blur=s.blur==0?0:s.blur||s.defaultBlur,s.backgroundColor&&(this.canvas.style.backgroundColor=s.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=s.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=s.height||this._height,this._opacity=(s.opacity||0)*255,this._maxOpacity=(s.maxOpacity||s.defaultMaxOpacity)*255,this._minOpacity=(s.minOpacity||s.defaultMinOpacity)*255,this._useGradientOpacity=!!s.useGradientOpacity},_drawAlpha:function(l){for(var a=this._min=l.min,o=this._max=l.max,l=l.data||[],h=l.length,c=1-this._blur;h--;){var u=l[h],f=u.x,d=u.y,g=u.radius,A=Math.min(u.value,o),m=f-g,p=d-g,C=this.shadowCtx,E;this._templates[g]?E=this._templates[g]:this._templates[g]=E=t(g,c);var x=(A-a)/(o-a);C.globalAlpha=x<.01?.01:x,C.drawImage(E,m,p),m<this._renderBoundaries[0]&&(this._renderBoundaries[0]=m),p<this._renderBoundaries[1]&&(this._renderBoundaries[1]=p),m+2*g>this._renderBoundaries[2]&&(this._renderBoundaries[2]=m+2*g),p+2*g>this._renderBoundaries[3]&&(this._renderBoundaries[3]=p+2*g)}},_colorize:function(){var s=this._renderBoundaries[0],a=this._renderBoundaries[1],o=this._renderBoundaries[2]-s,l=this._renderBoundaries[3]-a,h=this._width,c=this._height,u=this._opacity,f=this._maxOpacity,d=this._minOpacity,g=this._useGradientOpacity;s<0&&(s=0),a<0&&(a=0),s+o>h&&(o=h-s),a+l>c&&(l=c-a),o===0&&(o=30),l===0&&(l=30);for(var A=this.shadowCtx.getImageData(s,a,o,l),m=A.data,p=m.length,C=this._palette,E=3;E<p;E+=4){var x=m[E],w=x*4;if(w){var T;u>0?T=u:x<f?x<d?T=d:T=x:T=f,m[E-3]=C[w],m[E-2]=C[w+1],m[E-1]=C[w+2],m[E]=g?C[w+3]:T}}this.ctx.putImageData(A,s,a),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(s){var a,o=this.shadowCtx,l=o.getImageData(s.x,s.y,1,1),h=l.data[3],c=this._max,u=this._min;return a=Math.abs(c-u)*(h/255)>>0,a},getDataURL:function(){return this.canvas.toDataURL()}},n})(),L6e=(function(){var e=!1;return o0.defaultRenderer==="canvas2d"&&(e=D6e),e})(),_te={merge:function(){for(var r={},e=arguments.length,t=0;t<e;t++){var i=arguments[t];for(var n in i)r[n]=i[n]}return r}},R6e=(function(){var e=(function(){function s(){this.cStore={}}return s.prototype={on:function(a,o,l){var h=this.cStore;h[a]||(h[a]=[]),h[a].push(function(c){return o.call(l,c)})},emit:function(a,o){var l=this.cStore;if(l[a])for(var h=l[a].length,c=0;c<h;c++){var u=l[a][c];u(o)}}},s})(),t=function(n){var s=n._renderer,a=n._coordinator,o=n._store;a.on("renderpartial",s.renderPartial,s),a.on("renderall",s.renderAll,s),a.on("extremachange",function(l){n._config.onExtremaChange&&n._config.onExtremaChange({min:l.min,max:l.max,gradient:n._config.gradient||n._config.defaultGradient})}),o.setCoordinator(a)};function i(){var n=this._config=_te.merge(o0,arguments[0]||{});if(this._coordinator=new e,n.plugin){var s=n.plugin;if(o0.plugins[s]){var a=o0.plugins[s];this._renderer=new a.renderer(n),this._store=new a.store(n)}else throw new Error("Plugin '"+s+"' not found. Maybe it was not registered.")}else this._renderer=new L6e(n),this._store=new P6e(n);t(this)}return i.prototype={addData:function(){return this._store.addData.apply(this._store,arguments),this},removeData:function(){return this._store.removeData&&this._store.removeData.apply(this._store,arguments),this},setData:function(){return this._store.setData.apply(this._store,arguments),this},setDataMax:function(){return this._store.setDataMax.apply(this._store,arguments),this},setDataMin:function(){return this._store.setDataMin.apply(this._store,arguments),this},configure:function(n){return this._config=_te.merge(this._config,n),this._renderer.updateConfig(this._config),this._coordinator.emit("renderall",this._store._getInternalData()),this},repaint:function(){return this._coordinator.emit("renderall",this._store._getInternalData()),this},getData:function(){return this._store.getData()},getDataURL:function(){return this._renderer.getDataURL()},getValueAt:function(n){return this._store.getValueAt?this._store.getValueAt(n):this._renderer.getValueAt?this._renderer.getValueAt(n):null}},i})(),O6e={create:function(r){return new R6e(r)},register:function(r,e){o0.plugins[r]=e}};var yte={exports:{}};(function(r){function e(t){if(!(this instanceof e))return new e(t);this._canvas=t=typeof t=="string"?document.getElementById(t):t,this._ctx=t.getContext("2d"),this._width=t.width,this._height=t.height,this._max=1,this._data=[]}yte.exports=e,e.prototype={defaultRadius:25,defaultGradient:{.4:"blue",.6:"cyan",.7:"lime",.8:"yellow",1:"red"},data:function(t){return this._data=t,this},max:function(t){return this._max=t,this},add:function(t){return this._data.push(t),this},clear:function(){return this._data=[],this},radius:function(t,i){i=i===void 0?15:i;var n=this._circle=this._createCanvas(),s=n.getContext("2d"),a=this._r=t+i;return n.width=n.height=2*a,s.shadowOffsetX=s.shadowOffsetY=2*a,s.shadowBlur=i,s.shadowColor="black",s.beginPath(),s.arc(-a,-a,t,0,2*Math.PI,!0),s.closePath(),s.fill(),this},resize:function(){this._width=this._canvas.width,this._height=this._canvas.height},gradient:function(t){var i=this._createCanvas(),n=i.getContext("2d"),s=n.createLinearGradient(0,0,0,256);for(var a in i.width=1,i.height=256,t)s.addColorStop(+a,t[a]);return n.fillStyle=s,n.fillRect(0,0,1,256),this._grad=n.getImageData(0,0,1,256).data,this},draw:function(t){this._circle||this.radius(this.defaultRadius),this._grad||this.gradient(this.defaultGradient);var i=this._ctx;i.clearRect(0,0,this._width,this._height);for(var n,s=0,a=this._data.length;s<a;s++)n=this._data[s],i.globalAlpha=Math.max(n[2]/this._max,t===void 0?.05:t),i.drawImage(this._circle,n[0]-this._r,n[1]-this._r);var o=i.getImageData(0,0,this._width,this._height);return this._colorize(o.data,this._grad),i.putImageData(o,0,0),this},_colorize:function(t,i){for(var n,s=0,a=t.length;s<a;s+=4)(n=4*t[s+3])&&(t[s]=i[n],t[s+1]=i[n+1],t[s+2]=i[n+2])},_createCanvas:function(){return typeof document<"u"?document.createElement("canvas"):new this._canvas.constructor}}})();var k6e=yte.exports;const vte={max:1,gradient:{.4:"blue",.6:"cyan",.7:"lime",.8:"yellow",1:"red"},radius:25,blur:15,heatValueScale:1,minOpacity:.05};class l0 extends Ca{constructor(e,t,i){Array.isArray(t)||(i=t,t=null),super(e,i),this._heats=t||[]}getData(){return this._heats}setData(e){return this._heats=e||[],this.redraw()}addPoint(e){return e?(e[0]&&Array.isArray(e[0])?mn.pushIn(this._heats,e):this._heats.push(e),this.redraw()):this}onConfig(e){for(const t in e)if(vte[t])return this.redraw();return this}redraw(){const e=this._getRenderer();return e&&(e.clearHeatCache(),e.setToRedraw()),this}isEmpty(){return!this._heats.length}clear(){return this._heats=[],this.redraw(),this.fire("clear"),this}toJSON(e){e||(e={});const t={type:this.getJSONType(),id:this.getId(),options:this.config()},i=this.getData();if(e.clipExtent){let n=new er(e.clipExtent);const s=this._getHeatRadius();s&&(n=n._expand(s));const a=[];for(let o=0,l=i.length;o<l;o++)n.contains(new Ct(i[o][0],i[o][1]))&&a.push(i[o]);t.data=a}else t.data=i;return t}static fromJSON(e){return e&&e.type==="HeatLayer"?new l0(e.id,e.data,e.options):null}_getHeatRadius(){return this._getRenderer()?this._getRenderer()._heatRadius:null}}l0.mergeOptions(vte),l0.registerJSONType("HeatLayer"),l0.registerRenderer("canvas",class extends ko.CanvasRenderer{draw(){const r=this.getMap(),e=this.layer,t=r.getContainerExtent();let i=this.prepareCanvas(),n=t;if(i){if(i=i.convertTo((o=>r._pointToContainerPoint(o))),!i.intersects(t))return void this.completeRender();n=t.intersection(i)}this._heater||(this._heater=k6e(this.canvas)),this._heater.radius(e.options.radius||this._heater.defaultRadius,e.options.blur),e.options.gradient&&this._heater.gradient(e.options.gradient),this._heater.max(e.options.max),this._heatViews||(this._heatViews=[]);const s=e.getData();if(s.length===0)return void this.completeRender();const a=this._heatData(s,n);this._heater.data(a).draw(e.options.minOpacity),this.completeRender()}drawOnInteracting(){this.draw()}_heatData(r,e){const t=this.getMap(),i=this.layer,n=t.getProjection(),s=[],a=this._heater._r,o=i.options.max===void 0?1:i.options.max,l=a/2,h=[],c=t.offsetPlatform(),u=c.x%l,f=c.y%l;let d,g,A,m,p,C;e=e.expand(a).convertTo((E=>new ut(t._containerPointToPrj(E)))),this._heatRadius=a;for(let E=0,x=r.length;E<x;E++)d=r[E],this._heatViews[E]||(this._heatViews[E]=n.project(new Ct(d[0],d[1]))),g=this._heatViews[E],e.contains(g)&&(g=t._prjToContainerPoint(g),m=Math.floor((g.x-u)/l)+2,p=Math.floor((g.y-f)/l)+2,C=(d[2]!==void 0?+d[2]:.1)*i.options.heatValueScale,h[p]=h[p]||[],A=h[p][m],A?(A[0]=(A[0]*A[2]+g.x*C)/(A[2]+C),A[1]=(A[1]*A[2]+g.y*C)/(A[2]+C),A[2]+=C):h[p][m]=[g.x,g.y,C]);for(let E=0,x=h.length;E<x;E++)if(h[E])for(let w=0,T=h[E].length;w<T;w++)A=h[E][w],A&&s.push([Math.round(A[0]),Math.round(A[1]),Math.min(A[2],o)]);return s}onZoomEnd(){delete this._heatViews,super.onZoomEnd.apply(this,arguments)}onResize(){super.onResize.apply(this,arguments),this.canvas&&(this._heater._width=this.canvas.width,this._heater._height=this.canvas.height)}onRemove(){this.clearHeatCache(),delete this._heater}clearHeatCache(){delete this._heatViews}}),typeof console<"u"&&console.log("maptalks.heatmap v0.6.2");class Cte{containerID_=void 0;dataClass_=void 0;data_=void 0;bounds_=void 0;heatMapInstance_=void 0;heatMapPrimitive_=void 0;heatMapEntity_=void 0;rectangle_=void 0;url_;vectorSource_=void 0;imageMaterialProperty_=void 0;colorLegendBGDiv=void 0;colorLegendDiv=void 0;colorLegendMaxDiv=void 0;colorLegendMinDiv=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{new Promise(t=>{this.data_=le.cloneDeep(e),t(this.data_)}).then(()=>{this.reDraw()})};reDraw=()=>{let e=this.data_.ID+"-&-ZYWL-&-HeatMap",t=this.data_?.visible??!0;this.createColorLegend();let i=this.data_?.coordinates??[],n=this.data_?.heatDataOptions?.min??1,s=this.data_?.heatDataOptions?.max??10,a=this.data_?.gradient??{".2":"#00FFFF",".4":"#63EB68",".6":"#E2DB1D",".8":"#FF0000"},o=B.getMapEngineInstance(this.containerID_);if(o&&this.containerID_.includes("-cesium")&&new Promise(l=>{let h=i.map(u=>({x:u.longitude,y:u.latitude,value:u.value}));if(h.length){const{container:u,width:f,height:d}=this.createContainer(o);this.bounds_=this.getBounds(h,f/d);let g=[];for(let A in h){const m=h[A],p=(m.x-this.bounds_[0])/(this.bounds_[2]-this.bounds_[0])*f,C=(this.bounds_[3]-m.y)/(this.bounds_[3]-this.bounds_[1])*d,E={x:p,y:C,value:m.value,radius:this.getRadius()};g.push(E)}var c={container:u,radius:this.getRadius(),maxOpacity:1,minOpacity:.1,blur:.85,gradient:a};l({nuConfig:c,datas:g})}}).then(l=>{this.heatMapInstance_||(this.heatMapInstance_=O6e.create(l.nuConfig)),this.heatMapInstance_.setData({max:s,min:n,data:l.datas}),this.createEntity()}),o&&this.containerID_.includes("-openlayers")){let l=B.getMapEngineInstance(this.containerID_),h=B.getOLLayerByID(l,this.dataClass_);new Promise(c=>{let u=[];for(let A in a)a.hasOwnProperty(A)&&u.push([(A*100).toString(),a[A]]);a=le.cloneDeep(u);let f=i.map(A=>{let m=new qc({geometry:new hl(gT([A.longitude,A.latitude]))});return m.setProperties({number:A.value??0},!0),m}),d=1/a.length*100,g=[];for(let A=0;A<a.length;A++)g.push(d*(A+1));a=a.map(A=>A[1]),c({features:f,bisections:g,gradient:a})}).then(c=>{this.vectorSource_||(this.vectorSource_=new WT),this.vectorSource_.clear(),this.vectorSource_.addFeatures(c.features),this.heatMapInstance_?this.heatMapInstance_.setVisible(t):(this.heatMapInstance_=new DFe({source:this.vectorSource_,visible:t,zIndex:2,radius:25,blur:20,properties:{id:e},gradient:c.gradient,weight:function(u){let d=u.getProperties().number,g=0;for(let p=0,C=c.bisections.length;p<C;p++){let E=c.bisections[p];if(d<=E){g=p;break}}let A=0;for(let p=0,C=c.gradient.length;p<C;p++){let E=c.gradient[p][0];if(d<=E){A=p;break}}console.log(g===0?`0~${c.bisections[g]}`:`${c.bisections[g-1]}~${c.bisections[g]}`),console.log(A===0?`0~${c.gradient[A][0]}`:`${c.gradient[A-1][0]}~${c.gradient[A][0]}`);let m=0;return g===A?m=d:m=c.bisections[g-1],m>100?1:m/100}}),h.push(this.heatMapInstance_))})}o&&this.containerID_.includes("-maptalks")&&new Promise(l=>{let h=i.map(c=>[c.longitude,c.latitude,c.value]);h.length&&l({points2D:h})}).then(l=>{this.heatMapInstance_?(this.heatMapInstance_.config("max",s),this.heatMapInstance_.config("gradient",a),this.heatMapInstance_.setData(l.points2D),t?this.heatMapInstance_.show():this.heatMapInstance_.hide()):(this.heatMapInstance_=new l0(e,l.points2D,{visible:t,hitDetect:!1,max:s,radius:30,blur:25,minOpacity:0,gradient:a}),o.addLayer(this.heatMapInstance_)),this.heatMapInstance_.redraw()})};createColorLegend=()=>{let e=this.data_?.colorLegend;if(e){let t=Object.values(this.data_.gradient);t.reverse();let i=this.data_?.heatDataOptions?.min??1,n=this.data_?.heatDataOptions?.max??10,s=e?.show??!1,a=B.getMapEngineInstance(this.containerID_),o;a&&this.containerID_.includes("-cesium")?o=a.container:a&&this.containerID_.includes("-openlayers")?o=a.getTargetElement():a&&this.containerID_.includes("-maptalks")&&(o=a.getContainer()),this.colorLegendBGDiv||(this.colorLegendBGDiv=document.createElement("div"),this.colorLegendBGDiv.style.position="absolute",o.appendChild(this.colorLegendBGDiv)),this.colorLegendMaxDiv||(this.colorLegendMaxDiv=document.createElement("div"),this.colorLegendMaxDiv.style.position="absolute",this.colorLegendBGDiv.appendChild(this.colorLegendMaxDiv)),this.colorLegendMinDiv||(this.colorLegendMinDiv=document.createElement("div"),this.colorLegendMinDiv.style.position="absolute",this.colorLegendBGDiv.appendChild(this.colorLegendMinDiv)),this.colorLegendDiv||(this.colorLegendDiv=document.createElement("div"),this.colorLegendDiv.style.position="absolute",this.colorLegendBGDiv.appendChild(this.colorLegendDiv));let l=e?.width??20,h=e?.height??150,c=e?.left??10,u=e?.bottom??10;this.colorLegendBGDiv&&(this.colorLegendBGDiv.style.left=`${c}px`,this.colorLegendBGDiv.style.bottom=`${40+u}px`,this.colorLegendBGDiv.style.width=`${l}px`,this.colorLegendBGDiv.style.height=`${h}px`),this.colorLegendMaxDiv&&(this.colorLegendMaxDiv.style.left="0px",this.colorLegendMaxDiv.style.top="0px",this.colorLegendMaxDiv.style.width=`${l}px`,this.colorLegendMaxDiv.style.height="12px",this.colorLegendMaxDiv.textContent=`${n}`,this.colorLegendMaxDiv.style.fontSize="8px",this.colorLegendMaxDiv.style.alignContent="center",this.colorLegendMaxDiv.style.textAlign="center"),this.colorLegendMinDiv&&(this.colorLegendMinDiv.style.left="0px",this.colorLegendMinDiv.style.bottom="0px",this.colorLegendMinDiv.style.width=`${l}px`,this.colorLegendMinDiv.style.height="12px",this.colorLegendMinDiv.textContent=`${i}`,this.colorLegendMinDiv.style.fontSize="8px",this.colorLegendMinDiv.style.alignContent="center",this.colorLegendMinDiv.style.textAlign="center"),this.colorLegendDiv&&(this.colorLegendDiv.style.left="0px",this.colorLegendDiv.style.top="12px",this.colorLegendDiv.style.width=`${l}px`,this.colorLegendDiv.style.height=`${h-24}px`,this.colorLegendDiv.style.backgroundImage=`linear-gradient(${t.join(",")})`),s?(this.colorLegendBGDiv.style.display="block",this.colorLegendMaxDiv.style.display="block",this.colorLegendMinDiv.style.display="block",this.colorLegendDiv.style.display="block"):(this.colorLegendBGDiv.style.display="none",this.colorLegendMaxDiv.style.display="none",this.colorLegendMinDiv.style.display="none",this.colorLegendDiv.style.display="none")}else this.clearColorLegend()};getBounds=(e,t)=>{if(e&&e.length){let i=80,n=i/t,s=ki([e[0].x,e[0].y]),a=rs(s,n,0,{units:"kilometers"}),o=rs(s,i,90,{units:"kilometers"}),l=rs(s,n,180,{units:"kilometers"}),h=rs(s,i,-90,{units:"kilometers"}),c=a.geometry.coordinates,u=o.geometry.coordinates,f=l.geometry.coordinates,g=h.geometry.coordinates[0],A=f[1],m=u[0],p=c[1];return[g,A,m,p]}return[73.502355,3.39716187,135.09567,53.563269]};createContainer=e=>{const t=document.getElementById(this.containerID_.split("-cesium")[0]);let i=this.data_.ID+"-&-ZYWL-&-HeatMapHTML",n=document.getElementById(i);n||(n=document.createElement("div"),n.id=i,t.appendChild(n));let s=e.scene.canvas.width,a=e.scene.canvas.height;return n.setAttribute("style",`width:${s}px;height:${a}px;display:none;`),{container:n,width:s,height:a}};updateRadius=()=>{if(this.containerID_.includes("-cesium")&&this.heatMapInstance_){let e=this.heatMapInstance_.getData();for(let t in e.data){const i=e.data[t];i.radius=this.getRadius()}this.heatMapInstance_.setData(e),this.createEntity()}};getRadius=()=>{let e=this.containerID_.split("-cesium")[0],t=B.getZoom(e),i;switch(t){case 25:case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:case 15:i=1;break;case 14:i=3;break;case 13:i=6;break;case 12:i=15;break;case 11:i=20;break;case 10:i=30;break;case 9:i=40;break;default:i=80;break}return i};createEntity=()=>{let e=this.data_.ID+"-&-ZYWL-&-HeatMap",t=this.data_?.visible??!0,i=B.getMapEngineInstance(this.containerID_);this.heatMapInstance_&&(this.url_=this.heatMapInstance_.getDataURL(),this.imageMaterialProperty_||(this.imageMaterialProperty_=new Cesium.ImageMaterialProperty({image:new Cesium.CallbackProperty(()=>this.url_,!0)})),this.rectangle_=Cesium.Rectangle.fromDegrees(...this.bounds_),this.heatMapEntity_?this.heatMapEntity_.show=t:this.heatMapEntity_=i.entities.add({id:e,show:t,rectangle:{coordinates:new Cesium.CallbackProperty(()=>this.rectangle_,!0),material:this.imageMaterialProperty_}}))};clear=()=>{let e=B.getMapEngineInstance(this.containerID_);if(this.heatMapInstance_&&e)if(this.containerID_.includes("-cesium"))this.heatMapInstance_.removeData(),this.heatMapPrimitive_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.add(this.heatMapPrimitive_),this.heatMapEntity_&&e&&e?.entities&&e.entities.remove(this.heatMapEntity_),this.heatMapPrimitive_=void 0,this.heatMapEntity_=void 0;else if(this.containerID_.includes("-openlayers")){if(this.heatMapInstance_){let t=B.getMapEngineInstance(this.containerID_);B.getOLLayerByID(t,this.dataClass_).pop(this.heatMapInstance_)}}else this.containerID_.includes("-maptalks")&&this.heatMapInstance_.remove();this.vectorSource_=void 0,this.heatMapInstance_=void 0,this.clearColorLegend()};clearColorLegend=()=>{let e=B.getMapEngineInstance(this.containerID_),t;e&&this.containerID_.includes("-cesium")?t=e.container:e&&this.containerID_.includes("-openlayers")?t=e.getTargetElement():e&&this.containerID_.includes("-maptalks")&&(t=e.getContainer()),t&&this.colorLegendBGDiv&&t.removeChild(this.colorLegendBGDiv),this.colorLegendMaxDiv&&this.colorLegendBGDiv.removeChild(this.colorLegendMaxDiv),this.colorLegendMinDiv&&this.colorLegendBGDiv.removeChild(this.colorLegendMinDiv),this.colorLegendDiv&&this.colorLegendBGDiv.removeChild(this.colorLegendDiv),this.colorLegendBGDiv=void 0,this.colorLegendMaxDiv=void 0,this.colorLegendMinDiv=void 0,this.colorLegendDiv=void 0}}class Q6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;LineStringGeometryInstance_=void 0;radiusPolylineInstance_=void 0;pointInstance_=void 0;radiusPointInstance_=void 0;radiusLabelInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;radiusCenter_=void 0;radius_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;defaultHeight_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw(),this.reDrawPoints(),this.reDrawRadiusPoint()};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=(e,t)=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;let i=this.data_?.coordinates??[],n=le.cloneDeep(e.coordinate);if(n){n={longitude:n.x,latitude:n.y,altitude:0},this.defaultHeight_&&(n.altitude=this.defaultHeight_);let s=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_){if(t&&t.length){i.length-2;let a=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircleRadius-Point";if(t.find(l=>l?.layer==="ZYWLGIS-GL-Point"||l?.layer==="ZYWLGIS-GL-LineString"||l?.layer==="ZYWLGIS-GL-Polygon"?l.geometry.getId()===a:l.getId()===a)){this.isStartDraw_=!1,this.reDraw(),this.emitGraphChanged("complete"),s.off("mousemove",this.mousemove);return}}}else if(i.length)this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited();else{i.push(le.cloneDeep(n)),this.center_=[i[0].longitude,i[0].latitude],this.radiusCenter_=[le.cloneDeep(n).longitude,le.cloneDeep(n).latitude];let a=ki(this.center_),o=ki(this.radiusCenter_);this.radius_=jn(a,o,{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.isStartDraw_=!0,s.on("mousemove",this.mousemove)}}this.reDraw(),this.reDrawPoints(),this.reDrawRadiusPoint(),this.emitGraphChanged("update")};mousemove=e=>{if(!this.isStartDraw_)return;this.radiusCenter_[0]=e.coordinate.x,this.radiusCenter_[1]=e.coordinate.y;let t=ki(this.center_),i=ki(this.radiusCenter_);this.radius_=jn(t,i,{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw(),this.reDrawRadiusPoint()};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircle",n=this.data_?.zIndex??0,s=e[0];if(this.center_=[s.longitude,s.latitude],this.radius_||(this.radius_=this.data_?.symbol?.radius),this.radiusCenter_){if(this.radiusCenter_&&this.center_){let c=ki(this.center_),u=ki(this.radiusCenter_);this.radius_=jn(c,u,{units:"meters"})}}else if(this.radius_){let c=ki(this.center_),u=rs(c,this.radius_,90,{units:"meters"});this.radiusCenter_=u.geometry.coordinates}let a=this.data_?.symbol?.polygonColor??"#f00",o=this.data_?.symbol?.lineWidth??10,l={linePatternFile:this.data_?.symbol?.appearance??B.getCustomNoFlyZoneIcon(),lineWidth:o,polygonFill:a,polygonOpacity:.3},h=new po(this.center_,this.radius_,{id:i,symbol:l});if(window.isGPUSupport){let c=B.getPolygonLayer(this.containerID_),u=h.toGeoJSON().geometry.coordinates[0],f=new or(u,{id:i,symbol:l});t({PolygonLayer:c,radius:this.radius_,position:this.center_,positions:u,symbol:l,zIndex:n,PolygonGeometry:f})}else{let c=B.getVectorLayer(this.containerID_);t({PolygonLayer:c,radius:this.radius_,position:this.center_,symbol:l,zIndex:n,PolygonGeometry:h})}}).then(t=>{this.geometryInstance_?(this.geometryInstance_.updateSymbol(t.symbol),window.isGPUSupport?this.geometryInstance_.setCoordinates(t.positions):(this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.setRadius(t.radius))):(this.geometryInstance_=t.PolygonGeometry.addTo(t.PolygonLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("contextmenu",this.geometryContextmenu)),this.geometryInstance_&&(this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide()),this.reDrawRadiusPolyline(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};geometryContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw(),this.reDrawPoints(),this.reDrawRadiusPoint()})};reDrawRadiusPolyline=()=>{if(this.visible_&&this.isEditable_&&this.center_&&this.radiusCenter_){let e=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircleRadiusPolyline",t=[this.center_,this.radiusCenter_],i,n;window.isGPUSupport?(i=B.getLineStringLayer(this.containerID_),n=B.getPointLayer(this.containerID_)):(i=B.getVectorLayer(this.containerID_),n=B.getVectorLayer(this.containerID_)),this.radiusPolylineInstance_?(this.radiusPolylineInstance_.setCoordinates(t),this.radiusPolylineInstance_.updateSymbol({lineColor:this.data_?.symbol?.lineColor??"#f00",lineWidth:2})):this.radiusPolylineInstance_=new Sr(t,{id:e,symbol:{lineColor:this.data_?.symbol?.lineColor??"#f00",lineWidth:2}}).addTo(i);let s=ki(this.center_),a=ki(this.radiusCenter_),o=Mh(s,a),h=jn(s,a,{units:"meters"}),c;h>1e3?(h=h/1e3,h=Number(h.toFixed(2)),c=`${h}km`):(h=Number(h.toFixed(2)),c=`${h}m`);let u=this.data_.ID+"-&-ZYWL-&-CustomRadiusLabel",f={textDx:0,textDy:-20,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:c};this.radiusLabelInstance_?(this.radiusLabelInstance_.setCoordinates(o.geometry.coordinates),this.radiusLabelInstance_.updateSymbol(f)):this.radiusLabelInstance_=new Fn(o.geometry.coordinates,{id:u,symbol:{textDx:0,textDy:-20,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:c},draggable:!1,dragShadow:!1,editable:!1}).addTo(n)}else this.clearRadiusPolyline()};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&this.isEditable_&&this.center_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCenter-Point",i={markerType:"ellipse",markerFill:"#fff",markerWidth:15,markerHeight:15,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0};this.pointInstance_=new Fn(this.center_,{id:t,symbol:i,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:10}).addTo(e),this.pointInstance_.on("dragging",this.pointDragging),this.pointInstance_.on("dragend",this.pointDragend),this.pointInstance_.on("contextmenu",this.pointContextmenu)}};pointDragging=e=>{this.center_=[e.coordinate.x,e.coordinate.y];let t=ki(this.center_),i=rs(t,this.radius_,90,{units:"meters"});this.radiusCenter_=i.geometry.coordinates;let n=this.data_.coordinates;n[0].longitude=this.center_[0],n[0].latitude=this.center_[1],n[0].altitude=0,this.defaultHeight_&&(n[0].altitude=this.defaultHeight_),this.reDraw(),this.reDrawRadiusPoint()};pointDragend=e=>{this.emitGraphChanged("update")};pointContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.center_=void 0,this.radiusCenter_=void 0,this.radius_=void 0,this.emitGraphRemoved(),this.reDraw()})};reDrawRadiusPoint=()=>{if(this.clearRadiusPoint(),this.visible_&&this.isEditable_&&this.radiusCenter_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircleRadius-Point",i={markerType:"ellipse",markerFill:"#fff",markerWidth:15,markerHeight:15,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0};this.radiusPointInstance_=new Fn(this.radiusCenter_,{id:t,symbol:i,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:10}).addTo(e),this.radiusPointInstance_.on("dragging",this.radiusPointDragging),this.radiusPointInstance_.on("dragend",this.pointDragend),this.radiusPointInstance_.on("contextmenu",this.pointContextmenu)}};radiusPointDragging=e=>{this.radiusCenter_=[e.coordinate.x,e.coordinate.y];let t=ki(this.center_),i=ki(this.radiusCenter_);this.radius_=jn(t,i,{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw()};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearRadiusPolyline(),this.clearPoints(),this.clearRadiusPoint(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML(),this.center_=void 0,this.radiusCenter_=void 0,this.radius_=void 0};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("contextmenu",this.geometryContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearRadiusPolyline=()=>{this.radiusPolylineInstance_&&(this.radiusPolylineInstance_.remove(),this.radiusPolylineInstance_=void 0),this.radiusLabelInstance_&&(this.radiusLabelInstance_.remove(),this.radiusLabelInstance_=void 0)};clearPoints=()=>{this.pointInstance_&&(this.pointInstance_.off("dragging",this.pointDragging),this.pointInstance_.off("dragend",this.pointDragend),this.pointInstance_.off("contextmenu",this.pointContextmenu),this.pointInstance_.remove(),this.pointInstance_=void 0)};clearRadiusPoint=()=>{this.radiusPointInstance_&&(this.radiusPointInstance_.off("dragging",this.radiusPointDragging),this.radiusPointInstance_.off("dragend",this.pointDragend),this.radiusPointInstance_.off("contextmenu",this.pointContextmenu),this.radiusPointInstance_.remove(),this.radiusPointInstance_=void 0)};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(!this.isEditable_){if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let t=0;t<this.customHTMLInstances_.length;t++)this.customHTMLInstances_[t].presentationMode===2&&this.customHTMLInstances_[t].infoWindow.show();this.isHighlight_&&this.geometryInstance_&&this.geometryInstance_.updateSymbol({linePatternFile:this.data_?.symbol?.highlightAppearance??B.getCustomNoFlyZoneIcon(!0)})}};mouseout=e=>{if(!this.isEditable_){if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let t=0;t<this.customHTMLInstances_.length;t++)this.customHTMLInstances_[t].presentationMode===2&&this.customHTMLInstances_[t].infoWindow.hide();this.isHighlight_&&this.geometryInstance_&&this.geometryInstance_.updateSymbol({linePatternFile:this.data_?.symbol?.appearance??B.getCustomNoFlyZoneIcon()})}}}class F6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryPolylineInstance_=void 0;pointInstances_=[];centerPointInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isCopy_=!1;isStartDraw_=!1;heightMode_=0;defaultHeight_=void 0;nodeMode_="billboard";startCoordinate_=void 0;isDistanceVisible_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw(),this.reDrawPoints()};emitGraphClick=()=>{this.isEditable_&&!window.EditElement||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphNodeClick=e=>{B.emitGraphNodeClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_,index:e}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=(e,t)=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;let i=this.data_?.coordinates??[],n=le.cloneDeep(e.coordinate);if(n){n={longitude:n.x,latitude:n.y,altitude:0},this.defaultHeight_&&(n.altitude=this.defaultHeight_);let s=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_){if(t&&t.length){let a=i.length-2,o=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon-Point-"+a;if(t.find(h=>h?.layer==="ZYWLGIS-GL-Point"||h?.layer==="ZYWLGIS-GL-LineString"||h?.layer==="ZYWLGIS-GL-Polygon"?h.geometry.getId()===o:h.getId()===o)){this.isStartDraw_=!1,i.splice(i.length-1,1),this.reDraw(),this.reDrawPoints(),this.emitGraphChanged("complete"),s.off("mousemove",this.mousemove);return}}i.push(le.cloneDeep(n))}else if(!i.length)i.push(le.cloneDeep(n)),i.push(le.cloneDeep(n)),this.isStartDraw_=!0,s.on("mousemove",this.mousemove);else if(t&&t.length){let a=!1;for(let o=0;o<t.length;o++){let l=t[o];(l?.layer==="ZYWLGIS-GL-Point"||l?.layer==="ZYWLGIS-GL-LineString"||l?.layer==="ZYWLGIS-GL-Polygon")&&(l=l.geometry);let h=l.getId();if(h.includes("-&-ZYWL-&-CustomGraphicEditingPolygon-CenterPoint-")){a=!0;let c=B.extractionIndex(h),u=l.getCoordinates();if(u){let f={longitude:u.x,latitude:u.y,altitude:0};this.defaultHeight_&&(f.altitude=this.defaultHeight_),i.splice(c+1,0,f),setTimeout(()=>{this.reDrawCustomHTML()},0),this.emitGraphChanged("update"),this.reDraw(),this.reDrawPoints();break}}}a||(this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited());return}else this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited()}this.reDraw(),this.reDrawPoints(),this.emitGraphChanged("update")};mousemove=e=>{if(!this.isStartDraw_)return;let t=this.data_?.coordinates;t[t.length-1].longitude=e.coordinate.x,t[t.length-1].latitude=e.coordinate.y,this.defaultHeight_?t[t.length-1].altitude=this.defaultHeight_:t[t.length-1].altitude=e.coordinate.z,this.reDraw()};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isDelete_=this.data_?.isDelete??!1,this.isCopy_=this.data_?.isCopy??!1,this.heightMode_=this.data_?.heightMode??1,this.defaultHeight_=this.data_?.defaultHeight??1,this.nodeMode_=this.data_?.nodeMode??"billboard",new Promise(e=>{let t=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon",i=this.data_?.coordinates;if(Array.isArray(i)&&i.length){let n=this.data_?.zIndex??0,s=i.map(u=>[u.longitude,u.latitude]),a=this.data_?.symbol?.polygonColor??"#f00",o=this.data_?.symbol?.lineWidth??10,l={linePatternFile:this.data_?.symbol?.appearance??B.getCustomNoFlyZoneIcon(),lineWidth:o,polygonFill:a,polygonOpacity:.3},h=new or(s,{id:t,symbol:l}),c;window.isGPUSupport?c=B.getPolygonLayer(this.containerID_):c=B.getVectorLayer(this.containerID_),e({positions:s,symbol:l,zIndex:n,coordinates:i,PolygonLayer:c,PolygonGeometry:h})}else e({coordinates:void 0})}).then(e=>{if(Array.isArray(e.coordinates)&&e.coordinates.length){let t=bh(e.positions),i=Pf(t);this.center_=i.geometry.coordinates,this.geometryInstance_||(this.geometryInstance_=e.PolygonGeometry.addTo(e.PolygonLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("contextmenu",this.geometryContextmenu)),this.geometryInstance_.setCoordinates(e.positions),this.geometryInstance_.updateSymbol(e.symbol),this.geometryInstance_.setZIndex(e.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide()}else this.clearGeometry();this.reDrawCenterPoints(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};geometryContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw(),this.reDrawPoints()})};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&this.isEditable_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_?.coordinates,i=this.data_?.zIndex??0;if(Array.isArray(t))for(let n=0;n<t.length;n++){let s=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon-Point-"+n,a=t[n],o=a?.symbol;o||(o=this.data_?.symbol);let l;if(this.nodeMode_==="point"){if(this.isStartDraw_&&n===t.length-1)break;let u=20,f="#fff";o&&(u=o?.pixelSize??20,f=o?.pointColor??"#fff"),l={markerType:"ellipse",markerFill:f,markerWidth:u,markerHeight:u,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0}}else{let u=B.getDrawPointIcon(!1),f=15,d=15,g=0,A=0;if(o&&(u=o?.image??B.getDrawPointIcon(!1),f=o?.markerWidth??15,d=o?.markerHeight??15,g=o?.markerDx??0,A=o?.markerDy??0),this.isStartDraw_){if(n===t.length-1)break;t.length>2&&n===t.length-2&&(u=B.getDrawPointIcon(!0))}l={markerFile:u,markerWidth:f,markerHeight:d,markerDx:g,markerDy:A,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle"}}let h=[a.longitude,a.latitude],c=new Fn(h,{id:s,symbol:l,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:i+1}).addTo(e);c.on("dragging",this.pointDragging),c.on("dragend",this.pointDragend),c.on("click",this.pointClick),c.on("contextmenu",this.pointContextmenu),this.pointInstances_.push({ID:s,index:n,point:c})}}};pointDragging=e=>{let i=e.target.getId(),n=B.extractionIndex(i),s=this.data_.coordinates;s[n].longitude=e.coordinate.x,s[n].latitude=e.coordinate.y,s[n].altitude=0,this.defaultHeight_&&(s[n].altitude=this.defaultHeight_),this.reDraw()};pointDragend=e=>{let i=e.target.getId(),n=B.extractionIndex(i);this.emitGraphChanged("update",n)};pointClick=e=>{if(this.isStartDraw_)return;let i=e.target.getId(),n=B.extractionIndex(i);this.emitGraphNodeClick(n)};pointContextmenu=e=>{if(this.data_.coordinates.length<=3)return;let t=e.target,i=t.getId(),n=B.extractionIndex(i),s=this.containerID_.split("-maptalks")[0];B.getMenu(s,e.containerPoint,"删除端点",this.isDelete_,()=>{B.removeMenu(s),this.data_.coordinates.splice(n,1),this.pointInstances_.splice(n,1),t.remove(),this.emitGraphChanged("delete",n),this.reDraw()},this.isCopy_,()=>{B.removeMenu(s),this.emitGraphChanged("copy",n)},!1)};reDrawCenterPoints=()=>{if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_?.coordinates;if(t?.length!==this.centerPointInstances_?.length&&this.clearCenterPoints(),t&&t.length>=2)for(let i=0;i<t.length;i++){let n=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon-CenterPoint-"+i,s,a;i===t.length-1?(s=t[i],a=t[0]):(s=t[i],a=t[i+1]);let o=ki([s.longitude,s.latitude]),l=ki([a.longitude,a.latitude]),h=Mh(o,l),u=jn(o,l,{units:"meters"}),f;u>1e3?(u=u/1e3,u=Number(u.toFixed(2)),f=`${u}km`):(u=Number(u.toFixed(2)),f=`${u}m`);let d;!this.isStartDraw_&&this.isEditable_?d={markerType:"ellipse",markerFill:"#fff",markerWidth:12,markerHeight:12,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:1,markerLineColor:"#000",textDx:0,textDy:-24,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:f}:d={textDx:0,textDy:0,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:f};let g=this.centerPointInstances_.find(A=>A.ID===n);if(g)g.point.setCoordinates(h.geometry.coordinates),g.point.updateSymbol(d);else{let A=new Fn(h.geometry.coordinates,{id:n,symbol:d,draggable:!1,dragShadow:!1,editable:!1}).addTo(e);this.centerPointInstances_.push({ID:n,index:i,point:A})}}}else this.clearCenterPoints()};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates?.length!==this.customLabelInstances_?.length&&this.clearCustomLabel();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+e,n=this.customLabelInstances_.find(s=>s.getId()===i);n?(n.setCoordinates([t.longitude,t.latitude]),n.setContent(t?.customLabel?.content??"")):(n=B.reDrawLabel(this.containerID_,i,t,[t.longitude,t.latitude]),n&&this.customLabelInstances_.push(n))}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates.length!==this.customHTMLInstances_?.length&&this.clearCustomHTML();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,n=this.customHTMLInstances_.find(s=>s.marker.getId()===i);if(!n)n=B.reDrawHTML(this.containerID_,i,t,[t.longitude,t.latitude]),n&&(n.presentationMode===0||n.presentationMode===2?n.infoWindow.hide():n.infoWindow.show(),this.customHTMLInstances_.push(n));else{let a=t?.customHTML?.presentationMode??0;n.marker.setCoordinates([t.longitude,t.latitude]),a===0||a===2?n.infoWindow.hide():n.infoWindow.show()}}}else this.clearCustomHTML()};clear=()=>{B.recoverCursor(this.containerID_,"custom-cursor"),this.clearGeometry(),this.clearPolyline(),this.clearPoints(),this.clearCenterPoints(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("contextmenu",this.geometryContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearPolyline=()=>{this.geometryPolylineInstance_&&this.geometryPolylineInstance_.clear(),this.geometryPolylineInstance_=void 0};clearPoints=()=>{for(let e=0;e<this.pointInstances_.length;e++){let t=this.pointInstances_[e];t.point.off("dragging",this.pointDragging),t.point.off("dragend",this.pointDragend),t.point.off("click",this.pointClick),t.point.off("contextmenu",this.pointContextmenu),t.point.remove()}this.pointInstances_=[]};clearCenterPoints=()=>{for(let e=0;e<this.centerPointInstances_.length;e++)this.centerPointInstances_[e].point.remove();this.centerPointInstances_=[]};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(!this.isEditable_){if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let t=0;t<this.customHTMLInstances_.length;t++)this.customHTMLInstances_[t].presentationMode===2&&this.customHTMLInstances_[t].infoWindow.show();this.isHighlight_&&this.geometryInstance_&&this.geometryInstance_.updateSymbol({linePatternFile:this.data_?.symbol?.highlightAppearance??B.getCustomNoFlyZoneIcon(!0)})}};mouseout=e=>{if(!this.isEditable_){if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let t=0;t<this.customHTMLInstances_.length;t++)this.customHTMLInstances_[t].presentationMode===2&&this.customHTMLInstances_[t].infoWindow.hide();this.isHighlight_&&this.geometryInstance_&&this.geometryInstance_.updateSymbol({linePatternFile:this.data_?.symbol?.appearance??B.getCustomNoFlyZoneIcon()})}}}class N6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;visible_=!0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};reDraw=()=>{let e=this.data_.ID;this.visible_=this.data_?.visible??!0;let t=B.getMapEngineInstance(this.containerID_),i=this.data_?.coordinates;if(t&&i&&i.length){let n=B.getImageLayer(this.containerID_),s=B.computationBoundaryCoordinate(i),a=n.getImages(),o=a.findIndex(l=>l.id===e+"-&-ZYWL-&-PhotoPresentation");if(o===-1){let l=this.data_.url,h={id:e+"-&-ZYWL-&-PhotoPresentation",url:l,extent:new er(...s),opacity:1};a.push(h),n.setImages(a)}else{let l=a[o];this.visible_?l.opacity=1:l.opacity=0,n.setImages(a)}}};clear=()=>{let e=B.getImageLayer(this.containerID_);if(e){let t=this.data_.ID,i=e.getImages(),n=i.findIndex(s=>s.id===t+"-&-ZYWL-&-PhotoPresentation");n!==-1&&(i.splice(n,1),e.setImages(i))}}}class H6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;displayGeometryInstance_=void 0;displayGeometryOutlineInstance_=void 0;options_=void 0;outlineOptions_=void 0;highlightOutlinePrimitive_=void 0;radiusPolylineInstance_=void 0;radiusLabelInstance_=void 0;pointInstance_=void 0;radiusPointInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;radiusCenter_=void 0;radius_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;defaultHeight_=void 0;polylineAppearance=void 0;polylineHighlightAppearance=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMoveStartDraw=e=>{if(this.isStartDraw_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(t,e.endPosition,this.classificationType_).then(n=>{this.handleMoveStartDrawPosition(n)});return}let i=B.getClampToGroundPosition(t,e.endPosition,this.isClampToGround_,this.radiusCenter_,void 0,void 0,!1);this.handleMoveStartDrawPosition(i)}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||this.isStartDraw_)&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(i,e.endPosition,this.classificationType_).then(s=>{this.handleMovePosition(s,t)});return}let n=B.getClampToGroundPosition(i,e.endPosition,this.isClampToGround_,this.data_.coordinates[0],void 0,void 0,!1);this.handleMovePosition(n,t)}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=t.scene.pick(e.position),s=le.cloneDeep(i.coordinate);if(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(s.altitude+=this.defaultHeight_),this.isStartDraw_){if(n&&typeof n.id=="string"){let a=n.id;if(n.primitive instanceof Cesium.PointPrimitive&&a.includes("-&-ZYWL-&-CustomGraphicEditingCircleRadius-Point")){this.isStartDraw_=!1,this.screenSpaceHandler_&&(this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0),this.reDraw(),this.emitGraphChanged("complete");return}}}else if(this.data_.coordinates.length){this.isEditable_=!1,this.emitGraphEdited();return}else{this.data_.coordinates.push(le.cloneDeep(s)),this.center_=B.transformCartesian3(this.data_.coordinates[0]),this.radiusCenter_=B.transformCartesian3(this.data_.coordinates[0]);let a=B.transformCoordinate(this.center_),o=B.transformCoordinate(this.radiusCenter_);this.radius_=jn(ki([a.longitude,a.latitude]),ki([o.longitude,o.latitude]),{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(this.mouseMoveStartDraw,Cesium.ScreenSpaceEventType.MOUSE_MOVE)}this.reDraw(),this.emitGraphChanged("update")}};handleMoveStartDrawPosition=e=>{e&&e.coordinate&&(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(e.coordinate.altitude+=this.defaultHeight_),this.radiusCenter_=B.transformCartesian3(e.coordinate),this.radius_=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw())};handleMovePosition=(e,t)=>{if(e&&e.coordinate){if(t===0)this.data_.coordinates[0].longitude=e.coordinate.longitude,this.data_.coordinates[0].latitude=e.coordinate.latitude,this.data_.coordinates[0].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[0].altitude+=this.defaultHeight_),this.center_=e.cartesian3,this.radiusCenter_=B.offsetHeadingPitch2Position(this.center_,90,0,this.radius_).cartesian3;else if(t===1){this.radiusCenter_=e.cartesian3;let i=B.transformCoordinate(this.center_),n=B.transformCoordinate(this.radiusCenter_);this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(i.altitude+=this.defaultHeight_,n.altitude+=this.defaultHeight_),this.radius_=jn(ki([i.longitude,i.latitude]),ki([n.longitude,n.latitude]),{units:"meters"})}this.reDraw()}};mouseRightClick=e=>{this.isDelete_&&(this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw())};async reDraw(){if(this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.radius_||(this.radius_=this.data_?.symbol?.radius??.01);const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_&&!this.isClampTo3DTILE_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.center_=i,!this.radiusCenter_&&this.radius_&&(this.radiusCenter_=B.offsetHeadingPitch2Position(this.center_,90,0,this.radius_).cartesian3),this.isEditable_&&this.clearGeometry(),this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polygon",isClampToGround:this.isClampToGround_||this.isClampTo3DTILE_},this.outlineOptions_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:this.isClampToGround_||this.isClampTo3DTILE_},this.createPrimitive(e,t),this.reDrawRadiusPolyline(),this.reDrawRadiusLabel(),this.reDrawCenterPoint(),this.reDrawRadiusPoint(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=(e,t)=>{const i=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircle",n=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircleOutline",s=t?.altitude??100,a=this.data_?.symbol?.lineWidth??8;let o=Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#f00"),.3);const l=B.getCircleOutlinePositions(this.center_,this.radius_,s),h=this.data_?.symbol?.appearance??B.getCustomNoFlyZoneIcon(),c=this.data_?.symbol?.appearanceDash??10;this.polylineAppearance?(this.polylineAppearance.material.uniforms.image=h,this.polylineAppearance.material.uniforms.dashLength=c):this.polylineAppearance=B.getCustomAppearance(h,c);const u=this.data_?.symbol?.highlightAppearance??B.getCustomNoFlyZoneIcon(!0),f=this.data_?.symbol?.highlightAppearanceDash?this.data_?.symbol?.highlightAppearanceDash:c||10;if(this.polylineHighlightAppearance?(this.polylineHighlightAppearance.material.uniforms.image=u,this.polylineHighlightAppearance.material.uniforms.dashLength=f):this.polylineHighlightAppearance=B.getCustomAppearance(u,f),l.length)if(this.isEditable_){this.clearDisplayGeometry();const p=e.scene.primitives,C=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:o}}})});var A,m;const E=new Cesium.GeometryInstance({id:i,geometry:new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(l),perPositionHeight:!0})});if(this.isClampToGround_||this.isClampTo3DTILE_?A=new Cesium.GroundPrimitive({geometryInstances:E,appearance:C,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):A=new Cesium.Primitive({geometryInstances:E,appearance:C,show:this.visible_,asynchronous:!1}),this.isClampToGround_||this.isClampTo3DTILE_){const x=new Cesium.GeometryInstance({id:n,geometry:new Cesium.GroundPolylineGeometry({positions:l,width:a})});m=new Cesium.GroundPolylinePrimitive({geometryInstances:x,appearance:this.polylineAppearance,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN})}else{const x=new Cesium.GeometryInstance({id:n,geometry:new Cesium.PolylineGeometry({positions:l,width:a})});m=new Cesium.Primitive({geometryInstances:x,appearance:this.polylineAppearance,show:this.visible_,asynchronous:!1})}this.geometryInstance_&&p.remove(this.geometryInstance_),A&&(this.geometryInstance_=p.add(A)),this.geometryOutlineInstance_&&p.remove(this.geometryOutlineInstance_),m&&(this.geometryOutlineInstance_=p.add(m))}else{this.clearGeometry(),o=Cesium.ColorGeometryInstanceAttribute.fromColor(o);const p=new Cesium.ShowGeometryInstanceAttribute(this.visible_),C=B.getGeometryInstances(this.options_);var d;if(this.isClampToGround_||this.isClampTo3DTILE_?d=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(l),perPositionHeight:!1}):d=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(l),perPositionHeight:!0}),!this.displayGeometryInstance_)this.displayGeometryInstance_=new Cesium.GeometryInstance({id:i,geometry:d,attributes:{color:o,show:p}}),C.push(this.displayGeometryInstance_);else{this.displayGeometryInstance_.geometry=d,this.displayGeometryInstance_.attributes.color=o,this.displayGeometryInstance_.attributes.show=p;const x=C.findIndex(w=>w.id===this.displayGeometryInstance_.id);x!==-1&&(C[x]=this.displayGeometryInstance_)}const E=B.getGeometryInstances(this.outlineOptions_);var g;if(this.isClampToGround_?g=new Cesium.GroundPolylineGeometry({positions:l,width:a}):g=new Cesium.PolylineGeometry({positions:l,width:a}),!this.displayGeometryOutlineInstance_)this.displayGeometryOutlineInstance_=new Cesium.GeometryInstance({id:n,geometry:g,attributes:{show:p}}),E.push(this.displayGeometryOutlineInstance_);else{this.displayGeometryOutlineInstance_.geometry=g,this.displayGeometryOutlineInstance_.attributes.show=p;const x=E.findIndex(w=>w.id===this.displayGeometryOutlineInstance_.id);x!==-1&&(E[x]=this.displayGeometryOutlineInstance_)}this.updatePrimitive(C,E)}};reDrawRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);if(e){this.clearRadiusPolyline();let t=this.data_?.coordinates;if(this.center_&&this.radiusCenter_&&this.isEditable_&&t&&t.length){let i=this.data_.ID;if(!this.radiusPolylineInstance_){let n;this.isClampToGround_||this.isClampTo3DTILE_?n=new Cesium.GroundPolylineGeometry({positions:[this.center_,this.radiusCenter_],width:2}):n=new Cesium.PolylineGeometry({positions:[this.center_,this.radiusCenter_],width:2,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND});let s=new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-CustomGraphicEditingCircleRadiusPolyline",geometry:n}),a;this.isClampToGround_||this.isClampTo3DTILE_?(a=new Cesium.GroundPolylinePrimitive({geometryInstances:s,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#f00")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}),this.radiusPolylineInstance_=e.scene.groundPrimitives.add(a)):(a=new Cesium.Primitive({geometryInstances:s,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#f00")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1}),this.radiusPolylineInstance_=e.scene.primitives.add(a))}}}};reDrawRadiusLabel=()=>{this.clearRadiusLabel();const e=this.data_.ID+"-&-ZYWL-&-RadiusLabel",t=this.data_?.coordinates;if(this.center_&&this.radiusCenter_&&this.isEditable_&&t&&t.length){let i=Cesium.Cartesian3.midpoint(this.center_,this.radiusCenter_,new Cesium.Cartesian3),n=B.transformCoordinate(this.center_),s=B.transformCoordinate(this.radiusCenter_),a=jn(ki([n.longitude,n.latitude]),ki([s.longitude,s.latitude]),{units:"meters"});this.radius_&&(a=le.cloneDeep(this.radius_));let o;a>1e3?(a=a/1e3,a=Number(a.toFixed(2)),o=`${a}km`):(a=Number(a.toFixed(2)),o=`${a}m`),this.radiusLabelInstance_=new xn(this.containerID_),this.radiusLabelInstance_.DataProcessing({ID:e,center:i,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${o}</div>`,dx:0,dy:0,presentationMode:a<1?0:1}})}};reDrawCenterPoint=()=>{this.clearCenterPoint();let e=this.data_?.coordinates;if(this.center_&&this.isEditable_&&e&&e.length){let t=B.getPointPrimitiveCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircleCenter-Point";this.pointInstance_||(this.pointInstance_=t.add(new Cesium.PointPrimitive({position:this.center_,id:i,show:this.visible_,color:Cesium.Color.WHITE,pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})))}};reDrawRadiusPoint=()=>{this.clearRadiusPoint();let e=this.data_?.coordinates;if(this.radiusCenter_&&this.isEditable_&&e&&e.length){let t=B.getPointPrimitiveCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircleRadius-Point";this.radiusPointInstance_||(this.radiusPointInstance_=t.add(new Cesium.PointPrimitive({position:this.radiusCenter_,id:i,show:this.visible_,color:Cesium.Color.WHITE,pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})))}};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let e=B.getLabelCollection(this.containerID_),i=this.data_.coordinates[0]?.customLabel;if(i){let n=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",s=i?.show??!1,a=i?.content??"",o=i?.showBackground??!1,l=i?.dx??0,h=i?.dy??0,c=this.customLabelInstances_.find(u=>u.ID===n);if(c)c.primitive.position=this.center_,c.primitive.show=s,c.primitive.text=a,c.primitive.showBackground=o,c.primitive.pixelOffset=new Cesium.Cartesian2(l,h),c.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let u=e.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:n,index:0,primitive:u})}}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=this.data_.coordinates[0]?.customHTML;if(t){let i=new xn(this.containerID_);i.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:t}),this.customHTMLInstances_.push(i)}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||this.isEditable_||(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearDisplayGeometry(),this.clearRadiusPolyline(),this.clearRadiusLabel(),this.clearCenterPoint(),this.clearRadiusPoint(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{const e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearDisplayGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.displayGeometryInstance_){const o=e.findIndex(l=>l.id===this.displayGeometryInstance_.id);o!==-1&&(e.splice(o,1),t=!0)}var i;this.outlineOptions_&&(i=B.getGeometryInstances(this.outlineOptions_));var n=!1;if(this.displayGeometryOutlineInstance_){const o=i.findIndex(l=>l.id===this.displayGeometryOutlineInstance_.id);o!==-1&&(i.splice(o,1),n=!0)}t&&n&&this.updatePrimitive(e,i),this.displayGeometryInstance_=void 0,this.displayGeometryOutlineInstance_=void 0;const a=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightOutlinePrimitive_&&a.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0};clearRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);this.radiusPolylineInstance_&&e&&e?.scene&&e?.scene?.primitives&&(this.isClampToGround_||this.isClampTo3DTILE_?e.scene.groundPrimitives.remove(this.radiusPolylineInstance_):e.scene.primitives.remove(this.radiusPolylineInstance_)),this.radiusPolylineInstance_=void 0};clearRadiusLabel=()=>{this.radiusLabelInstance_&&this.radiusLabelInstance_.clear(),this.radiusLabelInstance_=void 0};clearCenterPoint=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.pointInstance_&&e&&e.remove(this.pointInstance_),this.pointInstance_=void 0};clearRadiusPoint=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.radiusPointInstance_&&e&&e.remove(this.radiusPointInstance_),this.radiusPointInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=(e,t)=>{const n=B.getMapEngineInstance(this.containerID_).scene.primitives;var s;this.options_&&(s=B.getGeometryPrimitive(this.options_)),s&&(n.remove(s),B.removeGeometryPrimitive(this.options_));var a;this.outlineOptions_&&(a=B.getGeometryPrimitive(this.outlineOptions_)),a&&(n.remove(a),B.removeGeometryPrimitive(this.outlineOptions_)),e?.length&&this.options_&&(this.isClampToGround_||this.isClampTo3DTILE_?s=new Cesium.GroundPrimitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):s=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(s),this.options_.primitive=s,B.addGeometryPrimitive(this.options_)),t?.length&&this.outlineOptions_&&(this.isClampToGround_||this.isClampTo3DTILE_?a=new Cesium.GroundPolylinePrimitive({geometryInstances:t,appearance:this.polylineAppearance?this.polylineAppearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):a=new Cesium.Primitive({geometryInstances:t,appearance:this.polylineAppearance?this.polylineAppearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(a),this.outlineOptions_.primitive=a,B.addGeometryPrimitive(this.outlineOptions_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightOutlinePrimitive_&&i.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0,e&&(this.isClampToGround_||this.isClampTo3DTILE_?this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.GroundPolylinePrimitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:this.polylineHighlightAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}))):this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:this.polylineHighlightAppearance,asynchronous:!1,releaseGeometryInstances:!1}))))}}class G6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;displayGeometryInstance_=void 0;displayGeometryOutlineInstance_=void 0;options_=void 0;outlineOptions_=void 0;highlightOutlinePrimitive_=void 0;primitiveInstances_=[];pointInstances_=[];distanceLabelInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;defaultHeight_=void 0;nodeMode_="billboard";positions_=[];isDistanceVisible_=!1;polylineAppearance=void 0;polylineHighlightAppearance=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMoveStartDraw=e=>{if(this.isStartDraw_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.endPosition,this.classificationType_).then(i=>{this.handleMoveStartDrawPosition(i)})}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||this.isStartDraw_)&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(i,e.endPosition,this.classificationType_).then(n=>{this.handleMovePosition(n,t)});return}B.getClampToGroundPositionCallBack(i,e.endPosition,this.isClampToGround_,this.data_.coordinates[t],void 0,void 0,n=>{this.handleMovePosition(n,t)})}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=t.scene.pick(e.position),s=this.data_?.coordinates??[],a=le.cloneDeep(i.coordinate);if(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(a.altitude+=this.defaultHeight_),this.isStartDraw_){if(n&&(console.log(n),typeof n.id=="string")){let o=n.id;if((n.primitive instanceof Cesium.Billboard||n.primitive instanceof Cesium.PointPrimitive)&&o.includes("-&-ZYWL-&-CustomGraphicEditingPolygon-Point-")&&Number(o.split("-&-ZYWL-&-CustomGraphicEditingPolygon-Point-")[1])===s.length-2){s.length>3&&(this.isStartDraw_=!1,s.splice(s.length-1,1),this.screenSpaceHandler_&&(this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0),this.reDraw(),this.emitGraphChanged("complete"));return}}s.push(le.cloneDeep(a))}else if(!s.length)s.push(le.cloneDeep(a)),s.push(le.cloneDeep(a)),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(this.mouseMoveStartDraw,Cesium.ScreenSpaceEventType.MOUSE_MOVE);else if(n&&typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&n.id.includes("-&-ZYWL-&-CustomGraphicEditingPolygon-CenterPoint-")){let o=B.extractionIndex(n.id),l=n.primitive.position;l&&(s.splice(o+1,0,B.transformCoordinate(l)),setTimeout(()=>{this.reDrawCustomHTML()},0))}else{this.isEditable_=!1,this.emitGraphEdited();return}this.reDraw(),this.emitGraphChanged("update")}};handleMoveStartDrawPosition=e=>{e&&e.coordinate&&(this.data_.coordinates[this.data_.coordinates.length-1].longitude=e.coordinate.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=e.coordinate.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[this.data_.coordinates.length-1].altitude+=this.defaultHeight_),this.reDraw())};handleMovePosition=(e,t)=>{e&&e.coordinate&&(this.data_.coordinates[t].longitude=e.coordinate.longitude,this.data_.coordinates[t].latitude=e.coordinate.latitude,this.data_.coordinates[t].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[t].altitude+=this.defaultHeight_),this.reDraw())};mouseRightClick=e=>{this.isDelete_&&(e!==void 0?(this.data_.coordinates.splice(e,1),this.emitGraphChanged("delete",e)):(this.data_.coordinates=[],this.emitGraphRemoved()),this.clearDistanceLabels(),this.reDraw())};async reDraw(){if(this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,this.nodeMode_=this.data_?.nodeMode??"billboard",!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}const e=B.getMapEngineInstance(this.containerID_);if(this.positions_=[],this.isClampToGround_&&!this.isClampTo3DTILE_){const t=await B.getTerrainHeights(e,this.data_.coordinates);this.positions_=le.cloneDeep(t.positions)}else for(const t of this.data_.coordinates)this.positions_.push(B.transformCartesian3(t));this.positions_.length>1?this.center_=Cesium.Cartesian3.divideByScalar(this.positions_.reduce((t,i)=>Cesium.Cartesian3.add(t,i,new Cesium.Cartesian3)),this.positions_.length,new Cesium.Cartesian3):this.positions_.length===1&&(this.center_=this.positions_[0]),this.isEditable_&&this.clearGeometry(),this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polygon",isClampToGround:le.cloneDeep(this.isClampToGround_)?le.cloneDeep(this.isClampToGround_):le.cloneDeep(this.isClampTo3DTILE_)},this.outlineOptions_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:le.cloneDeep(this.isClampToGround_)?le.cloneDeep(this.isClampToGround_):le.cloneDeep(this.isClampTo3DTILE_)},this.positions_.length>1&&this.createPrimitive(e,this.positions_),this.reDrawPoints(),this.reDrawCenterPoints(this.positions_),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=(e,t)=>{const i=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon",n=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygonOutline",s=this.data_?.symbol?.lineWidth??8;let a=Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#f00"),.3);const o=le.cloneDeep(t);o.push(o[0]);const l=this.data_?.symbol?.appearance??B.getCustomNoFlyZoneIcon(),h=this.data_?.symbol?.appearanceDash??10;this.polylineAppearance?(this.polylineAppearance.material.uniforms.image=l,this.polylineAppearance.material.uniforms.dashLength=h):this.polylineAppearance=B.getCustomAppearance(l,h);const c=this.data_?.symbol?.highlightAppearance??B.getCustomNoFlyZoneIcon(!0),u=this.data_?.symbol?.highlightAppearanceDash?this.data_?.symbol?.highlightAppearanceDash:h||10;this.polylineHighlightAppearance?(this.polylineHighlightAppearance.material.uniforms.image=c,this.polylineHighlightAppearance.material.uniforms.dashLength=u):this.polylineHighlightAppearance=B.getCustomAppearance(c,u);const f=e.scene.primitives;if(this.isEditable_){this.clearDisplayGeometry();var A,m;if(t.length>2){const p=new Cesium.MaterialAppearance({flat:!0,material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:a}}})}),C=new Cesium.GeometryInstance({id:i,geometry:new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!0})});this.isClampToGround_||this.isClampTo3DTILE_?A=new Cesium.GroundPrimitive({geometryInstances:C,appearance:p,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):A=new Cesium.Primitive({geometryInstances:C,appearance:p,show:this.visible_,asynchronous:!1})}if(this.isClampToGround_||this.isClampTo3DTILE_){const p=new Cesium.GeometryInstance({id:n,geometry:new Cesium.GroundPolylineGeometry({positions:o,width:s})});m=new Cesium.GroundPolylinePrimitive({geometryInstances:p,appearance:this.polylineAppearance,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN})}else{const p=new Cesium.GeometryInstance({id:n,geometry:new Cesium.PolylineGeometry({positions:o,width:s})});m=new Cesium.Primitive({geometryInstances:p,appearance:this.polylineAppearance,show:this.visible_,asynchronous:!1})}this.geometryInstance_&&f.remove(this.geometryInstance_),A&&(this.geometryInstance_=f.add(A)),this.geometryOutlineInstance_&&f.remove(this.geometryOutlineInstance_),m&&(this.geometryOutlineInstance_=f.add(m))}else{this.clearGeometry(),a=Cesium.ColorGeometryInstanceAttribute.fromColor(a);const p=new Cesium.ShowGeometryInstanceAttribute(this.visible_),C=B.getGeometryInstances(this.options_);var d;if(this.isClampToGround_||this.isClampTo3DTILE_?d=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!1}):d=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!0}),!this.displayGeometryInstance_)this.displayGeometryInstance_=new Cesium.GeometryInstance({id:i,geometry:d,attributes:{color:a,show:p}}),C.push(this.displayGeometryInstance_);else{this.displayGeometryInstance_.geometry=d,this.displayGeometryInstance_.attributes.color=a,this.displayGeometryInstance_.attributes.show=p;const x=C.findIndex(w=>w.id===this.displayGeometryInstance_.id);x!==-1&&(C[x]=this.displayGeometryInstance_)}const E=B.getGeometryInstances(this.outlineOptions_);var g;if(this.isClampToGround_||this.isClampTo3DTILE_?g=new Cesium.GroundPolylineGeometry({positions:o,width:s}):g=new Cesium.PolylineGeometry({positions:o,width:s}),!this.displayGeometryOutlineInstance_)this.displayGeometryOutlineInstance_=new Cesium.GeometryInstance({id:n,geometry:g,attributes:{show:p}}),E.push(this.displayGeometryOutlineInstance_);else{this.displayGeometryOutlineInstance_.geometry=g,this.displayGeometryOutlineInstance_.attributes.show=p;const x=E.findIndex(w=>w.id===this.displayGeometryOutlineInstance_.id);x!==-1&&(E[x]=this.displayGeometryOutlineInstance_)}this.updatePrimitive(C,E)}};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&this.isEditable_&&Array.isArray(this.positions_)&&this.positions_.length){let e;if(this.nodeMode_==="point"?e=B.getPointPrimitiveCollection(this.containerID_):e=B.getBillboardCollection(this.containerID_),this.positions_.length===this.data_.coordinates.length)for(let t=0;t<this.positions_.length&&!(this.isStartDraw_&&t===this.data_.coordinates.length-1);t++){let i=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon-Point-"+t,n=this.positions_[t],a=this.data_.coordinates[t]?.symbol;a||(a=this.data_?.symbol);let o;if(this.nodeMode_==="point"){let l=15,h="#fff";a&&(l=a?.pixelSize??15,h=a?.pointColor??"#fff"),h=Cesium.Color.fromCssColorString(h),o=e.add(new Cesium.PointPrimitive({position:n,id:i,show:this.visible_,color:h,pixelSize:l,disableDepthTestDistance:Number.POSITIVE_INFINITY}))}else{let l=B.getDrawPointIcon(!1),h=15,c=15,u=0,f=0;a&&(l=a?.image??B.getDrawPointIcon(!1),h=a?.markerWidth??15,c=a?.markerHeight??15,u=a?.markerDx??0,f=a?.markerDy??0),this.isStartDraw_&&this.data_.coordinates.length>2&&t===this.data_.coordinates.length-2&&(l=a?.imageFinish??B.getDrawPointIcon(!0)),o=e.add(new Cesium.Billboard({position:n,id:i,show:this.visible_,image:l,horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:h,height:c,pixelOffset:new Cesium.Cartesian2(u,f),disableDepthTestDistance:Number.POSITIVE_INFINITY},e))}this.primitiveInstances_.push({ID:i,index:t,primitive:o})}}};async reDrawCenterPoints(e){if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)&&e.length>=3){let t=[],i=[];for(let o=0;o<e.length;o++){let l,h;if(o===e.length-1?(l=e[o],h=e[0]):(l=e[o],h=e[o+1]),l&&h){t.push(Cesium.Cartesian3.midpoint(l,h,new Cesium.Cartesian3));let c=Cesium.Cartesian3.distance(l,h),u;c>1e3?(c=c/1e3,c=Number(c.toFixed(2)),u=`${c}km`):(c=Number(c.toFixed(2)),u=`${c}m`),i.push({content:u,distance:c})}}let n=B.getMapEngineInstance(this.containerID_),s=await B.obtainGroundCartesian3s(n,t,this.classificationType_);this.clearCenterPoints(),this.clearDistanceLabels();let a=B.getPointPrimitiveCollection(this.containerID_);for(const[o,l]of s.entries()){if(!this.isStartDraw_&&this.isEditable_){let d=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon-CenterPoint-"+o,g=a.add(new Cesium.PointPrimitive({position:l,id:d,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.pointInstances_.push({ID:d,index:o,primitive:g})}let h=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon-DistanceLabel-"+o,c=i[o],u=new xn(this.containerID_),f=0;this.visible_&&this.isEditable_&&!this.isStartDraw_&&(f=-20),u.DataProcessing({ID:h,center:l,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${c.content}</div>`,dx:0,dy:f,presentationMode:c.distance<1?0:1}}),this.distanceLabelInstances_.push(u)}}else this.clearCenterPoints(),this.clearDistanceLabels()}reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.positions_)&&this.positions_.length){let e=B.getLabelCollection(this.containerID_);if(this.positions_.length!==this.customLabelInstances_.length&&this.clearCustomLabel(),this.positions_.length===this.data_.coordinates.length)for(let t=0;t<this.positions_.length;t++){let i=this.positions_[t],s=this.data_.coordinates[t]?.customLabel;if(s){let a=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+t,o=s?.show??!1,l=s?.content??"",h=s?.showBackground??!1,c=s?.dx??0,u=s?.dy??0,f=this.customLabelInstances_.find(d=>d.ID===a);if(f)f.primitive.position=i,f.primitive.show=o,f.primitive.text=l,f.primitive.showBackground=h,f.primitive.pixelOffset=new Cesium.Cartesian2(c,u),f.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let d=e.add(new Cesium.Label({position:i,id:a,show:o,text:l,font:"18px sans-serif",showBackground:h,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(c,u),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:a,index:t,primitive:d})}}}else this.clearCustomLabel()}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(this.positions_)&&this.positions_.length&&this.positions_.length===this.data_.coordinates.length)for(let e=0;e<this.positions_.length;e++){let t=this.positions_[e],n=this.data_.coordinates[e]?.customHTML;if(n){let s=new xn(this.containerID_);s.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,center:t,customHTML:n}),this.customHTMLInstances_.push(s)}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||this.isEditable_||(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearDisplayGeometry(),this.clearPoints(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML(),this.positions_=[]};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{const e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearDisplayGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.displayGeometryInstance_){const o=e.findIndex(l=>l.id===this.displayGeometryInstance_.id);o!==-1&&(e.splice(o,1),t=!0)}var i;this.outlineOptions_&&(i=B.getGeometryInstances(this.outlineOptions_));var n=!1;if(this.displayGeometryOutlineInstance_){const o=i.findIndex(l=>l.id===this.displayGeometryOutlineInstance_.id);o!==-1&&(i.splice(o,1),n=!0)}t&&n&&this.updatePrimitive(e,i),this.displayGeometryInstance_=void 0,this.displayGeometryOutlineInstance_=void 0;const a=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightOutlinePrimitive_&&a.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0};clearPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_),t=B.getBillboardCollection(this.containerID_);if(this.primitiveInstances_&&(e||t))for(let i=0;i<this.primitiveInstances_.length;i++){let n=this.primitiveInstances_[i];n.primitive instanceof Cesium.PointPrimitive?e.remove(n.primitive):t.remove(n.primitive)}this.primitiveInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.pointInstances_&&e)for(let t=0;t<this.pointInstances_.length;t++){let i=this.pointInstances_[t];e.remove(i.primitive)}this.pointInstances_=[]};clearDistanceLabels=()=>{for(const e of this.distanceLabelInstances_)e.clear();this.distanceLabelInstances_=[]};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=(e,t)=>{const n=B.getMapEngineInstance(this.containerID_).scene.primitives;var s;this.options_&&(s=B.getGeometryPrimitive(this.options_)),s&&(n.remove(s),B.removeGeometryPrimitive(this.options_));var a;this.outlineOptions_&&(a=B.getGeometryPrimitive(this.outlineOptions_)),a&&(n.remove(a),B.removeGeometryPrimitive(this.outlineOptions_)),e?.length&&this.options_&&(this.isClampToGround_||this.isClampTo3DTILE_?s=new Cesium.GroundPrimitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):s=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(s),this.options_.primitive=s,B.addGeometryPrimitive(this.options_)),t?.length&&this.outlineOptions_&&(this.isClampToGround_||this.isClampTo3DTILE_?a=new Cesium.GroundPolylinePrimitive({geometryInstances:t,appearance:this.polylineAppearance?this.polylineAppearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):a=new Cesium.Primitive({geometryInstances:t,appearance:this.polylineAppearance?this.polylineAppearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(a),this.outlineOptions_.primitive=a,B.addGeometryPrimitive(this.outlineOptions_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightOutlinePrimitive_&&i.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0,e&&(this.isClampToGround_||this.isClampTo3DTILE_?this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.GroundPolylinePrimitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:this.polylineHighlightAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}))):this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:this.polylineHighlightAppearance,asynchronous:!1,releaseGeometryInstances:!1}))))}}class U6e{containerID_=void 0;dataClass_=void 0;data_=void 0;featureID_=void 0;geometryInstance_=void 0;bufferGeometryInstance_=void 0;bufferOutlineGeometryInstance_=void 0;airRouteGeometryInstance_=void 0;billboardInstances_=[];pointInstances_=[];groundPointsInstances_=[];groundVerticalLinesInstances_=[];distanceLabelInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;nodeMode_="billboard";heightMode_=0;defaultHeight_=void 0;coordinateCartesian3s_=[];positions_=[];constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i,n=this.containerID_.split("-cesium")[0],s=B.addTerrainHeight(n,this.data_.coordinates,this.heightMode_);switch(this.data_.coordinates=s,e){case"update":t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e};break;case"delete":i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e,index:t};break;default:i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:"update"};break}B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0;let e=this.containerID_.split("-cesium")[0],t=B.addTerrainHeight(e,this.data_.coordinates,this.heightMode_);this.data_.coordinates=t,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;const t=B.getMapEngineInstance(this.containerID_);let i=B.getCartesian(t.scene,e.position);const n=B.transformCoordinate(i),s=t.scene.pick(e.position);!s||s&&s.id===this.featureID_?(this.data_.coordinates.push(le.cloneDeep(n)),this.isStartDraw_||(this.data_.coordinates.push(le.cloneDeep(n)),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(a=>{if(this.isStartDraw_){let o=B.getGroundPoint(t,a.endPosition);o&&(this.data_.coordinates[this.data_.coordinates.length-1].longitude=o.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=o.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=o.altitude,this.reDraw())}},Cesium.ScreenSpaceEventType.MOUSE_MOVE)),this.reDraw(),this.emitGraphChanged("update")):s&&s.primitive instanceof Cesium.Billboard&&s.id===`${this.data_.ID}-&-ZYWL-&-GeometryEditingBandingPolyline-Point-${this.data_.coordinates.length-2}`&&this.isStartDraw_&&(this.isStartDraw_=!1,this.screenSpaceHandler_&&(this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0),this.data_.coordinates.splice(this.data_.coordinates.length-1,1),this.reDraw(),this.emitGraphChanged("update"))};mouseRightClick=e=>{this.isDelete_&&(this.data_.coordinates=[],this.emitGraphRemoved(),this.clear())};reDraw=()=>{if(this.featureID_=this.data_.ID+"-&-ZYWL-&-GeometryEditingBandingPolyline",this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??100,this.heightMode_=this.data_?.heightMode??1,!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}let e=B.getMapEngineInstance(this.containerID_);new Promise(t=>{let i=[],n=[];for(const c of this.data_.coordinates)i.push(B.transformCartesian3(c)),this.isStartDraw_||n.push([c.longitude,c.latitude]);const s=this.data_?.singleRoute??!1;let a=[],o,l;if(n.length>1){const c=bh(n),u=this.data_?.leftExpansionDistance??100,f=this.data_?.rightExpansionDistance??100,d=this.data_?.expansionDistance??100,g=D4(c,s?d:f,{units:"meters"});o=Bf(g);const A=D4(c,-(s?d:u),{units:"meters"});l=Bf(A),l.reverse()}let h=[];if(o?.length||l?.length){let c=le.cloneDeep(this.data_.coordinates),u=[...o,...l,...c];(this.data_?.reverseArea??!1)&&(c.reverse(),u=[...l,...o,...c]);const d=this.data_?.includingCenterLine??!1;for(const[g,A]of u.entries()){let m=le.cloneDeep(A);switch(Array.isArray(A)&&(m={longitude:A[0],latitude:A[1],altitude:0}),this.heightMode_){case 0:case 1:m.altitude=this.defaultHeight_;break}let p=B.transformCartesian3(m);g<o.length+l.length&&a.push(le.cloneDeep(p)),!(g<o.length+l.length&&(d||s))&&h.push(le.cloneDeep(p))}}t({positions:i,bufferPositions:a,airRoutePositions:h})}).then(t=>{this.createBufferPrimitive(e,t.bufferPositions),this.createPrimitive(e,t.positions),this.reDrawPoints(t.positions),this.createAirRoutePrimitive(e,t.airRoutePositions)})};createPrimitive=(e,t)=>{this.geometryInstance_&&e.scene.groundPrimitives.remove(this.geometryInstance_),this.geometryInstance_=void 0,this.geometryInstance_=new Cesium.GroundPolylinePrimitive({geometryInstances:new Cesium.GeometryInstance({id:this.featureID_,geometry:new Cesium.GroundPolylineGeometry({positions:t,width:6})}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#2f91f8")}}})}),show:this.visible_,asynchronous:!1}),e.scene.groundPrimitives.add(this.geometryInstance_)};createBufferPrimitive=(e,t)=>{this.bufferGeometryInstance_&&e.scene.groundPrimitives.remove(this.bufferGeometryInstance_),this.bufferGeometryInstance_=void 0,this.bufferOutlineGeometryInstance_&&e.scene.groundPrimitives.remove(this.bufferOutlineGeometryInstance_),this.bufferOutlineGeometryInstance_=void 0,t.length&&!this.isStartDraw_&&(this.bufferGeometryInstance_=new Cesium.GroundPrimitive({geometryInstances:new Cesium.GeometryInstance({id:this.data_.ID+"-&-ZYWL-&-GeometryEditingBandingBuffer",geometry:new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t)})}),appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#2f91f8"),.3)}}})}),show:this.visible_,asynchronous:!1}),e.scene.groundPrimitives.add(this.bufferGeometryInstance_),this.bufferOutlineGeometryInstance_=new Cesium.GroundPolylinePrimitive({geometryInstances:new Cesium.GeometryInstance({id:this.data_.ID+"-&-ZYWL-&-GeometryEditingBandingBufferOutline",geometry:new Cesium.GroundPolylineGeometry({positions:[...t,t[0]],width:4})}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#2f91f8")}}})}),show:this.visible_,asynchronous:!1}),e.scene.groundPrimitives.add(this.bufferOutlineGeometryInstance_))};createAirRoutePrimitive=(e,t)=>{this.airRouteGeometryInstance_&&e.scene.primitives.remove(this.airRouteGeometryInstance_),this.airRouteGeometryInstance_=void 0,t.length&&!this.isStartDraw_&&(this.airRouteGeometryInstance_=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:this.data_.ID+"-&-ZYWL-&-GeometryEditingBandingAirRoute",geometry:new Cesium.PolylineGeometry({positions:t,width:4})}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b")}}})}),show:this.visible_,asynchronous:!1}),e.scene.primitives.add(this.airRouteGeometryInstance_))};reDrawPoints=e=>{if(!this.isStartDraw_||!this.isEditable_||!e?.length||!this.visible_){this.clearPoints();return}const t=B.getBillboardCollection(this.containerID_);for(const[i,n]of e.entries()){if(i===e.length-1)return;let s=!1;e.length>2&&i===e.length-2&&(s=!0);let a=this.data_.ID+"-&-ZYWL-&-GeometryEditingBandingPolyline-Point-"+i,o=t.add(new Cesium.Billboard({position:n,id:a,show:this.visible_,image:B.getDrawPointIcon(s),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:15,height:15,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.billboardInstances_.push({ID:a,index:i,primitive:o})}};async reDrawGroundPoints(){let e=this.data_?.isGroundPointVisible??!1,t=this.data_?.isGroundVerticalLineVisible??!1;if(!this.isClampToGround_&&this.visible_&&e&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.groundPositions_=await B.obtainGroundCartesian3s(i,this.data_.coordinates,Cesium.ClassificationType.TERRAIN),this.clearGroundPoints(),this.clearGroundVerticalLines(),this.groundPositions_.length===this.data_.coordinates.length){let n=B.getPointPrimitiveCollection(this.containerID_);for(let s=0;s<this.groundPositions_.length;s++){let a=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolyline-GroundPoint-"+s,o=this.groundPositions_[s];if(this.groundPointsInstances_.push({ID:a,index:s,primitive:n.add(new Cesium.PointPrimitive({position:o,id:a,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:8}))}),t){let l=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolyline-VerticalLine-"+s,h=this.data_.coordinates[s],c=new Cesium.PolylineGeometry({positions:[B.transformCartesian3(h),this.groundPositions_[s]],width:3}),u=new Cesium.GeometryInstance({id:l,geometry:c}),f=new Cesium.Primitive({geometryInstances:u,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString("#fff"),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString("#fff"),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1});this.groundVerticalLinesInstances_.push({ID:a,index:s,primitive:i.scene.primitives.add(f)})}}}}else this.clearGroundPoints(),this.clearGroundVerticalLines()}reDrawCenterPoints=()=>{this.clearCenterPoints();let e=B.getMapEngineInstance(this.containerID_);if(e&&this.visible_&&this.isEditable_&&!this.isStartDraw_){let t=B.getPointPrimitiveCollection(this.containerID_);for(let i=0;i<this.coordinateCartesian3s_.length-1;i++){let n=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolyline-CenterPoint-"+i,s=this.coordinateCartesian3s_[i],a=this.coordinateCartesian3s_[i+1],o=Cesium.Cartesian3.midpoint(s,a,new Cesium.Cartesian3);o=B.getCartesian3FromCartesian3(e,o,this.isClampToGround_);let l=t.add(new Cesium.PointPrimitive({position:o,id:n,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.pointInstances_.push({ID:n,index:i,primitive:l})}}};reDrawDistanceLabels=()=>{this.clearDistanceLabels();let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.coordinates;if(e&&this.visible_&&this.isEditable_&&!this.isStartDraw_&&t&&t.length>=2)for(let i=0;i<this.coordinateCartesian3s_.length-1;i++){let n=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolyline-DistanceLabel-"+i,s=this.coordinateCartesian3s_[i],a=this.coordinateCartesian3s_[i+1],o=Cesium.Cartesian3.midpoint(s,a,new Cesium.Cartesian3);o=B.getCartesian3FromCartesian3(e,o,this.isClampToGround_);let l=Cesium.Cartesian3.distance(s,a),h;l>1e3?(l=l/1e3,l=Number(l.toFixed(2)),h=`${l}km`):(l=Number(l.toFixed(2)),h=`${l}m`);let c=new xn(this.containerID_);c.DataProcessing({ID:n,center:o,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${h}</div>`,dx:0,dy:-15,presentationMode:1}}),this.distanceLabelInstances_.push(c)}};reDrawCenterLabel=()=>{if(B.getMapEngineInstance(this.containerID_)&&this.visible_){let t=B.getLabelCollection(this.containerID_),i=this.data_?.customLabel;if(i&&this.center_){let n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=i?.show??!1,a=i?.content??"",o=i?.showBackground??!1,l=i?.dx??0,h=i?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t))}else this.clearCenterLabel()}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.customHTML;e&&this.visible_&&t&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:t}))};reDrawCustomLabel=()=>{if(B.getMapEngineInstance(this.containerID_)&&this.visible_){if(this.coordinateCartesian3s_.length<1){this.clearCustomLabel();return}this.coordinateCartesian3s_.length!==this.customLabelInstances_.length&&this.clearCustomLabel();let t=B.getLabelCollection(this.containerID_),i=this.data_?.coordinates;for(let n=0;n<this.coordinateCartesian3s_.length;n++){let s=this.coordinateCartesian3s_[n],o=i[n]?.customLabel;if(o){let l=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+n,h=o?.show??!1,c=o?.content??"",u=o?.showBackground??!1,f=o?.dx??0,d=o?.dy??0,g=this.customLabelInstances_.find(A=>A.ID===l);if(g)g.primitive.position=s,g.primitive.show=h,g.primitive.text=c,g.primitive.showBackground=u,g.primitive.pixelOffset=new Cesium.Cartesian2(f,d);else{let A=t.add(new Cesium.Label({position:s,id:l,show:h,text:c,font:"18px sans-serif",showBackground:u,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(f,d),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:l,index:n,primitive:A})}}}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(this.positions_)&&this.positions_.length&&this.positions_.length===this.data_.coordinates.length)for(let e=0;e<this.positions_.length;e++){let i=this.data_.coordinates[e]?.customHTML;if(i){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,center:this.positions_[e],customHTML:i}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{if(!this.isStartDraw_&&(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!!this.isHighlight_&&this.geometryInstance_)){let n;e?n=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#2f91f8"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}):n=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#2f91f8")}}})}),this.geometryInstance_.appearance=n}};clear=()=>{window.EditElement=void 0,B.recoverCursor(this.containerID_,"custom-cursor"),this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearPoints(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML(),this.positions_=[],this.groundPositions_=[]};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.groundPrimitives.remove(this.geometryInstance_),this.geometryInstance_=void 0,this.bufferGeometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.groundPrimitives.remove(this.bufferGeometryInstance_),this.bufferGeometryInstance_=void 0,this.bufferOutlineGeometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.groundPrimitives.remove(this.bufferOutlineGeometryInstance_),this.bufferOutlineGeometryInstance_=void 0,this.airRouteGeometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.airRouteGeometryInstance_),this.airRouteGeometryInstance_=void 0};clearPoints=()=>{let e=B.getBillboardCollection(this.containerID_);if(this.billboardInstances_&&e)for(let t=0;t<this.billboardInstances_.length;t++){let i=this.billboardInstances_[t];e.remove(i.primitive)}this.billboardInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.pointInstances_&&e)for(let t=0;t<this.pointInstances_.length;t++){let i=this.pointInstances_[t];e.remove(i.primitive)}this.pointInstances_=[]};clearDistanceLabels=()=>{if(this.distanceLabelInstances_)for(let e=0;e<this.distanceLabelInstances_.length;e++)this.distanceLabelInstances_[e].clear();this.distanceLabelInstances_=[]};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class z6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;groundPointsInstances_=[];groundVerticalLinesInstances_=[];radiusPolylineInstance_=void 0;radiusLabelInstance_=void 0;pointInstance_=void 0;radiusPointInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;center_=void 0;radiusCenter_=void 0;radius_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;defaultHeight_=void 0;ALTDragPlane_=void 0;ALTDragIndex_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i,n=this.containerID_.split("-cesium")[0],s=B.addTerrainHeight(n,this.data_.coordinates,this.heightMode_);switch(this.data_.coordinates=s,e){case"update":t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e};break;case"delete":i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e,index:t};break;case"copy":i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e,index:t};break;default:i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:"update"};break}B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0;let e=this.containerID_.split("-cesium")[0],t=B.addTerrainHeight(e,this.data_.coordinates,this.heightMode_);this.data_.coordinates=t,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_),i=B.getClampToGroundPosition(t,e.position,this.isClampToGround_),n=t.scene.pick(e.position),s=this.data_?.coordinates??[];if(i&&i.coordinate){let a=le.cloneDeep(i.coordinate);if(this.defaultHeight_&&(a.altitude+=this.defaultHeight_),!this.isStartDraw_)s.length?n||(this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited(),this.clearScreenSpaceHandler()):(s.push(le.cloneDeep(a)),this.center_=B.getCartesian3FromCoordinate(t,s[0],this.isClampToGround_),this.radiusCenter_=B.getCartesian3FromCoordinate(t,le.cloneDeep(a),this.isClampToGround_),this.radius_=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(o=>{if(this.isStartDraw_){let l=B.getClampToGroundPosition(t,o.endPosition,this.isClampToGround_,this.radiusCenter_);l&&l.coordinate&&(this.defaultHeight_&&(l.coordinate.altitude+=this.defaultHeight_),this.radiusCenter_=B.getCartesian3FromCoordinate(t,l.coordinate,this.isClampToGround_),this.radius_=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw())}},Cesium.ScreenSpaceEventType.MOUSE_MOVE));else if(n&&typeof n.id=="string"){let o=n.id;if(n.primitive instanceof Cesium.PointPrimitive&&o.includes("-&-ZYWL-&-GeometryEditingCircleRadius-Point")){this.isStartDraw_=!1,this.clearScreenSpaceHandler(),this.reDraw(),this.emitGraphChanged("update");return}}this.reDraw(),this.emitGraphChanged("update")}};mouseMove=(e,t)=>{if(!this.isEditable_||t===void 0)return;let i=B.getMapEngineInstance(this.containerID_),n=this.data_?.coordinates;if(t===0){let s=B.getClampToGroundPosition(i,e.endPosition,this.isClampToGround_,n[0]);s&&s.coordinate&&(this.data_.coordinates[0].longitude=s.coordinate.longitude,this.data_.coordinates[0].latitude=s.coordinate.latitude,this.data_.coordinates[0].altitude=s.coordinate.altitude,this.center_=B.getCartesian3FromCoordinate(i,this.data_.coordinates[0],this.isClampToGround_),this.radiusCenter_=B.offsetHeadingPitch2Position(this.center_,90,0,this.radius_).cartesian3)}else if(t===1){let s=B.getClampToGroundPosition(i,e.endPosition,this.isClampToGround_,n[0]);if(s&&s.coordinate){let a={longitude:s.coordinate.longitude,latitude:s.coordinate.latitude,altitude:s.coordinate.altitude};this.radiusCenter_=B.getCartesian3FromCoordinate(i,a,this.isClampToGround_),this.radius_=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_)}}this.reDraw()};mouseRightClick=e=>{this.isDelete_&&(this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw())};mouseAltLeftDown=e=>{let i=B.getMapEngineInstance(this.containerID_).scene,n=i.camera,s=i.pick(e.position);if(s){let a=s.primitive;if(a&&a instanceof Cesium.PointPrimitive){let o=s.id;if(typeof o=="string"&&o.includes("-&-ZYWL-&-GeometryEditingCircleCenter-Point")&&(this.ALTDragIndex_=0,!this.ALTDragPlane_)){let l=this.data_?.coordinates;if(l&&l.length){let h=l[this.ALTDragIndex_],c=Cesium.Cartesian3.fromDegrees(h.longitude,h.latitude,h.altitude),u=B.offsetHeadingPitch2Position(c,n.heading,0,50),f=Cesium.Cartesian3.subtract(c,u.cartesian3,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(f,f),this.ALTDragPlane_=Cesium.Plane.fromPointNormal(c,f)}}}}};mouseAltLeftUp=e=>{this.emitGraphChanged("update",this.ALTDragIndex_),this.ALTDragPlane_=void 0,this.ALTDragIndex_=void 0};mouseAltMove=e=>{if(this.ALTDragPlane_){let s=B.getMapEngineInstance(this.containerID_).scene.camera.getPickRay(e.endPosition),a=Cesium.IntersectionTests.rayPlane(s,this.ALTDragPlane_,new Cesium.Cartesian3);if(a){let o=B.transformCartographic(a),l=this.data_?.coordinates;if(l&&l.length){let h=l[this.ALTDragIndex_];h.altitude=o.height,this.reDraw()}}}};addAltAction=()=>{if(!this.screenSpaceHandler_){let e=B.getMapEngineInstance(this.containerID_);this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(e.scene.canvas)}this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT)||this.screenSpaceHandler_.setInputAction(e=>{this.mouseAltLeftDown(e)},Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT)||this.screenSpaceHandler_.setInputAction(e=>{this.mouseAltLeftUp(e)},Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT)||this.screenSpaceHandler_.setInputAction(e=>{this.mouseAltMove(e)},Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT))};reDraw=()=>{let e=this.data_.ID;this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,this.isEditable_&&this.addAltAction();let t=B.getMapEngineInstance(this.containerID_);if(t){this.clearGeometry();let i=this.data_?.coordinates;if(i&&i.length){let n=i[0],s=n?.altitude??100;if(this.center_=B.getCartesian3FromCoordinate(t,n,this.isClampToGround_),this.radius_||(this.radius_=this.data_?.symbol?.radius),!this.radiusCenter_)this.radius_&&(this.radiusCenter_=B.offsetHeadingPitch2Position(this.center_,90,0,this.radius_).cartesian3);else{let a=B.transformCartographic(this.radiusCenter_);this.radiusCenter_=B.getCartesian3FromCoordinate(t,{longitude:Cesium.Math.toDegrees(a.longitude),latitude:Cesium.Math.toDegrees(a.latitude),altitude:s},this.isClampToGround_),this.radiusCenter_&&this.center_&&(this.radius_=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_))}if(!this.geometryInstance_){this.radius_===0&&(this.radius_=.1);let a=new Cesium.CircleGeometry({center:this.center_,radius:this.radius_,height:s}),o=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircle",geometry:a}),l;this.isClampToGround_?Cesium.GroundPrimitive.initializeTerrainHeights().then(()=>{this.geometryInstance_&&t.scene.primitives.remove(this.geometryInstance_),l=new Cesium.GroundPrimitive({geometryInstances:o,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}),this.geometryInstance_=t.scene.primitives.add(l)}):(l=new Cesium.Primitive({geometryInstances:o,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}),this.geometryInstance_=t.scene.primitives.add(l))}if(!this.geometryOutlineInstance_){let a=new Cesium.CircleOutlineGeometry({center:this.center_,radius:this.radius_,height:s,granularity:.003}),o=Cesium.CircleOutlineGeometry.createGeometry(a),l=[];if(o){let d=o.attributes.position.values,g=d.length/3;l=new Array(g);for(let A=0;A<g;A++){let m=A*3,p=Cesium.Cartesian3.fromArray(d,m),C=B.transformCartographic(p);l[A]=Cesium.Cartesian3.fromRadians(C.longitude,C.latitude,C.height)}l.push(l[0])}if(!l.length)return;let h=this.data_?.symbol?.lineWidth??2,c;this.isClampToGround_?c=new Cesium.GroundPolylineGeometry({positions:l,width:h}):c=new Cesium.PolylineGeometry({positions:l,width:h,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND});let u=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleOutline",geometry:c}),f;this.isClampToGround_?Cesium.GroundPolylinePrimitive.initializeTerrainHeights().then(()=>{this.geometryOutlineInstance_&&t.scene.primitives.remove(this.geometryOutlineInstance_),f=new Cesium.GroundPolylinePrimitive({geometryInstances:u,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}),this.geometryOutlineInstance_=t.scene.primitives.add(f)}):(f=new Cesium.Primitive({geometryInstances:u,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}),this.geometryOutlineInstance_=t.scene.primitives.add(f))}}this.reDrawGroundPoints(),this.reDrawGroundVerticalLines(),this.reDrawRadiusPolyline(),this.reDrawRadiusLabel(),this.reDrawCenterPoint(),this.reDrawRadiusPoint(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}};reDrawGroundPoints=()=>{this.clearGroundPoints();let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.isGroundPointVisible??!1;if(e&&this.visible_&&t&&!this.isClampToGround_){let i=B.getPointPrimitiveCollection(this.containerID_),n=this.data_?.coordinates;if(n&&n.length)for(let s=0;s<n.length;s++){let a=this.data_.ID+"-&-ZYWL-&-GeometryEditingCircle-GroundPoint-"+s,o=n[s],l=B.getCartesian3FromCoordinate(e,o,!0),h=6,c=Cesium.Color.fromCssColorString("#fff"),u=i.add(new Cesium.PointPrimitive({position:l,id:a,color:c,pixelSize:h}));this.groundPointsInstances_.push({ID:a,index:s,point:u})}}};reDrawGroundVerticalLines=()=>{this.clearGroundVerticalLines();let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.isGroundVerticalLineVisible??!1;if(e&&this.visible_&&t&&!this.isClampToGround_){let i=this.data_?.coordinates;if(i&&i.length)for(let n=0;n<i.length;n++){let s=this.data_.ID+"-&-ZYWL-&-GeometryEditingCircle-GroundPoint-"+n,a=i[n],o=B.getCartesian3FromCoordinate(e,a,!1),l=B.getCartesian3FromCoordinate(e,a,!0),h=new Cesium.PolylineGeometry({positions:[o,l],width:3});if(this.isStartDraw_&&n===i.length-1)break;let c=new Cesium.GeometryInstance({id:s,geometry:h}),u=new Cesium.Primitive({geometryInstances:c,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString("#fff"),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),releaseGeometryInstances:!1,asynchronous:!1});this.groundVerticalLinesInstances_.push({ID:s,index:n,line:e.scene.primitives.add(u)})}}};reDrawRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);if(e){this.clearRadiusPolyline();let t=this.data_?.coordinates;if(this.center_&&this.radiusCenter_&&this.isEditable_&&t&&t.length){let i=this.data_.ID;if(!this.radiusPolylineInstance_){let n;this.isClampToGround_?n=new Cesium.GroundPolylineGeometry({positions:[this.center_,this.radiusCenter_],width:2}):n=new Cesium.PolylineGeometry({positions:[this.center_,this.radiusCenter_],width:2,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND});let s=new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-GeometryEditingCircleRadiusPolyline",geometry:n}),a;this.isClampToGround_?Cesium.GroundPolylinePrimitive.initializeTerrainHeights().then(()=>{this.radiusPolylineInstance_&&e.scene.primitives.remove(this.radiusPolylineInstance_),a=new Cesium.GroundPolylinePrimitive({geometryInstances:s,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}),this.radiusPolylineInstance_=e.scene.primitives.add(a)}):(a=new Cesium.Primitive({geometryInstances:s,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}),this.radiusPolylineInstance_=e.scene.primitives.add(a))}this.radiusLabelInstance_}}};reDrawRadiusLabel=()=>{let e=this.data_.ID+"-&-ZYWL-&-RadiusLabel",t=this.data_?.coordinates;if(this.center_&&this.radiusCenter_&&this.isEditable_&&t&&t.length){let i=Cesium.Cartesian3.midpoint(this.center_,this.radiusCenter_,new Cesium.Cartesian3),n=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_),s;if(n>1e3?(n=n/1e3,n=Number(n.toFixed(2)),s=`${n}km`):(n=Number(n.toFixed(2)),s=`${n}m`),this.radiusLabelInstance_)this.radiusLabelInstance_.position=i,this.radiusLabelInstance_.show=this.visible_,this.radiusLabelInstance_.text=s;else{let a=B.getLabelCollection(this.containerID_);this.radiusLabelInstance_=a.add(new Cesium.Label({position:i,id:e,show:this.visible_,text:s,font:"14px sans-serif",showBackground:!0,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(0,0),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY},a))}}else this.clearRadiusLabel()};reDrawCenterPoint=()=>{this.clearCenterPoint();let e=this.data_?.coordinates;if(this.center_&&this.isEditable_&&e&&e.length){let t=B.getPointPrimitiveCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-GeometryEditingCircleCenter-Point";this.pointInstance_||(this.pointInstance_=t.add(new Cesium.PointPrimitive({position:this.center_,id:i,show:this.visible_,color:Cesium.Color.WHITE,pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})))}};reDrawRadiusPoint=()=>{this.clearRadiusPoint();let e=this.data_?.coordinates;if(this.radiusCenter_&&this.isEditable_&&e&&e.length){let t=B.getPointPrimitiveCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-GeometryEditingCircleRadius-Point";this.radiusPointInstance_||(this.radiusPointInstance_=t.add(new Cesium.PointPrimitive({position:this.radiusCenter_,id:i,show:this.visible_,color:Cesium.Color.WHITE,pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})))}};reDrawCenterLabel=()=>{let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.customLabel;if(e&&this.visible_&&t&&this.center_){let i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.customHTML;e&&this.visible_&&t&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:t}))};reDrawCustomLabel=()=>{if(B.getMapEngineInstance(this.containerID_)){let t=B.getLabelCollection(this.containerID_);if(this.visible_){let i=this.data_?.coordinates;if(this.center_&&i&&i.length){let s=i[0]?.customLabel;if(s){let a=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",o=s?.show??!1,l=s?.content??"",h=s?.showBackground??!1,c=s?.dx??0,u=s?.dy??0,f=this.customLabelInstances_.find(d=>d.ID===a);if(f)f.label.position=this.center_,f.label.show=o,f.label.text=l,f.label.showBackground=h,f.label.pixelOffset=new Cesium.Cartesian2(c,u);else{let d=t.add(new Cesium.Label({position:this.center_,id:a,show:o,text:l,font:"18px sans-serif",showBackground:h,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(c,u),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:a,label:d})}}}else this.clearCustomLabel()}else this.clearCustomLabel()}};reDrawCustomHTML=()=>{if(B.getMapEngineInstance(this.containerID_)&&(this.clearCustomHTML(),this.visible_)){let t=this.data_?.coordinates;if(this.center_&&t&&t.length){let n=t[0]?.customHTML;if(n){let s=new xn(this.containerID_);s.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:n}),this.customHTMLInstances_.push(s)}}}};primitivesHighlighted=(e,t,i)=>{if(!(this.isStartDraw_||this.isEditable_)&&(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!!this.isHighlight_)){if(this.geometryInstance_){let n;e?n=.4:n=.3,this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),n)}}})})}if(this.geometryOutlineInstance_){let n;e?n=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}):n=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),this.geometryOutlineInstance_.appearance=n}}};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearGroundPoints(),this.clearGroundVerticalLines(),this.clearRadiusPolyline(),this.clearRadiusLabel(),this.clearCenterPoint(),this.clearRadiusPoint(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearGroundPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.groundPointsInstances_&&e)for(let t=0;t<this.groundPointsInstances_.length;t++){let i=this.groundPointsInstances_[t];e.remove(i.point)}this.groundPointsInstances_=[]};clearGroundVerticalLines=()=>{let e=B.getMapEngineInstance(this.containerID_);if(this.groundVerticalLinesInstances_&&e&&e?.scene&&e?.scene?.primitives)for(let t=0;t<this.groundVerticalLinesInstances_.length;t++)e.scene.primitives.remove(this.groundVerticalLinesInstances_[t].line);this.groundVerticalLinesInstances_=[]};clearRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);this.radiusPolylineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.radiusPolylineInstance_),this.radiusPolylineInstance_=void 0};clearRadiusLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.radiusLabelInstance_&&e&&e.remove(this.radiusLabelInstance_),this.radiusLabelInstance_=void 0};clearCenterPoint=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.pointInstance_&&e&&e.remove(this.pointInstance_),this.pointInstance_=void 0};clearRadiusPoint=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.radiusPointInstance_&&e&&e.remove(this.radiusPointInstance_),this.radiusPointInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].label);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class dF{containerID_=void 0;ID_=void 0;axisType_=0;coordinates_=[];reversal_=!1;polygonCenter_=void 0;center_=void 0;minHeight_=void 0;maxHeight_=void 0;wallHeight_=void 0;visible_=!0;directions_=[];axis_=[];axisAuxiliaryLines_=[];axisAngleLines_=[];translationPlane_=void 0;translationDirection_=void 0;rotationPlane_=void 0;rotationDirection_=void 0;startAnglePosition_=void 0;endAnglePosition_=void 0;constructor(e){this.containerID_=e}DataProcessing=e=>{this.ID_=e?.ID,this.axisType_=e?.type??0,this.coordinates_=e?.coordinates,this.reversal_=e?.reversal??!1,this.visible_=e?.visible??!0,this.minHeight_=e?.minHeight,this.maxHeight_=e?.maxHeight,this.wallHeight_=e?.wallHeight,this.reDraw()};mouseDown=(e,t)=>{if(this.axisType_===0)switch(e){case"ArrowX":this.translationPlane_||(this.translationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,this.directions_[2]),this.translationDirection_=this.directions_[0]);break;case"ArrowY":this.translationPlane_||(this.translationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,this.directions_[2]),this.translationDirection_=this.directions_[1]);break;case"ArrowZ":this.translationPlane_||(this.translationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,this.directions_[1]),this.translationDirection_=this.directions_[2]);break;case"SphereX":this.rotationPlane_||(this.rotationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,this.directions_[0]),this.rotationDirection_=this.directions_[0],this.setVisibleAxis("X"),this.computeRotationPosition(t));break;case"SphereY":this.rotationPlane_||(this.rotationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,this.directions_[1]),this.rotationDirection_=this.directions_[1],this.setVisibleAxis("Y"),this.computeRotationPosition(t));break;case"SphereZ":this.rotationPlane_||(this.rotationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,Cesium.Cartesian3.negate(this.directions_[2],new Cesium.Cartesian3)),this.rotationDirection_=this.directions_[2],this.setVisibleAxis("Z"),this.computeRotationPosition(t));break}else if(this.axisType_===1)switch(e){case"ArrowY":case"ArrowYN":this.translationPlane_||(this.translationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,this.directions_[1]),this.translationDirection_=this.directions_[0]);break}};mouseUp=()=>{this.axisType_===0?(this.axis_.forEach(e=>{e.model.show=this.visible_}),this.startAnglePosition_=void 0,this.endAnglePosition_=void 0,this.reDrawAngleLine()):this.axisType_,this.reDraw(),this.clearTranslationPlane()};mouseMove=(e,t,i)=>{switch(e){case"Arrow":this.updateTranslation(t,n=>{i&&i(n)});break;case"Sphere":this.updateRotation(t,n=>{i&&i(n)});break}};updateTranslation=(e,t)=>{if(this.translationPlane_&&this.translationDirection_){let i=B.getMapEngineInstance(this.containerID_);const n=i.scene.camera.getPickRay(e.startPosition),s=i.scene.camera.getPickRay(e.endPosition);if(!n||!s)return;const a=Cesium.IntersectionTests.rayPlane(n,this.translationPlane_,new Cesium.Cartesian3),o=Cesium.IntersectionTests.rayPlane(s,this.translationPlane_,new Cesium.Cartesian3);if(!Cesium.defined(a)||!Cesium.defined(o))return;const l=Cesium.Cartesian3.subtract(o,a,new Cesium.Cartesian3),h=Cesium.Cartesian3.dot(l,this.translationDirection_);Cesium.Cartesian3.multiplyByScalar(this.translationDirection_,h,l);const c=Cesium.Matrix4.fromTranslation(l),u=Cesium.Matrix4.IDENTITY.clone();Cesium.Matrix4.multiply(u,c,u);for(let f=0;f<this.coordinates_.length;f++){let d=B.transformCartesian3(this.coordinates_[f]);Cesium.Matrix4.multiplyByPoint(u,d,d);let g=B.transformCoordinate(d);this.axisType_===0?(this.coordinates_[f].longitude=le.cloneDeep(g.longitude),this.coordinates_[f].latitude=le.cloneDeep(g.latitude),this.coordinates_[f].altitude=le.cloneDeep(g.altitude)):this.axisType_===1&&(this.maxHeight_=g.altitude+this.wallHeight_*.5,this.minHeight_=g.altitude-this.wallHeight_*.5,this.coordinates_[f].altitude=this.minHeight_+this.wallHeight_*.5)}this.reDraw(),t&&t(this.coordinates_)}};computeRotationPosition=e=>{if(this.rotationPlane_){let t=B.getMapEngineInstance(this.containerID_),i;e.hasOwnProperty("startPosition")?i=t.scene.camera.getPickRay(e.startPosition):i=t.scene.camera.getPickRay(e.position);let n;if(e.hasOwnProperty("endPosition")?n=t.scene.camera.getPickRay(e.endPosition):n=t.scene.camera.getPickRay(e.position),!i||!n)return;let s=Cesium.IntersectionTests.rayPlane(i,this.rotationPlane_,new Cesium.Cartesian3),a=Cesium.IntersectionTests.rayPlane(n,this.rotationPlane_,new Cesium.Cartesian3);if(!Cesium.defined(s)||!Cesium.defined(a))return;let o=B.computeVector(s,this.polygonCenter_),l=B.computeVector(a,this.polygonCenter_),h;return this.startAnglePosition_?h=Cesium.Cartesian3.distance(this.startAnglePosition_,this.polygonCenter_):(h=Cesium.Cartesian3.distance(s,this.polygonCenter_),this.startAnglePosition_=new Cesium.Cartesian3,Cesium.Cartesian3.add(this.polygonCenter_,Cesium.Cartesian3.multiplyByScalar(o,h,new Cesium.Cartesian3),this.startAnglePosition_)),this.endAnglePosition_=new Cesium.Cartesian3,Cesium.Cartesian3.add(this.polygonCenter_,Cesium.Cartesian3.multiplyByScalar(l,h,new Cesium.Cartesian3),this.endAnglePosition_),{vectorCenterToStart:o,vectorCenterToEnd:l}}};updateRotation=(e,t)=>{if(this.rotationPlane_&&this.rotationDirection_){let{vectorCenterToStart:i,vectorCenterToEnd:n}=this.computeRotationPosition(e),s=B.computeCrossVector(i,n),a=B.computeVectorDot(s,this.rotationPlane_.normal),o=Cesium.Cartesian3.angleBetween(i,n);a<0&&(o=o*-1);let l=this.directions_.findIndex(d=>this.rotationDirection_.equals(d));this.reDrawAngleLine(l);let h=le.cloneDeep(this.rotationDirection_),c,u,f;l===2?(c=Cesium.Quaternion.fromAxisAngle(Cesium.Cartesian3.negate(h,new Cesium.Cartesian3),o),u=Cesium.Matrix3.fromQuaternion(c),f=Cesium.Matrix4.fromRotationTranslation(u)):(c=Cesium.Quaternion.fromAxisAngle(h,o),u=Cesium.Matrix3.fromQuaternion(c),f=Cesium.Matrix4.fromRotationTranslation(u),l===0?(this.directions_[1]=this.getNewRotationDirection(this.directions_[1],f),this.directions_[2]=this.getNewRotationDirection(this.directions_[2],f)):l===1&&(this.directions_[0]=this.getNewRotationDirection(this.directions_[0],f),this.directions_[2]=this.getNewRotationDirection(this.directions_[2],f)));for(let d=0;d<this.coordinates_.length;d++){let g=Cesium.Cartesian3.fromDegrees(this.coordinates_[d].longitude,this.coordinates_[d].latitude,this.coordinates_[d].altitude),A=B.computeVector(this.polygonCenter_,g),m=Cesium.Cartesian3.distance(this.polygonCenter_,g),p=Cesium.Cartesian3.add(this.polygonCenter_,Cesium.Cartesian3.multiplyByScalar(A,m,new Cesium.Cartesian3),new Cesium.Cartesian3),C=Cesium.Cartesian3.subtract(this.polygonCenter_,p,new Cesium.Cartesian3);Cesium.Matrix4.multiplyByPoint(f,C,C),Cesium.Cartesian3.add(this.polygonCenter_,C,p);let E=B.transformCoordinate(p);this.coordinates_[d].longitude=E.longitude,this.coordinates_[d].latitude=E.latitude,this.coordinates_[d].altitude=E.altitude}t&&t(this.coordinates_)}};getNewRotationDirection=(e,t)=>{let i=Cesium.Cartesian3.add(this.polygonCenter_,Cesium.Cartesian3.multiplyByScalar(e,10,new Cesium.Cartesian3),new Cesium.Cartesian3),n=Cesium.Cartesian3.subtract(this.polygonCenter_,i,new Cesium.Cartesian3);return Cesium.Matrix4.multiplyByPoint(t,n,n),Cesium.Cartesian3.add(n,this.polygonCenter_,i),B.computeVector(this.polygonCenter_,i)};computeModelMatrix=()=>{if(this.center_&&this.directions_&&this.directions_.length){let{heading:e,pitch:t}=B.computeHeadingAndPitchByVector(this.containerID_,this.center_,this.directions_[2]),i=Cesium.HeadingPitchRoll.fromDegrees(e,0,t);return Cesium.Transforms.headingPitchRollToFixedFrame(this.center_,i)}};reDraw=()=>{if(this.axisType_===0)this.polygonCenter_=B.computeMultipointCenter(this.coordinates_),this.directions_=B.computePolygonVector(this.containerID_,this.coordinates_,this.reversal_);else if(this.axisType_===1){for(let n=0;n<this.coordinates_.length;n++)this.coordinates_[n].altitude=this.minHeight_+this.wallHeight_*.5;this.polygonCenter_=B.computeMultipointCenter(this.coordinates_);let e=B.getMapEngineInstance(this.containerID_),t=B.offsetHeadingPitch2Position(this.polygonCenter_,Cesium.Math.toDegrees(e.scene.camera.heading),0,10).cartesian3,i=B.computeVector(this.polygonCenter_,t);Cesium.Cartesian3.negate(i,i),this.directions_=[B.computeSurfaceVector(this.containerID_,this.polygonCenter_),i]}this.updateAxis()};updateAxis=()=>{if(Array.isArray(this.coordinates_)&&this.coordinates_.length){let e=B.getMapEngineInstance(this.containerID_),t=le.cloneDeep(e.scene.camera.position),i=B.computeMultipointCenter(this.coordinates_),n=Cesium.Cartesian3.subtract(i,t,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n);let s=Cesium.Cartesian3.distance(t,i);s<0&&Cesium.Cartesian3.negate(n,n);const a=e.scene.canvas,o=new Cesium.Cartesian2(a.clientWidth/2,a.clientHeight/2);let l=e.scene.camera.pickEllipsoid(o),h;if(l){let c=Cesium.Cartesian3.distance(t,l);c>s?h=s:h=c}else h=s;this.center_=Cesium.Cartesian3.add(t,Cesium.Cartesian3.multiplyByScalar(n,h*.1,new Cesium.Cartesian3),new Cesium.Cartesian3),this.axisType_===0?(this.reDrawAxis(),this.reDrawAxisAuxiliaryLine()):this.axisType_===1&&this.reDrawVerticalTranslationAxis()}};reDrawAxis=()=>{let e=this.computeModelMatrix();if(e){let t=B.getMapEngineInstance(this.containerID_);if(this.axis_.length)this.axis_.forEach(i=>{i.model.show=this.visible_,i.model.modelMatrix=e});else for(let i=0;i<3;i++){let n,s;i===0?(n="ArrowX",s="SphereX"):i===1?(n="ArrowY",s="SphereY"):i===2&&(n="ArrowZ",s="SphereZ");let a=1,o=Cesium.Color.WHITE;Cesium.Model.fromGltfAsync({url:`./models/${n}.glb`,id:this.ID_+`-&-ZYWL-&-Axis-${n}`,show:this.visible_,modelMatrix:e,minimumPixelSize:120,maximumScale:5e6,scale:a,silhouetteColor:o,scene:t.scene}).then(l=>{let h=t.scene.primitives.add(l);this.axis_.push({type:n,model:h})}),Cesium.Model.fromGltfAsync({url:`./models/${s}.glb`,id:this.ID_+`-&-ZYWL-&-Axis-${s}`,show:this.visible_,modelMatrix:e,minimumPixelSize:200,maximumScale:5e6,scale:a,silhouetteColor:o,scene:t.scene}).then(l=>{let h=t.scene.primitives.add(l);this.axis_.push({type:s,model:h})})}}};reDrawAxisAuxiliaryLine=()=>{if(this.clearAxisAuxiliaryLine(),this.center_&&this.visible_){let e=B.getMapEngineInstance(this.containerID_),t=1e5;if(this.axisType_===0)this.directions_.forEach((i,n)=>{let s,a;n===0?(s="#1EFF00",a="ArrowX"):n===1?(s="#ff0000",a="ArrowY"):(s="#00FFCC",a="ArrowZ");let o=Cesium.Cartesian3.add(this.center_,Cesium.Cartesian3.multiplyByScalar(i,t,new Cesium.Cartesian3),new Cesium.Cartesian3),l=new Cesium.PolylineGeometry({positions:[o,this.center_],width:1}),h=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:l}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(s)}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString(s),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),show:!1,releaseGeometryInstances:!1,asynchronous:!1});this.axisAuxiliaryLines_.push({type:a,model:e.scene.primitives.add(h)});let c=Cesium.Cartesian3.add(this.center_,Cesium.Cartesian3.multiplyByScalar(Cesium.Cartesian3.negate(i,new Cesium.Cartesian3),t,new Cesium.Cartesian3),new Cesium.Cartesian3),u=new Cesium.PolylineGeometry({positions:[c,this.center_],width:1}),f=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:u}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(s)}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString(s),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),show:!1,releaseGeometryInstances:!1,asynchronous:!1});this.axisAuxiliaryLines_.push({type:a,model:e.scene.primitives.add(f)})});else if(this.axisType_===1)for(let i=0;i<2;i++){let n="#ff0000",s,a;i===0?(s=this.directions_[0],a="ArrowY"):(s=Cesium.Cartesian3.negate(this.directions_[0],new Cesium.Cartesian3),a="ArrowYN");let o=Cesium.Cartesian3.add(this.center_,Cesium.Cartesian3.multiplyByScalar(s,t,new Cesium.Cartesian3),new Cesium.Cartesian3),l=new Cesium.PolylineGeometry({positions:[o,this.center_],width:1}),h=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:l}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(n)}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString(n),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),show:!1,releaseGeometryInstances:!1,asynchronous:!1});this.axisAuxiliaryLines_.push({type:a,model:e.scene.primitives.add(h)});let c=Cesium.Cartesian3.add(this.center_,Cesium.Cartesian3.multiplyByScalar(Cesium.Cartesian3.negate(s,new Cesium.Cartesian3),t,new Cesium.Cartesian3),new Cesium.Cartesian3),u=new Cesium.PolylineGeometry({positions:[c,this.center_],width:1}),f=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:u}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(n)}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString(n),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),show:!1,releaseGeometryInstances:!1,asynchronous:!1});this.axisAuxiliaryLines_.push({type:a,model:e.scene.primitives.add(f)})}}};reDrawAngleLine=e=>{if(this.clearAngleLine(),this.startAnglePosition_&&this.endAnglePosition_&&this.center_){let t;e===0?t="#1EFF00":e===1?t="#ff0000":t="#00FFCC";let i=B.getMapEngineInstance(this.containerID_),n=new Cesium.PolylineGeometry({positions:[this.center_,this.startAnglePosition_],width:2}),s=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:n}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(t)}}})}),show:!0,releaseGeometryInstances:!1,asynchronous:!1});this.axisAngleLines_.push(i.scene.primitives.add(s));let a=new Cesium.PolylineGeometry({positions:[this.center_,this.endAnglePosition_],width:1}),o=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:a}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(t)}}})}),show:!0,releaseGeometryInstances:!1,asynchronous:!1});this.axisAngleLines_.push(i.scene.primitives.add(o))}};setVisibleAxis=e=>{this.axis_.forEach(t=>{t.type.includes(e)?t.model.show=this.visible_:t.model.show=!1}),this.axisAuxiliaryLines_.forEach(t=>{t.type.includes(e)?t.model.show=!0:t.model.show=!1})};reDrawVerticalTranslationAxis=()=>{let e=B.getMapEngineInstance(this.containerID_);if(this.axis_.length)this.axis_.forEach((t,i)=>{t.model.show=this.visible_;let n;i===0?n=Cesium.Transforms.headingPitchRollToFixedFrame(this.center_,Cesium.HeadingPitchRoll.fromDegrees(0,0,0)):n=Cesium.Transforms.headingPitchRollToFixedFrame(this.center_,Cesium.HeadingPitchRoll.fromDegrees(0,0,180)),t.model.modelMatrix=n});else for(let t=0;t<2;t++){let i;t===0?i="ArrowY":i="ArrowYN";let n;t===0?n=Cesium.Transforms.headingPitchRollToFixedFrame(this.center_,Cesium.HeadingPitchRoll.fromDegrees(0,0,0)):n=Cesium.Transforms.headingPitchRollToFixedFrame(this.center_,Cesium.HeadingPitchRoll.fromDegrees(0,0,180)),Cesium.Model.fromGltfAsync({url:"./models/ArrowY.glb",id:this.ID_+`-&-ZYWL-&-Axis-${i}`,show:this.visible_,modelMatrix:n,minimumPixelSize:60,maximumScale:5e6,scale:1,silhouetteColor:Cesium.Color.WHITE,scene:e.scene}).then(s=>{let a=e.scene.primitives.add(s);this.axis_.push({type:i,model:a})})}};primitivesHighlighted=(e,t)=>{if(this.visible_&&(this.axis_.forEach(i=>{i.model.silhouetteSize=0}),this.axisAuxiliaryLines_.forEach(i=>{i.model.show=!1}),(t==="ArrowX"||t==="ArrowY"||t==="ArrowYN"||t==="ArrowZ"||t==="SphereX"||t==="SphereY"||t==="SphereZ")&&e)){let i=this.axis_.find(s=>s.type===t);i&&(i.model.silhouetteSize=2);let n=this.axisAuxiliaryLines_.filter(s=>s.type===t);n.length&&n.forEach(s=>{s.model.show=!0})}};clear=()=>{window.AxisInstance=void 0,this.clearAxis(),this.clearAxisAuxiliaryLine(),this.clearAngleLine(),this.clearTranslationPlane()};clearAxis=()=>{let e=B.getMapEngineInstance(this.containerID_);this.axis_.forEach(t=>{e.scene.primitives.remove(t.model)}),this.axis_=[]};clearAxisAuxiliaryLine=()=>{let e=B.getMapEngineInstance(this.containerID_);this.axisAuxiliaryLines_.forEach(t=>{e.scene.primitives.remove(t.model)}),this.axisAuxiliaryLines_=[]};clearAngleLine=()=>{let e=B.getMapEngineInstance(this.containerID_);this.axisAngleLines_.forEach(t=>{e.scene.primitives.remove(t)}),this.axisAngleLines_=[]};clearTranslationPlane=()=>{this.translationPlane_&&(this.translationPlane_=void 0),this.translationDirection_&&(this.translationDirection_=void 0),this.rotationPlane_&&(this.rotationPlane_=void 0),this.rotationDirection_&&(this.rotationDirection_=void 0)}}class V6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryBottomOutlineInstance_=void 0;geometryTopOutlineInstance_=void 0;geometryPolylineInstance_=void 0;minCenterInstance_=void 0;maxCenterInstance_=void 0;minRadiusCenterInstance_=void 0;maxRadiusCenterInstance_=void 0;minRadiusLineInstance_=void 0;maxRadiusLineInstance_=void 0;radiusVerticalInstance_=void 0;minRadiusLabelInstance_=void 0;maxRadiusLabelInstance_=void 0;wallHeightLabelInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;isStartPullUP_=!1;screenSpaceHandler_;wallCoordinates_=[];isAutoDrawAirRoute_=!1;polylineCoordinates_=[];center_=void 0;minCenter_=void 0;maxCenter_=void 0;minRadiusCenter_=void 0;maxRadiusCenter_=void 0;radius_=void 0;minHeight_=void 0;maxHeight_=void 0;wallHeight_=void 0;circlePlane_=void 0;axisInstance_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.lineOptions,e?.lineOptions)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw(),setTimeout(()=>{!this.isStartDraw_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline())},10))};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;switch(e){case"update":t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,radius:this.radius_,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,radius:this.radius_,class:this.dataClass_,type:e};break;case"delete":i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,radius:this.radius_,class:this.dataClass_,type:e,index:t};break;case"copy":i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,radius:this.radius_,class:this.dataClass_,type:e,index:t};break;default:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,radius:this.radius_,class:this.dataClass_,type:"update"};break}B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseDown=(e,t)=>{!this.isEditable_||t===void 0||(t===9001?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowY"):t===90010?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowYN"):this.createCirclePlane(t,e))};mouseUp=(e,t)=>{!this.isEditable_||t===void 0||(t===9001||t===90010?this.axisInstance_&&this.axisInstance_.mouseUp():this.clearCirclePlane(),setTimeout(()=>{!this.isStartDraw_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline(),this.emitGraphChanged("update",t))},10))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_),i=B.getClampToGroundPosition(t,e.position,!0),n=t.scene.pick(e.position);if(i&&i.coordinate){let s=le.cloneDeep(i.coordinate);if(!this.isStartDraw_&&!this.isStartPullUP_)this.data_?.coordinates.length?n||(this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.reDrawAxis(),this.emitGraphEdited(),this.clearScreenSpaceHandler()):(this.isStartDraw_=!0,this.data_.coordinates.push(le.cloneDeep(s)),this.minHeight_=le.cloneDeep(this.data_.coordinates[0].altitude),this.maxHeight_=le.cloneDeep(this.minHeight_),this.wallHeight_=this.maxHeight_-this.minHeight_,this.minCenter_=le.cloneDeep(this.data_.coordinates[0]),this.minCenter_.altitude=this.minHeight_,this.maxCenter_=le.cloneDeep(this.minCenter_),this.maxCenter_.altitude=this.maxHeight_,this.createCirclePlane(),this.minRadiusCenter_=le.cloneDeep(this.minCenter_),this.minRadiusCenter_.altitude=this.minHeight_,this.maxRadiusCenter_=le.cloneDeep(this.maxCenter_),this.maxRadiusCenter_.altitude=this.maxHeight_,this.radius_=B.computeDistance(this.minCenter_,this.minRadiusCenter_),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(a=>{let o=t.scene.camera.getPickRay(a.endPosition);if(this.isStartDraw_&&this.circlePlane_)this.minRadiusCenter_=B.transformCoordinate(Cesium.IntersectionTests.rayPlane(o,this.circlePlane_,new Cesium.Cartesian3)),this.maxRadiusCenter_=le.cloneDeep(this.minRadiusCenter_),this.radius_=B.computeDistance(this.minCenter_,this.minRadiusCenter_),this.data_.symbol.radius=le.cloneDeep(this.radius_);else if(this.isStartPullUP_&&this.circlePlane_){let l=Cesium.IntersectionTests.rayPlane(o,this.circlePlane_,new Cesium.Cartesian3),h=B.transformCoordinate(l);h&&(this.maxCenter_.altitude=h.altitude,this.maxRadiusCenter_.altitude=le.cloneDeep(this.maxCenter_.altitude),this.maxHeight_=le.cloneDeep(this.maxRadiusCenter_.altitude),this.wallHeight_=this.maxHeight_-this.minHeight_)}this.reDraw()},Cesium.ScreenSpaceEventType.MOUSE_MOVE));else if(n){let a=!1;if(typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&(n.id.includes("-&-ZYWL-&-GeometryEditingCircleWallMaxRadiusCenter")||n.id.includes("-&-ZYWL-&-GeometryEditingCircleWallMinRadiusCenter")))a=!0;else{let o=t.scene.drillPick(e.position,20);o=Array.from(new Set(o));for(let l=0;l<o.length;l++)if(n=o[l],typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&(n.id.includes("-&-ZYWL-&-GeometryEditingCircleWallMaxRadiusCenter")||n.id.includes("-&-ZYWL-&-GeometryEditingCircleWallMinRadiusCenter"))){a=!0;break}}if(a){this.isStartDraw_&&!this.isStartPullUP_?(this.isStartDraw_=!1,this.isStartPullUP_=!0,this.createCirclePlane()):!this.isStartDraw_&&this.isStartPullUP_&&(this.isStartDraw_=!1,this.isStartPullUP_=!1,this.clearCirclePlane(),this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),!this.isStartPullUP_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline()),this.emitGraphChanged("update"));return}}this.reDraw()}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||!this.isStartPullUP_&&this.isStartDraw_||this.isStartPullUP_&&!this.isStartDraw_))if(this.circlePlane_){let n=B.getMapEngineInstance(this.containerID_).scene.camera.getPickRay(e.endPosition),s=Cesium.IntersectionTests.rayPlane(n,this.circlePlane_,new Cesium.Cartesian3);switch(t){case 0:this.minCenter_=B.transformCoordinate(s),this.maxCenter_=le.cloneDeep(this.minCenter_),this.maxCenter_.altitude=this.maxHeight_,this.minRadiusCenter_=B.offsetHeadingPitch2Position(this.minCenter_,90,0,this.radius_).coordinate,this.maxRadiusCenter_=le.cloneDeep(this.minRadiusCenter_),this.maxRadiusCenter_.altitude=this.maxHeight_;break;case 1:this.minRadiusCenter_=B.transformCoordinate(s),this.maxRadiusCenter_=le.cloneDeep(this.minRadiusCenter_),this.maxRadiusCenter_.altitude=this.maxHeight_,this.radius_=B.computeDistance(this.minCenter_,this.minRadiusCenter_);break;case 10:this.maxCenter_=B.transformCoordinate(s),this.minCenter_=le.cloneDeep(this.maxCenter_),this.minCenter_.altitude=this.minHeight_,this.maxRadiusCenter_=B.offsetHeadingPitch2Position(this.maxCenter_,90,0,this.radius_).coordinate,this.minRadiusCenter_=le.cloneDeep(this.maxRadiusCenter_),this.minRadiusCenter_.altitude=this.minHeight_;break;case 11:this.maxRadiusCenter_=B.transformCoordinate(s),this.minRadiusCenter_=le.cloneDeep(this.maxRadiusCenter_),this.minRadiusCenter_.altitude=this.minHeight_,this.radius_=B.computeDistance(this.maxCenter_,this.maxRadiusCenter_);break;case 90:this.minHeight_=B.transformCoordinate(s).altitude,this.wallHeight_=this.maxHeight_-this.minHeight_,this.minCenter_.altitude=this.minHeight_,this.minRadiusCenter_.altitude=this.minHeight_;break;case 91:this.maxHeight_=B.transformCoordinate(s).altitude,this.wallHeight_=this.maxHeight_-this.minHeight_,this.maxCenter_.altitude=this.maxHeight_,this.maxRadiusCenter_.altitude=this.maxHeight_;break}this.reDraw(),this.reDrawAxis()}else switch(t){case 9001:case 90010:this.axisInstance_&&this.axisInstance_.mouseMove("Arrow",e,i=>{this.data_.coordinates=le.cloneDeep(i),this.maxHeight_=this.data_.coordinates[0].altitude+this.wallHeight_*.5,this.minHeight_=this.data_.coordinates[0].altitude-this.wallHeight_*.5,this.reDraw()});break}};mouseRightClick=e=>{this.isDelete_&&(this.data_.coordinates=[],this.wallCoordinates_=[],this.polylineCoordinates_=[],this.minCenter_=void 0,this.maxCenter_=void 0,this.minRadiusCenter_=void 0,this.maxRadiusCenter_=void 0,this.minHeight_=void 0,this.maxHeight_=void 0,this.wallHeight_=void 0,this.radius_=void 0,this.emitGraphRemoved(),this.clear(),this.reDrawAxis(),this.reDrawPolyline())};createCirclePlane=(e,t)=>{this.clearCirclePlane();let i=B.getMapEngineInstance(this.containerID_);if(this.minCenter_&&this.isStartDraw_){let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.minCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n),this.circlePlane_=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.minCenter_),n)}else if(this.minRadiusCenter_&&this.isStartPullUP_){let n=i.scene.camera.heading,s=B.offsetHeadingPitch2Position(B.transformCartesian3(this.minRadiusCenter_),Cesium.Math.toDegrees(n),0,5).cartesian3,a=B.computeVector(B.transformCartesian3(this.minRadiusCenter_),s);this.circlePlane_=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.minRadiusCenter_),a)}else switch(e){case 0:{let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.minCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n),this.circlePlane_=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.minCenter_),n)}break;case 1:{let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.minRadiusCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n),this.circlePlane_=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.minRadiusCenter_),n)}break;case 10:{let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.maxCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n),this.circlePlane_=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.maxCenter_),n)}break;case 11:{let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.maxRadiusCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n),this.circlePlane_=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.maxRadiusCenter_),n)}break;case 90:{let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.minCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n);let s=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.minCenter_),n),a=i.scene.camera.getPickRay(t.position),o=Cesium.IntersectionTests.rayPlane(a,s,new Cesium.Cartesian3),l=i.scene.camera.heading,h=B.offsetHeadingPitch2Position(o,l,0,10).cartesian3;this.circlePlane_=Cesium.Plane.fromPointNormal(o,B.computeVector(o,h))}break;case 91:{let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.maxCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n);let s=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.maxCenter_),n),a=i.scene.camera.getPickRay(t.position),o=Cesium.IntersectionTests.rayPlane(a,s,new Cesium.Cartesian3),l=i.scene.camera.heading,h=B.offsetHeadingPitch2Position(o,l,0,10).cartesian3;this.circlePlane_=Cesium.Plane.fromPointNormal(o,B.computeVector(o,h))}break}};clearCirclePlane=()=>{this.circlePlane_&&(this.circlePlane_=void 0)};reDrawAxis=()=>{this.geometryInstance_&&this.minCenter_&&this.maxCenter_&&this.wallHeight_&&this.isEditable_?(this.axisInstance_||(this.axisInstance_=new dF(this.containerID_)),this.axisInstance_.DataProcessing({ID:le.cloneDeep(this.data_.ID),visible:le.cloneDeep(this.visible_),coordinates:le.cloneDeep(this.data_?.coordinates),type:1,minHeight:le.cloneDeep(this.minHeight_),maxHeight:le.cloneDeep(this.maxHeight_),wallHeight:le.cloneDeep(this.wallHeight_)})):this.clearAxis()};reDraw=()=>{this.clearGeometry();let e=this.data_.ID;this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.isAutoDrawAirRoute_=this.data_?.isAutoDrawAirRoute??!1;let t=B.getMapEngineInstance(this.containerID_),i=this.data_?.symbol,n=this.data_?.coordinates;if(n&&n.length&&i){if(this.radius_||(this.radius_=i?.radius),this.minHeight_||(this.minHeight_=i?.minHeight,this.minHeight_||Array.isArray(this.wallCoordinates_)&&this.wallCoordinates_.length&&(this.minHeight_=this.wallCoordinates_[0].altitude),this.minHeight_||(this.minHeight_=0)),this.maxHeight_||(this.maxHeight_=i?.maxHeight,this.maxHeight_||Array.isArray(this.wallCoordinates_)&&this.wallCoordinates_.length&&(this.maxHeight_=this.wallCoordinates_[0].altitude),this.maxHeight_||(this.maxHeight_=0)),this.minCenter_||(this.minCenter_=n[0]),this.minRadiusCenter_||(this.minRadiusCenter_=B.offsetHeadingPitch2Position(this.minCenter_,90,0,this.radius_).coordinate),this.minHeight_&&(this.minCenter_.altitude=this.minHeight_,this.minRadiusCenter_.altitude=this.minHeight_),this.maxCenter_||(this.maxCenter_=le.cloneDeep(this.minCenter_)),this.maxRadiusCenter_||(this.maxRadiusCenter_=B.offsetHeadingPitch2Position(this.maxCenter_,90,0,this.radius_).coordinate),this.maxHeight_&&(this.maxCenter_.altitude=this.maxHeight_,this.maxRadiusCenter_.altitude=this.maxHeight_),this.minHeight_&&this.maxHeight_&&(this.wallHeight_=this.maxHeight_-this.minHeight_),this.center_=n[0],this.center_.altitude=this.minHeight_+this.wallHeight_*.5,this.center_=B.transformCartesian3(this.center_),this.wallCoordinates_=B.computeCircleCoordinates(this.minCenter_,this.radius_),!this.geometryInstance_&&this.wallCoordinates_.length>=2){let s=new Cesium.WallGeometry({positions:this.wallCoordinates_.map(o=>B.transformCartesian3(o)),maximumHeights:this.wallCoordinates_.map(()=>this.maxHeight_),minimumHeights:this.wallCoordinates_.map(()=>this.minHeight_)}),a=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWall",geometry:s}),appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString("#00C8DF"),.4)}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryInstance_=t.scene.primitives.add(a)}if(!this.geometryBottomOutlineInstance_&&this.wallCoordinates_.length>=2){let s=new Cesium.PolylineGeometry({positions:this.wallCoordinates_.map(o=>(o.altitude=this.minHeight_,B.transformCartesian3(o))),width:6}),a=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWallBottomOutline",geometry:s}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryBottomOutlineInstance_=t.scene.primitives.add(a)}if(!this.geometryTopOutlineInstance_&&this.wallCoordinates_.length>=2){let s=new Cesium.PolylineGeometry({positions:this.wallCoordinates_.map(o=>(o.altitude=this.maxHeight_,B.transformCartesian3(o))),width:6}),a=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWallTopOutline",geometry:s}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryTopOutlineInstance_=t.scene.primitives.add(a)}}this.reDrawRadius(),this.reDrawCustomLabel(),this.reDrawCustomHTML()};reDrawPolyline=()=>{this.clearPolyline();let e=this.data_?.lineOptions;if(this.isAutoDrawAirRoute_&&e&&this.minCenter_&&this.visible_){let t=e?.d??37.2,i=e?.GSD??1,n=e?.overlapW??80,s=e?.routeCoverageRate??100,a=e?.routeCoverageDeviationAngle??0,o=e?.cameraType??"M3TD",l=e?.isVertical??!1,h=e?.isIncludingTheTopSurface??!1,c=e?.isTopStart??!1;this.polylineCoordinates_=B.computeGeometryCircleWallAirRouteMethod(this.containerID_,this.data_?.coordinates,this.minHeight_,this.maxHeight_,this.radius_,t,i,n/100,s,a,o,l,h,c),!this.geometryPolylineInstance_&&this.polylineCoordinates_&&(this.geometryPolylineInstance_=new vI(this.containerID_,"AirRoutes"),this.geometryPolylineInstance_.DataProcessing({ID:Cg()+"-&-ZYWL-&-GeometryEditingCircleWall-AirRoutes-&-ZYWL-&-NotEditablePolyline",type:2,visible:this.visible_,isClampToGround:!1,isHighlight:!1,zIndex:0,symbol:{lineWidth:2,lineColor:"#0aed8b"},coordinates:this.polylineCoordinates_}))}};reDrawRadius=()=>{if(this.minCenter_&&this.maxCenter_&&this.minRadiusCenter_&&this.maxRadiusCenter_&&this.visible_&&this.isEditable_){let e=this.data_.ID,t=B.getPointPrimitiveCollection(this.containerID_),i=B.transformCartesian3(this.minCenter_);this.minCenterInstance_?this.minCenterInstance_.position=i:this.minCenterInstance_=t.add(new Cesium.PointPrimitive({position:i,id:e+"-&-ZYWL-&-GeometryEditingCircleWallMinCenter",show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY}));let n=B.transformCartesian3(this.maxCenter_);this.maxCenterInstance_?this.maxCenterInstance_.position=n:this.maxCenterInstance_=t.add(new Cesium.PointPrimitive({position:n,id:e+"-&-ZYWL-&-GeometryEditingCircleWallMaxCenter",show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY}));let s=B.transformCartesian3(this.minRadiusCenter_);this.minRadiusCenterInstance_?this.minRadiusCenterInstance_.position=s:this.minRadiusCenterInstance_=t.add(new Cesium.PointPrimitive({position:s,id:e+"-&-ZYWL-&-GeometryEditingCircleWallMinRadiusCenter",show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY}));let a=B.transformCartesian3(this.maxRadiusCenter_);this.maxRadiusCenterInstance_?this.maxRadiusCenterInstance_.position=a:this.maxRadiusCenterInstance_=t.add(new Cesium.PointPrimitive({position:a,id:e+"-&-ZYWL-&-GeometryEditingCircleWallMaxRadiusCenter",show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})),this.clearRadiusPolyline();let o=B.getMapEngineInstance(this.containerID_),l=new Cesium.PolylineGeometry({positions:[B.transformCartesian3(this.minCenter_),B.transformCartesian3(this.minRadiusCenter_)],width:5}),h=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWallMinRadiusLine",geometry:l}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.minRadiusLineInstance_=o.scene.primitives.add(h);let c=new Cesium.PolylineGeometry({positions:[B.transformCartesian3(this.maxCenter_),B.transformCartesian3(this.maxRadiusCenter_)],width:5}),u=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWallMaxRadiusLine",geometry:c}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.maxRadiusLineInstance_=o.scene.primitives.add(u);let f=new Cesium.PolylineGeometry({positions:[B.transformCartesian3(this.minRadiusCenter_),B.transformCartesian3(this.maxRadiusCenter_)],width:5}),d=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWallRadiusVertical",geometry:f}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});if(this.radiusVerticalInstance_=o.scene.primitives.add(d),!this.radius_)return;if(this.radius_>10){let A;this.radius_>1e3?A=`${(this.radius_/1e3).toFixed(2)}km`:A=`${this.radius_.toFixed(2)}m`,this.minRadiusLabelInstance_=new xn(this.containerID_),this.minRadiusLabelInstance_.DataProcessing({ID:e+"-&-ZYWL-&-GeometryEditingCircleWallMinRadiusLabel",center:B.computeCenter(this.minCenter_,this.minRadiusCenter_),customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${A}</div>`,dx:0,dy:-15,presentationMode:1}}),this.maxRadiusLabelInstance_=new xn(this.containerID_),this.maxRadiusLabelInstance_.DataProcessing({ID:e+"-&-ZYWL-&-GeometryEditingCircleWallMaxRadiusLabel",center:B.computeCenter(this.maxCenter_,this.maxRadiusCenter_),customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${A}</div>`,dx:0,dy:-15,presentationMode:1}})}let g=B.computeDistance(this.minRadiusCenter_,this.maxRadiusCenter_);g>10&&(g>1e3?g=`${(g/1e3).toFixed(2)}km`:g=`${g.toFixed(2)}m`,this.wallHeightLabelInstance_=new xn(this.containerID_),this.wallHeightLabelInstance_.DataProcessing({ID:e+"-&-ZYWL-&-GeometryEditingCircleWallHeightLabel",center:B.computeCenter(this.minRadiusCenter_,this.maxRadiusCenter_),customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${g}</div>`,dx:0,dy:-15,presentationMode:1}}))}else this.clearRadius()};reDrawCustomLabel=()=>{if(B.getMapEngineInstance(this.containerID_)){let t=B.getLabelCollection(this.containerID_);if(this.visible_){let i=this.data_?.coordinates;if(this.center_&&i&&i.length){let s=i[0]?.customLabel;if(s){let a=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",o=s?.show??!1,l=s?.content??"",h=s?.showBackground??!1,c=s?.dx??0,u=s?.dy??0,f=this.customLabelInstances_.find(d=>d.ID===a);if(f)f.primitive.position=this.center_,f.primitive.show=o,f.primitive.text=l,f.primitive.showBackground=h,f.primitive.pixelOffset=new Cesium.Cartesian2(c,u);else{let d=t.add(new Cesium.Label({position:this.center_,id:a,show:o,text:l,font:"18px sans-serif",showBackground:h,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(c,u),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:a,index:0,primitive:d})}}}else this.clearCustomLabel()}else this.clearCustomLabel()}};reDrawCustomHTML=()=>{if(B.getMapEngineInstance(this.containerID_)&&(this.clearCustomHTML(),this.visible_)){let t=this.data_?.coordinates;if(this.center_&&t&&t.length){let n=t[0]?.customHTML;if(n){let s=new xn(this.containerID_);s.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:n}),this.customHTMLInstances_.push(s)}}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||this.isStartPullUP_||(this.axisInstance_&&this.axisInstance_.primitivesHighlighted(t),(t==="ArrowY"||t==="ArrowYN")&&e&&this.axisInstance_&&this.axisInstance_.primitivesHighlighted(e,t),!this.isEditable_&&(B.HighlightHTMLs(e,this.customHTMLInstances_,i),this.isHighlight_&&(this.geometryInstance_&&(this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})})),this.geometryInstance_&&e&&(this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})})))))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearAxis(),this.clearGeometry(),this.clearPolyline(),this.clearRadius(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearAxis=()=>{this.axisInstance_&&this.axisInstance_.clear(),this.axisInstance_=void 0};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryInstance_=void 0,this.geometryBottomOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryBottomOutlineInstance_),this.geometryBottomOutlineInstance_=void 0,this.geometryTopOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryTopOutlineInstance_),this.geometryTopOutlineInstance_=void 0};clearPolyline=()=>{this.geometryPolylineInstance_&&this.geometryPolylineInstance_.clear(),this.geometryPolylineInstance_=void 0,this.polylineCoordinates_=[]};clearRadius=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.minCenterInstance_&&e&&e.remove(this.minCenterInstance_),this.minCenterInstance_=void 0,this.maxCenterInstance_&&e&&e.remove(this.maxCenterInstance_),this.maxCenterInstance_=void 0,this.minRadiusCenterInstance_&&e&&e.remove(this.minRadiusCenterInstance_),this.minRadiusCenterInstance_=void 0,this.maxRadiusCenterInstance_&&e&&e.remove(this.maxRadiusCenterInstance_),this.maxRadiusCenterInstance_=void 0,this.clearRadiusPolyline()};clearRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);this.minRadiusLineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.minRadiusLineInstance_),this.minRadiusLineInstance_=void 0,this.maxRadiusLineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.maxRadiusLineInstance_),this.maxRadiusLineInstance_=void 0,this.radiusVerticalInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.radiusVerticalInstance_),this.radiusVerticalInstance_=void 0,this.minRadiusLabelInstance_&&this.minRadiusLabelInstance_.clear(),this.minRadiusLabelInstance_=void 0,this.maxRadiusLabelInstance_&&this.maxRadiusLabelInstance_.clear(),this.maxRadiusLabelInstance_=void 0,this.wallHeightLabelInstance_&&this.wallHeightLabelInstance_.clear(),this.wallHeightLabelInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class W6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;geometryPolylineInstance_=void 0;pointInstances_=[];centerPointInstances_=[];distanceLabelInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isCopy_=!1;isStartDraw_=!1;screenSpaceHandler_;heightMode_=0;defaultHeight_=void 0;isAutoDrawAirRoute_=!1;isContainTakeOffBillboard_=!1;TakeOffBillboard_=void 0;TakeOffBillboardGround_=void 0;TakeOffBillboardVerticalLine_=void 0;TakeOffBillboardLine1_=void 0;TakeOffBillboardLine2_=void 0;TakeOffBillboardLine3_=void 0;TakeOffBillboardHeightLabel_=void 0;TakeOffBillboardHeightLabel1_=void 0;TakeOffBillboardDistanceLabel_=void 0;TakeOffBillboardCoordinate_=void 0;TakeOffBillboardCoordinate1_=void 0;TakeOffBillboardCoordinate2_=void 0;TakeOffBillboardGroundCartographic_=void 0;TakeOffALTDragPlane_=void 0;TakeOffSecureHeight_=void 0;polylineCoordinates_=[];startCoordinate_=void 0;isDistanceVisible_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.lineOptions,e?.lineOptions)||!le.isEqual(this.data_?.takeOffBillboardCoordinate,e?.takeOffBillboardCoordinate)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDrawTakeOffBillboard(!0),this.reDraw(),this.isStartDraw_||this.reDrawPolyline())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i,n=this.containerID_.split("-cesium")[0],s=B.addTerrainHeight(n,this.data_.coordinates,this.heightMode_);this.data_.coordinates=s,t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,takeOffBillboardCoordinate:this.TakeOffBillboardCoordinate_,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,takeOffBillboardCoordinate:this.TakeOffBillboardCoordinate_,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0;let e=this.containerID_.split("-cesium")[0],t=B.addTerrainHeight(e,this.data_.coordinates,this.heightMode_);this.data_.coordinates=t,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseUp=(e,t)=>{if(B.removeMenu(this.containerID_),!(!this.isEditable_||t===void 0))if(t===-99999){let i=B.getMapEngineInstance(this.containerID_);B.getTerrainHeight(i,this.TakeOffBillboardCoordinate_).then(n=>{this.TakeOffBillboardCoordinate_?.altitude<n?.coordinate?.altitude&&(this.TakeOffBillboardCoordinate_.altitude=n?.coordinate?.altitude),this.reDrawTakeOffBillboard(),this.emitGraphChanged("setTakeOffPoint")})}else t!==void 0&&(this.isStartDraw_?t===this.data_.coordinates.length-2?this.reDrawPolyline(!0):this.emitGraphChanged("update",t):this.reDrawPolyline())};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);if(this.isContainTakeOffBillboard_&&!this.TakeOffBillboardCoordinate_){this.TakeOffBillboardCoordinate_=B.getGroundPoint(t,e.position),this.TakeOffBillboardCoordinate_&&(this.reDrawTakeOffBillboard(!0),this.isStartDraw_||this.reDrawPolyline(),this.emitGraphChanged("setTakeOffPoint"),B.recoverCursor(this.containerID_,"custom-cursor"));return}let i=B.getGroundPoint(t,e.position),n=t.scene.pick(e.position),s=this.data_?.coordinates??[];if(i){let a=le.cloneDeep(i);if(this.isStartDraw_){if(n&&typeof n.id=="string"){let o=n.id;if((n.primitive instanceof Cesium.Billboard||n.primitive instanceof Cesium.PointPrimitive)&&o.includes("-&-ZYWL-&-GeometryEditingGroundPolygon-Point-")&&B.extractionIndex(o)===s.length-2){s.length>3&&(this.isStartDraw_=!1,s.splice(s.length-1,1),this.clearScreenSpaceHandler(),this.reDraw(),setTimeout(()=>{this.reDrawCustomHTML(s.map(h=>B.transformCartesian3(h)))},10));return}}s.push(le.cloneDeep(a))}else if(!s.length)s.push(le.cloneDeep(a)),s.push(le.cloneDeep(a)),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(o=>{if(this.isStartDraw_){let l=B.getGroundPoint(t,o.endPosition);l&&(this.data_.coordinates[this.data_.coordinates.length-1].longitude=l.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=l.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=l.altitude,this.reDraw())}},Cesium.ScreenSpaceEventType.MOUSE_MOVE);else if(n){if(typeof n.id=="string"){let o=n.id;if(n.primitive instanceof Cesium.PointPrimitive&&o.includes("-&-ZYWL-&-GeometryEditingGroundPolygon-CenterPoint-")){let l=B.extractionIndex(o),h=n.primitive.position;h&&(s.splice(l+1,0,B.transformCoordinate(h)),setTimeout(()=>{this.reDrawCustomHTML(s.map(c=>B.transformCartesian3(c)))},10))}}}else{this.isEditable_=!1,this.reDraw(),this.emitGraphEdited(),this.clearScreenSpaceHandler();return}this.reDraw(),this.emitGraphChanged("update")}};mouseMove=(e,t)=>{if(B.removeMenu(this.containerID_),!this.isEditable_||t===void 0)return;let i=B.getMapEngineInstance(this.containerID_),n;t===-99999&&this.isContainTakeOffBillboard_&&this.TakeOffBillboardCoordinate_?(n=B.getClampToGroundPosition(i,e.endPosition,!1,this.TakeOffBillboardCoordinate_),n&&n.coordinate&&(this.TakeOffBillboardCoordinate_.longitude=n.coordinate.longitude,this.TakeOffBillboardCoordinate_.latitude=n.coordinate.latitude,this.TakeOffBillboardGroundCartographic_&&(this.TakeOffBillboardGroundCartographic_=B.getCartographicFromCoordinate(i,this.TakeOffBillboardCoordinate_,!0)),this.reDrawTakeOffBillboard(!0))):Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length&&(n=B.getClampToGroundPosition(i,e.endPosition,!0,this.data_?.coordinates[t]),n&&n.coordinate&&(this.data_.coordinates[t].longitude=n.coordinate.longitude,this.data_.coordinates[t].latitude=n.coordinate.latitude,this.data_.coordinates[t].altitude=n.coordinate.altitude,this.reDraw()))};mouseRightClick=e=>{this.isDelete_&&(e!==void 0?(this.data_.coordinates.splice(e,1),this.emitGraphChanged("delete",e)):(this.data_.coordinates=[],this.emitGraphRemoved()),this.data_.coordinates.length>0?(this.reDraw(),this.reDrawPolyline()):(this.clearTakeOffBillboardHeightLabel(),this.clearGeometry(),this.clearPolyline(),this.clearPoints(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()))};mouseAltLeftDown=e=>{let i=B.getMapEngineInstance(this.containerID_).scene,n=i.camera,s=i.pick(e.position);if(s){let a=s.primitive;if(a&&a instanceof Cesium.Billboard){let o=s.id;if(typeof o=="string"&&o===this.data_.ID+"-&-ZYWL-&-TakeOffBillboard"&&!this.TakeOffALTDragPlane_&&this.TakeOffBillboardCoordinate_){let l=Cesium.Cartesian3.fromDegrees(this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude,this.TakeOffBillboardCoordinate_.altitude),h=B.offsetHeadingPitch2Position(l,n.heading,0,50),c=Cesium.Cartesian3.subtract(l,h.cartesian3,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(c,c),this.TakeOffALTDragPlane_=Cesium.Plane.fromPointNormal(l,c)}}}};mouseAltLeftUp=e=>{this.TakeOffALTDragPlane_&&(this.TakeOffALTDragPlane_=void 0,this.reDrawTakeOffBillboard(),this.emitGraphChanged("setTakeOffPoint"))};mouseAltMove=e=>{B.removeMenu(this.containerID_);let s=B.getMapEngineInstance(this.containerID_).scene.camera.getPickRay(e.endPosition);if(this.TakeOffALTDragPlane_){let a=Cesium.IntersectionTests.rayPlane(s,this.TakeOffALTDragPlane_,new Cesium.Cartesian3);if(a){let o=B.transformCartographic(a);this.TakeOffBillboardCoordinate_&&(this.TakeOffBillboardCoordinate_.altitude=o.height),this.reDrawTakeOffBillboard(!0)}}};addAltAction=()=>{if(!this.screenSpaceHandler_){let e=B.getMapEngineInstance(this.containerID_);this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(e.scene.canvas)}this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT)||this.screenSpaceHandler_.setInputAction(e=>{this.mouseAltLeftDown(e)},Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT)||this.screenSpaceHandler_.setInputAction(e=>{this.mouseAltLeftUp(e)},Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT)||this.screenSpaceHandler_.setInputAction(e=>{this.mouseAltMove(e)},Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT))};async reDrawTakeOffBillboard(e){let t=B.getMapEngineInstance(this.containerID_);if(this.TakeOffBillboardCoordinate_){let i=this.data_.ID,n=B.transformCartesian3(this.TakeOffBillboardCoordinate_);if(this.TakeOffBillboard_)this.TakeOffBillboard_.position=n,this.TakeOffBillboard_.show=this.visible_;else{let s=B.getBillboardCollection(this.containerID_);this.TakeOffBillboard_=s.add(new Cesium.Billboard({position:n,id:i+"-&-ZYWL-&-TakeOffBillboard",show:this.visible_,image:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAABHNCSVQICAgIfAhkiAAADBpJREFUeF7dnO1OHNcZxwfbTUhCCgTXNG9lCZYtO7KBRK3aD5WXKyhWv0bKcgVe30AM6gUYX4Gxqn6GXAGLKrVqowRIWlu24njJa43iGBISO65d+vyO50wOhzOzZ3ZmZ8CPNNq32TnP+c/zfp4zXUGJtL29XZHhh+QYk6MvZKUavvKZ76EVOTbC943wlc98v9bV1dUsaxpdRQ8soAHK23IAlAYoKxsACbBXBEzeF0YdB1AAQ5LOyDEZHlrSOjVJJHMhPJYEUC25HRmvowAKeBeE67ocsaAtbX4XrGz9EGw8fKQm2Ph2S73yme+hsZ5ng75DB9X76s971Cuf+f5M7/NJwADerIA40xH05KIdAVCAQ0Wn5ajYjK/dfxA0BLSFOxvqyIMmB/oCjqqAOdT9lOuSTfgRIK/kMZ55jVwBFOCqcvHLNnCANnf762Dhm81IqvKeiL4eUjn5Qm9QGzzsAhMgpwTIRl7j5wJg6BguomEmY5uihvVPPlfglUGAOPvaK0FvqP4GDwB4Pg+HkxlAAQ/ngNRFdg7gZr+4Hcx+uR7ZtjIAZExsZf2lI0H95UEbSOzH2azSmAlAAe+cMDFrgnNJgJv+9KvSgbNvGEBO/+rF4JwAaREqPdfuDW4bQAEPqavpgbFzk9dudtzGtTtR00YunBix7eOcgDjVzrVTAxjGdYsyWBQEr37/Q1D98Maek7o4QJDGxuljwehzz5qnYBdR6VShQSoAQ2cxLwNV9MhXbt8Jajea7dy80v8zd6wSvD04YPJBFoNKe2cz3gCGkrdsgndePCzOYj8TzuWieGqDAG/CVxLTAAh4Sm3xskhdXoFw2TeAIBxpNMKdhgA44cOXF4C2wzh79eYTA54GCRDnT46YmHk5lpYACnjksgTJip4EtY2TLIc6twxxEgEMg2SchqL97DB81JFzHI4Fe9iI+38sgKHHJVxRGQahytgH13z5yHxez4EDwR9/0a9uWtG08sYJM8QhrAFEp2dOAhDwqjBPkDy2fLWwOK/v4MFgcfR4MPbcM5JH3wmmCg6TiBNXxk+awXasU3ECGFZVAFDR+PK1wjIMEzw9fhkgUtVZHj9hCr9TleMAvCX/rPBvclsqKkWQC7wyQaSSY+TOK6LG4zYOuwAU6avJSeS5Kt6rvPdRIaqbBF5ZIKLKzV+fMuPDXV7ZBWAkfTNrX6rKSqfJBzzNA8H71PVmsPHo8RJAp4kKzoWhl/QwTZHCYXPMHQCK9E3Lj6xjFCZ9laefCuZfP6ochi+tfH8vmFi9XgiIDimcERDBSVEEYJjrIn0qbJm6sdbxSjKgLZ4+Hi0Y+QLIeUWCSGX78jGWrxUR1gzrXNkEkMqyCpoJW7B9naQs4Gm+igQRW2gsWFH2Yul0hwTOyWdW04KibJ99g7Z//2biPVva3JK64/VO3tfYa1u28IoAWLMBvKvVt8i4z+R4LwNoxYUbAmB/BGCYtlGuKkR9427zXgYQni01Hie9UzZQAGRhiAWiUgsGex1Aq9BwSQCsawCjYmmZtT46C5Jo4+FD5X3LIqtmqDKTrrDFjPBFUddf3y+Lv30xrqUlwwBYFc5V4YBGH1bXyqLZ114NRnviA+rVrXuSl39WFntqXFbzjIamCQCMKs5FFg5cKDQkqD7T+7j7ykVlhjGaH6vAcB4Ap+VHlb6VFf9p5vYDgFY8OLMDwLLXO1Bh4q04ol+wbBV2AdgQhukgDSY+uhE0Nr4r1cbs9cGrfc8Hi6eOaTaXkMDSAMTe9R86FC2RplHhC1Jmav74IGje/zHAuRRV3nIBGNX/ht/7l2KoE0TZ6ozcPWIp1JTPkOkY0gBoB92AifbQ/bokr3zuBFkp3QoSuK0HyjsGBCRK4pOH+yLA7EnlBaB9XQBc+HpDLUnkDaZ58zoCIA07LFL7FElNANM4kVZpnwko2Qs9PHktkdoANmUwVS3MqsKo58WRV2OlTU9qVSaER30sJXfbSs+Q7kr30wE2ife8DoVmIU51GW9alimyAGmp8GouToQ1jfnXR1SXfBy9G3blY6fyVik9pgaSG/kHOeIoy7pK7l44qbK8Ft5xbJHLSwL8uZeP7JjnTItFLLyvSUiT64ZwbWzvtCwIuSSTfSgTUpxNW5xwARiVstIG0nHgbcqKWf3mZ6qrIInqAt5FCZ6joMqj4mx76vOSG89+sZ44Tk1s8qyYll4B1aR2QEzMRNKkcnHgoao1z2XH5TdO7nA0Ps1LOBpTapG+4X+2Xr9BIueOV3apNiCOf3DV26y4AGyrmLAoVQnb5vkAoCWAGwCAJiGxrfaUTA70i4ffqfYA4KuKju4rFTtOeFahXMWEqkwiVTnrtEx+1Zo89m7sfWlA8lzwtiUpS9Cb5sYhiStvSuOQ5bFHJIn4xCOJcJWzKsJ8qoLqW0deCP58fMcCveqgamXzTJBu/eZUy3DHF1TUsP/v3n3hSoJN28s4b12/Ffxl/ZvEIVlkv/u7aHOCivx0SZ/RR/nGp6T/jni2GcsbogKogg852ml9/pZ4TpobiOnBBJn0jsSHf2oRAVh8r0pJf6ytRSUXgD7Aa4ZddgjP3fc3PylqivTaKojzmpTebR9y3UAfAC2+VYuHBhC5VMuaTelKGG7RleBi4JKEEj61OmwQ6qv3/+oJpwHAdQOUPok39gnSXfbXRwBuSXdC5afttD8tazK41BTo+ejlfauF9cGfHQr+81ul8TvIxxsSk12WLQU2+cRz+j9ZruFSX647+I8Pg/UH/40VYCuF2xTpU6mO2RszJ5+9Wztcd5G7f/bfHyeGFGQGrpSvfvNT71AEKV6Qji6bKMUl7ZqKi119tMentSNqLvJRYybRkD7mUastDY+INKXxyD52K+s5SC2e1zYdFDbGJI5sRZb6OpuLEMmmVmOf9rY4EGEGjzyz9pW3Z241gXZ/R9ovDL3olHrAq3r0GVrtbZvCS2VXexsMmit0SBLORD8MIm4CcSmSPl/X4t6NKSi0C0zS/+CJmmTtl4dja5K+KScSi/QZkutusNQMCYhIoaoPpsmNCU6xb3bCbk6UMhJ1QFV2l8JBnsT6CtKmnpmQUMoiXKIm2KoAoXmzbN+aSF7F5DuxydxXCvUFufOAaJeo4oBCOjH8+rEnK7KZxyQNsr3YPib7fPVjTyiq+lS+uS7OAvB8002H9LVuMg9VOZLCdroVALL+yqA8OWOgZZU4Tyl0XYscHYc2+/ltb+D0dax4U2Ue9hgd32gTPdPFo+SeF5iARuUb4HzTS3vsTBttQilsyKtacCesGc9hqxeqBmPaVtkhULsA6jUWwMIc+Ja24sZDdZdlq5eRdSyJ9FVd57fabAiIKjuBMTKUvOmo2LCegweCo890q1dIfe7u3jGUaR+3Hv0v+Pje/UC9epSg0vLMFi+jxYSwpZp6s2EohaAe7ZkrY89a2slnPZ80E9ttkHOPnP7dZ8N1TU5WW7+gtOsmWSdU5P9z33CtmZfYcE7eqzwZ8qlcFDnxPMZyVJiirQxJ128pgQaIDXmvnArxIQXMJ+mhE6iukW3EOg0bzDQAkitT8Yz2PLENljhxPxO9OywUGbQq73EaXg/g8QaQAcL9JGxxikDcz47F4TAArxbncV2CkgrAEEQkERCVOkOEODRntio87BVJRVVpkrS6YZeEv0lfydNzSQ2gYRPn5H3kWAi2z+6Th4/Ny8PHjCCZKXk5jFwk0LyIubtdf08bGf0te00akToKqlaMB9u7CgRpNKVtCTQksRqqtMpYIMDj4Ys4mLKBBDgcBQ9htKrRZBiobCMNYPa5mQHkgqFzoUkpsosaSFbqsvTjZZkcRVXWbuwyvlwTe1dP4yzi+MgFQEsasY2Rl+Y37OPc+p2AKrB+tHEWYJL+i2OgN7B2ZMC2c/wNLwtwmaTOHD9XAA0ga/J+2gZSg6kfgwygWQnpYuuVfgyy5Rz05dfgR4Dj5uZKHQHQABIQ6f6K7KPNvS5BbUhlBdL7VCi9mw/i1ksFNDhCfVKx0aWxBESwczyIGz46Qh0FEI7Dh1lU5S3LphyxYOY0Q0AjTuXgkU3ZxTyBsY4DaI8dOpyafA+ou9sb2kMR26ZAy8MxpGGhcABN5sK9yhX5jrUG3RUOsBCfNcAApCWpEf7OZ3JzHobTTDPpPM/9PzBFc7J0xwYvAAAAAElFTkSuQmCC",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Dr&&Dr.tagName.toUpperCase()==="SCRIPT"&&Dr.src||new URL("ZYWLGIS.umd.js",document.baseURI).href).href,pixelOffset:new Cesium.Cartesian2(0,0),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:35,height:35,disableDepthTestDistance:Number.POSITIVE_INFINITY},s))}if(Array.isArray(this.polylineCoordinates_)&&this.polylineCoordinates_.length){let s=B.transformCartesian3(this.startCoordinate_),a=this.startCoordinate_.altitude,o=this.TakeOffBillboardCoordinate_.altitude;a>o?a-o>this.TakeOffSecureHeight_?(this.TakeOffBillboardCoordinate1_={longitude:this.TakeOffBillboardCoordinate_.longitude,latitude:this.TakeOffBillboardCoordinate_.latitude,altitude:a},this.TakeOffBillboardCoordinate2_=void 0):(this.TakeOffBillboardCoordinate1_={longitude:this.TakeOffBillboardCoordinate_.longitude,latitude:this.TakeOffBillboardCoordinate_.latitude,altitude:o+this.TakeOffSecureHeight_},this.TakeOffBillboardCoordinate2_={longitude:this.startCoordinate_.longitude,latitude:this.startCoordinate_.latitude,altitude:o+this.TakeOffSecureHeight_}):(this.TakeOffBillboardCoordinate1_={longitude:this.TakeOffBillboardCoordinate_.longitude,latitude:this.TakeOffBillboardCoordinate_.latitude,altitude:o+this.TakeOffSecureHeight_},this.TakeOffBillboardCoordinate2_={longitude:this.startCoordinate_.longitude,latitude:this.startCoordinate_.latitude,altitude:o+this.TakeOffSecureHeight_}),this.clearTakeOffBillboardHeightLabel();let l=B.transformCartesian3(this.TakeOffBillboardCoordinate1_),h;this.TakeOffBillboardCoordinate2_?h=B.transformCartesian3(this.TakeOffBillboardCoordinate2_):h=s,this.TakeOffBillboardLine1_=t.scene.primitives.add(new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-TakeOffBillboardHeightLine",geometry:new Cesium.PolylineGeometry({positions:[l,n],width:2,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND})}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}));let c=Cesium.Cartesian3.midpoint(l,n,new Cesium.Cartesian3),u=Cesium.Cartesian3.distance(l,n);u=Number(u.toFixed(1)),this.TakeOffBillboardHeightLabel_=new xn(this.containerID_),this.TakeOffBillboardHeightLabel_.DataProcessing({ID:i+"-&-ZYWL-&-TakeOffBillboardHeightLabel",center:c,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${u}m</div>`,dx:0,dy:0,presentationMode:1}}),this.TakeOffBillboardLine2_=t.scene.primitives.add(new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-TakeOffBillboardDistanceLine",geometry:new Cesium.PolylineGeometry({positions:[l,h],width:2,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND})}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b")}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b"),gapColor:Cesium.Color.TRANSPARENT,dashLength:20}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}));let f=Cesium.Cartesian3.midpoint(l,h,new Cesium.Cartesian3),d=Cesium.Cartesian3.distance(l,h);d=Number(d.toFixed(1)),this.TakeOffBillboardDistanceLabel_=new xn(this.containerID_),this.TakeOffBillboardDistanceLabel_.DataProcessing({ID:i+"-&-ZYWL-&-TakeOffBillboardDistanceLabel",center:f,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${d}m</div>`,dx:0,dy:0,presentationMode:1}});let g=B.transformCartesian3(this.polylineCoordinates_[0]),A=Cesium.Cartesian3.midpoint(g,h,new Cesium.Cartesian3),m=Cesium.Cartesian3.distance(g,h);m=Number(m.toFixed(1)),m!==0&&m>1&&(this.TakeOffBillboardLine3_=t.scene.primitives.add(new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-TakeOffBillboardHeightLine1",geometry:new Cesium.PolylineGeometry({positions:[g,h],width:2,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND})}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1})),this.TakeOffBillboardHeightLabel1_=new xn(this.containerID_),this.TakeOffBillboardHeightLabel1_.DataProcessing({ID:i+"-&-ZYWL-&-TakeOffBillboardHeightLabel1",center:A,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${m}m</div>`,dx:0,dy:0,presentationMode:1}}))}if(e){let s=await B.obtainGroundCartesian3s(t,[this.TakeOffBillboardCoordinate_],Cesium.ClassificationType.TERRAIN);this.clearTakeOffBillboardGround(),this.TakeOffBillboardGroundCartographic_||(this.TakeOffBillboardGroundCartographic_=B.transformCartographic(s[0]));let a;this.TakeOffBillboardCoordinate_&&(a=B.transformCartographic(this.TakeOffBillboardCoordinate_));let o;if(a&&(a.height>this.TakeOffBillboardGroundCartographic_.height?o=a.height-this.TakeOffBillboardGroundCartographic_.height:o=this.TakeOffBillboardGroundCartographic_.height-a.height),o<1)return;let l=B.transformCartesian3(this.TakeOffBillboardGroundCartographic_);if(this.TakeOffBillboardGround_)this.TakeOffBillboardGround_.position=l,this.TakeOffBillboardGround_.show=this.visible_;else{let h=B.getPointPrimitiveCollection(this.containerID_);this.TakeOffBillboardGround_=h.add(new Cesium.PointPrimitive({position:l,id:i+"-&-ZYWL-&-TakeOffBillboardGround",show:this.visible_,color:Cesium.Color.WHITE,pixelSize:6}))}if(!this.TakeOffBillboardVerticalLine_){let h=new Cesium.PolylineGeometry({positions:[l,n],width:1}),c=new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-TakeOffBillboardVerticalLine",geometry:h}),u=new Cesium.Primitive({geometryInstances:c,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.WHITE}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1});this.TakeOffBillboardVerticalLine_=t.scene.primitives.add(u)}}}else this.clearTakeOffBillboard()}async reDraw(){this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isEditable_&&this.addAltAction(),this.isDelete_=this.data_?.isDelete??!1,this.isCopy_=this.data_?.isCopy??!1,this.heightMode_=this.data_?.heightMode??1,this.defaultHeight_=this.data_?.defaultHeight??1,this.isAutoDrawAirRoute_=this.data_?.isAutoDrawAirRoute??!1,this.isContainTakeOffBillboard_=this.data_?.isContainTakeOffBillboard??!1,this.TakeOffSecureHeight_=this.data_?.takeOffSecureHeight??100,this.isContainTakeOffBillboard_&&!this.TakeOffBillboard_&&!this.TakeOffBillboardCoordinate_&&(this.TakeOffBillboardCoordinate_=this.data_?.takeOffBillboardCoordinate,this.TakeOffBillboardCoordinate_||B.setCustomCursor(this.containerID_,"custom-cursor"));const e=this.data_.ID,t=B.getMapEngineInstance(this.containerID_),i=this.data_?.coordinates;if(Array.isArray(i)&&i.length){const n=await B.getTerrainHeights(t,this.data_.coordinates),s=le.cloneDeep(n.positions);let a;s.length>1?a=Cesium.Cartesian3.divideByScalar(s.reduce((l,h)=>Cesium.Cartesian3.add(l,h,new Cesium.Cartesian3)),s.length,new Cesium.Cartesian3):a=s[0];const o=await B.getTerrainHeight(t,a);if(a=le.cloneDeep(o.position),this.clearGeometry(),s.length>2&&!this.geometryInstance_){let l=this.data_?.symbol?.polygonColor??"#2f91f8";l=Cesium.Color.fromCssColorString(l);let h=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(s)}),c=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingGroundPolygon",geometry:h}),u=new Cesium.GroundPrimitive({geometryInstances:c,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(l,.3)}}})}),show:this.visible_,asynchronous:!1});this.geometryInstance_=t.scene.groundPrimitives.add(u)}if(s.length>1&&!this.geometryOutlineInstance_){let l=this.data_?.symbol?.lineWidth??2,h=this.data_?.symbol?.lineColor??"#2f91f8";h=Cesium.Color.fromCssColorString(h);let c=le.cloneDeep(s);c.push(c[0]);let u=new Cesium.GroundPolylineGeometry({positions:c,width:l}),f=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingGroundPolygonOutline",geometry:u}),d=new Cesium.GroundPolylinePrimitive({geometryInstances:f,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:h}}})}),show:this.visible_,asynchronous:!1,allowPicking:!1});this.geometryOutlineInstance_=t.scene.groundPrimitives.add(d)}this.reDrawPoints(s),this.reDrawCenterPoints(s),this.reDrawDistanceLabels(s),this.reDrawCenterLabel(a),this.reDrawCenterHTML(a),this.reDrawCustomLabel(s),this.reDrawCustomHTML(s)}}reDrawPolyline=e=>{this.clearPolyline();let t=this.data_?.lineOptions;if(this.isAutoDrawAirRoute_&&t&&this.data_.coordinates&&this.data_.coordinates.length>2){const i=t?.margin??0,n=t?.direction??0,s=t?.overlapW??80,a=t?.height??100,o=t?.altitudeOptimization??!1,l=this.data_?.cameraType??"M3TD";B.AlgorithmForGeneratingPlanarRoutes(this.containerID_.split("-cesium")[0],this.TakeOffBillboardCoordinate_,this.data_.coordinates,{lineOptions:{margin:i,direction:n,overlapW:s,height:a,altitudeOptimization:o},cameraType:l},this.heightMode_,this.defaultHeight_,h=>{this.geometryPolylineInstance_||(this.geometryPolylineInstance_=new vI(this.containerID_,"AirRoutes"),this.geometryPolylineInstance_.DataProcessing({ID:Cg()+"-&-ZYWL-&-GeometryEditingGroundPolygon-AirRoutes",type:2,visible:!0,isClampToGround:!1,isHighlight:!0,zIndex:0,symbol:{lineWidth:2,lineColor:"#0aed8b"},coordinates:h.coordinates})),this.polylineCoordinates_=h.coordinates,this.startCoordinate_=h.start,this.reDrawTakeOffBillboard(),e?this.emitGraphChanged("complete"):this.emitGraphChanged("update")})}};reDrawPoints=e=>{if(this.clearPoints(),B.getMapEngineInstance(this.containerID_)&&this.visible_&&this.isEditable_){const i=B.getBillboardCollection(this.containerID_);for(let n=0;n<e.length;n++){let s=this.data_.ID+"-&-ZYWL-&-GeometryEditingGroundPolygon-Point-"+n,a=e[n];if(this.isStartDraw_&&n===e.length-1)break;let o=!1;e.length>2&&n===e.length-2&&this.isStartDraw_&&(o=!0);let l=i.add(new Cesium.Billboard({position:a,id:s,show:this.visible_,image:B.getDrawPointIcon(o),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:20,height:20,disableDepthTestDistance:Number.POSITIVE_INFINITY},i));this.pointInstances_.push({ID:s,index:n,primitive:l})}}};reDrawCenterPoints=e=>{if(this.visible_&&this.isEditable_&&!this.isStartDraw_&&e.length>=3){let t=B.getMapEngineInstance(this.containerID_),i=B.getPointPrimitiveCollection(this.containerID_),n=[];for(let s=0;s<e.length;s++){let a,o;s===e.length-1?(a=e[s],o=e[0]):(a=e[s],o=e[s+1]),a&&o&&n.push(Cesium.Cartesian3.midpoint(a,o,new Cesium.Cartesian3))}B.getTerrainHeights(t,n).then(s=>{this.clearCenterPoints();for(let a=0;a<s.positions.length;a++){let o=this.data_.ID+"-&-ZYWL-&-GeometryEditingGroundPolygon-CenterPoint-"+a,l=s.positions[a],h=i.add(new Cesium.PointPrimitive({position:l,id:o,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.centerPointInstances_.push({ID:o,index:a,primitive:h})}})}else this.clearCenterPoints()};reDrawDistanceLabels=e=>{if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)&&e.length>=3){let t=B.getMapEngineInstance(this.containerID_),i=[],n=[];for(let s=0;s<e.length;s++){let a,o;if(s===e.length-1?(a=e[s],o=e[0]):(a=e[s],o=e[s+1]),a&&o){i.push(Cesium.Cartesian3.midpoint(a,o,new Cesium.Cartesian3));let l=Cesium.Cartesian3.distance(a,o),h;l>1e3?(l=l/1e3,l=Number(l.toFixed(2)),h=`${l}km`):(l=Number(l.toFixed(2)),h=`${l}m`),n.push({content:h,distance:l})}}B.getTerrainHeights(t,i).then(s=>{this.clearDistanceLabels();for(let a=0;a<s.positions.length;a++){let o=this.data_.ID+"-&-ZYWL-&-GeometryEditingGroundPolygon-DistanceLabel-"+a,l=s.positions[a],h=n[a],c=new xn(this.containerID_),u=0;this.visible_&&this.isEditable_&&(u=-18),c.DataProcessing({ID:o,center:l,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${h.content}</div>`,dx:0,dy:u,presentationMode:h.distance<1?0:11}}),this.distanceLabelInstances_.push(c)}})}else this.clearDistanceLabels()};reDrawCenterLabel=e=>{let t=B.getMapEngineInstance(this.containerID_),i=this.data_?.customLabel;if(t&&this.visible_&&i&&e){let n=B.getLabelCollection(this.containerID_),s=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",a=i?.show??!1,o=i?.content??"",l=i?.showBackground??!1,h=i?.dx??0,c=i?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=a,this.centerLabelInstance_.text=o,this.centerLabelInstance_.showBackground=l,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(h,c)):this.centerLabelInstance_=n.add(new Cesium.Label({position:e,id:s,show:a,text:o,font:"18px sans-serif",showBackground:l,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(h,c),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},n))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML();let t=B.getMapEngineInstance(this.containerID_),i=this.data_?.customHTML;t&&this.visible_&&i&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:i}))};reDrawCustomLabel=e=>{if(B.getMapEngineInstance(this.containerID_)&&this.visible_){if(e.length<1){this.clearCustomLabel();return}e.length!==this.customLabelInstances_.length&&this.clearCustomLabel();let i=B.getLabelCollection(this.containerID_),n=this.data_?.coordinates;for(let s=0;s<e.length;s++){let a=e[s],l=n[s]?.customLabel;if(l){let h=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+s,c=l?.show??!1,u=l?.content??"",f=l?.showBackground??!1,d=l?.dx??0,g=l?.dy??0,A=this.customLabelInstances_.find(m=>m.ID===h);if(A)A.primitive.position=a,A.primitive.show=c,A.primitive.text=u,A.primitive.showBackground=f,A.primitive.pixelOffset=new Cesium.Cartesian2(d,g);else{let m=i.add(new Cesium.Label({position:a,id:h,show:c,text:u,font:"18px sans-serif",showBackground:f,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(d,g),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i));this.customLabelInstances_.push({ID:h,index:s,primitive:m})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{this.clearCustomHTML();let t=B.getMapEngineInstance(this.containerID_);if(t&&this.visible_){let i=this.data_?.coordinates;for(let n=0;n<e.length;n++){let s=e[n],o=i[n]?.customHTML;if(o){let l=new xn(this.containerID_);l.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+n,center:B.getCartesian3FromCartesian3(t,s,!0),customHTML:o}),this.customHTMLInstances_.push(l)}}}};primitivesHighlighted=(e,t,i)=>{if(this.isStartDraw_||this.isEditable_||(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!this.isHighlight_))return;if(this.geometryInstance_){let s;e?s=.4:s=.3,this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),s)}}})})}if(this.geometryOutlineInstance_){let s;e?s=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}):s=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),this.geometryOutlineInstance_.appearance=s}let n;e?n=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}):n=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b")}}})}),this.TakeOffBillboardLine1_&&(this.TakeOffBillboardLine1_.appearance=n),this.TakeOffBillboardLine2_&&(this.TakeOffBillboardLine2_.appearance=n),this.TakeOffBillboardLine3_&&(this.TakeOffBillboardLine3_.appearance=n),this.geometryPolylineInstance_&&this.geometryPolylineInstance_.primitivesHighlighted(e)};clear=()=>{window.EditElement=void 0,B.recoverCursor(this.containerID_,"custom-cursor"),this.clearScreenSpaceHandler(),this.clearTakeOffBillboard(),this.clearGeometry(),this.clearPolyline(),this.clearPoints(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearTakeOffBillboard=()=>{let e=B.getBillboardCollection(this.containerID_);this.TakeOffBillboard_&&e&&e.remove(this.TakeOffBillboard_),this.TakeOffBillboard_=void 0,this.TakeOffBillboardCoordinate_=void 0,this.TakeOffBillboardCoordinate1_=void 0,this.TakeOffBillboardCoordinate2_=void 0,this.clearTakeOffBillboardGround(),this.clearTakeOffBillboardHeightLabel()};clearTakeOffBillboardGround=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.TakeOffBillboardGround_&&e&&e.remove(this.TakeOffBillboardGround_);let t=B.getMapEngineInstance(this.containerID_);this.TakeOffBillboardVerticalLine_&&t&&t?.scene&&t?.scene?.primitives&&t.scene.primitives.remove(this.TakeOffBillboardVerticalLine_),this.TakeOffBillboardGround_=void 0,this.TakeOffBillboardVerticalLine_=void 0};clearTakeOffBillboardHeightLabel=()=>{let e=B.getMapEngineInstance(this.containerID_);this.TakeOffBillboardLine1_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.TakeOffBillboardLine1_),this.TakeOffBillboardLine2_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.TakeOffBillboardLine2_),this.TakeOffBillboardLine3_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.TakeOffBillboardLine3_),this.TakeOffBillboardLine1_=void 0,this.TakeOffBillboardLine2_=void 0,this.TakeOffBillboardLine3_=void 0,this.TakeOffBillboardHeightLabel_&&this.TakeOffBillboardHeightLabel_.clear(),this.TakeOffBillboardHeightLabel_=void 0,this.TakeOffBillboardHeightLabel1_&&this.TakeOffBillboardHeightLabel1_.clear(),this.TakeOffBillboardHeightLabel1_=void 0,this.TakeOffBillboardDistanceLabel_&&this.TakeOffBillboardDistanceLabel_.clear(),this.TakeOffBillboardDistanceLabel_=void 0};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.groundPrimitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.groundPrimitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearPolyline=()=>{this.geometryPolylineInstance_&&this.geometryPolylineInstance_.clear(),this.geometryPolylineInstance_=void 0,this.polylineCoordinates_=[]};clearPoints=()=>{let e=B.getBillboardCollection(this.containerID_);if(this.pointInstances_&&e)for(let t=0;t<this.pointInstances_.length;t++){let i=this.pointInstances_[t];e.remove(i.primitive)}this.pointInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.centerPointInstances_&&e)for(let t=0;t<this.centerPointInstances_.length;t++){let i=this.centerPointInstances_[t];e.remove(i.primitive)}this.centerPointInstances_=[]};clearDistanceLabels=()=>{if(this.distanceLabelInstances_)for(let e=0;e<this.distanceLabelInstances_.length;e++)this.distanceLabelInstances_[e].clear();this.distanceLabelInstances_=[]};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class Y6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryBottomOutlineInstance_=void 0;geometryTopOutlineInstance_=void 0;geometryPolylineInstance_=void 0;bottomPointInstances_=[];topPointInstances_=[];bottomCenterPointInstances_=[];topCenterPointInstances_=[];distanceLabelInstances_=[];verticalLineInstances_=[];minRadiusLabelInstance_=void 0;maxRadiusLabelInstance_=void 0;wallHeightLabelInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;isStartPullUP_=!1;screenSpaceHandler_;wallCoordinates_=[];isAutoDrawAirRoute_=!1;polylineCoordinates_=[];center_=void 0;minHeight_=void 0;maxHeight_=void 0;wallHeight_=void 0;axisInstance_=void 0;polygonPlane_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.lineOptions,e?.lineOptions)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw(),setTimeout(()=>{!this.isStartDraw_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline())},10))};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;switch(e){case"update":t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,class:this.dataClass_,type:e};break;case"delete":i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,class:this.dataClass_,type:e,index:t};break;case"copy":i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,class:this.dataClass_,type:e,index:t};break;default:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,class:this.dataClass_,type:"update"};break}B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseDown=(e,t)=>{!this.isEditable_||t===void 0||(t===9001?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowY"):t===90010?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowYN"):!this.isStartDraw_&&!this.isStartPullUP_&&this.wallHeight_&&this.createPolygonPlane(t,e))};mouseUp=(e,t)=>{!this.isEditable_||t===void 0||(t===9001||t===90010?this.axisInstance_&&this.axisInstance_.mouseUp():this.isStartDraw_&&!this.isStartPullUP_||!this.isStartDraw_&&this.isStartPullUP_||this.clearPolygonPlane(),setTimeout(()=>{!this.isStartDraw_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline(),this.emitGraphChanged("update",t))},10))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_),i;if(this.polygonPlane_){let s=t.scene.camera.getPickRay(e.position);i=B.transformCoordinate(Cesium.IntersectionTests.rayPlane(s,this.polygonPlane_,new Cesium.Cartesian3))}else{let s=B.getClampToGroundPosition(t,e.position,!0);s&&s.coordinate&&(i=le.cloneDeep(s.coordinate))}let n=t.scene.pick(e.position);if(i){if(!this.isStartDraw_&&!this.isStartPullUP_)if(this.data_?.coordinates.length){if(!n)this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.reDrawAxis(),this.emitGraphEdited(),this.clearScreenSpaceHandler();else if(n.primitive instanceof Cesium.PointPrimitive&&typeof n.id=="string"&&(n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-BottomCenterPoint-")||n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-TopCenterPoint-"))){let s=B.extractionIndex(n.id),a=B.transformCoordinate(n.primitive.position);this.data_?.coordinates.splice(s,0,a),this.reDraw(),!this.isStartPullUP_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline())}}else{this.isStartDraw_=!0,this.data_.coordinates.push(le.cloneDeep(i)),this.data_.coordinates.push(le.cloneDeep(i)),this.minHeight_=le.cloneDeep(this.data_.coordinates[0].altitude),this.maxHeight_=le.cloneDeep(this.minHeight_),this.wallHeight_=this.maxHeight_-this.minHeight_;for(let s=0;s<this.data_.coordinates.length;s++)this.data_.coordinates[s].altitude=this.minHeight_;this.center_=B.computeMultipointCenter(this.data_.coordinates),this.createPolygonPlane(),this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(s=>{let a=t.scene.camera.getPickRay(s.endPosition);if(this.isStartDraw_&&this.polygonPlane_)this.data_.coordinates[this.data_.coordinates.length-1]=B.transformCoordinate(Cesium.IntersectionTests.rayPlane(a,this.polygonPlane_,new Cesium.Cartesian3));else if(this.isStartPullUP_&&this.polygonPlane_){let o=Cesium.IntersectionTests.rayPlane(a,this.polygonPlane_,new Cesium.Cartesian3);this.maxHeight_=le.cloneDeep(B.transformCoordinate(o).altitude),this.wallHeight_=this.maxHeight_-this.minHeight_}this.reDraw()},Cesium.ScreenSpaceEventType.MOUSE_MOVE)}else if(this.isStartDraw_&&!this.isStartPullUP_){let s=!1;if(n){if(typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&(n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-BottomPoint-")||n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-TopPoint-")))B.extractionIndex(n.id)===this.data_?.coordinates.length-1&&(s=!0);else{let a=t.scene.drillPick(e.position,20);a=Array.from(new Set(a));for(let o=0;o<a.length;o++)if(n=a[o],typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&(n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-BottomPoint-")||n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-TopPoint-"))&&B.extractionIndex(n.id)===this.data_?.coordinates.length-1){s=!0;break}}if(s){this.isStartDraw_=!1,this.isStartPullUP_=!0,this.data_.coordinates.splice(this.data_.coordinates.length-1,1),this.createPolygonPlane();return}}this.data_.coordinates.push(le.cloneDeep(i))}else if(!this.isStartDraw_&&this.isStartPullUP_){let s=!1;if(n){if(typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-TopPoint-"))B.extractionIndex(n.id)===this.data_?.coordinates.length&&(s=!0);else{let a=t.scene.drillPick(e.position,20);a=Array.from(new Set(a));for(let o=0;o<a.length;o++)if(n=a[o],typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-TopPoint-")&&B.extractionIndex(n.id)===this.data_?.coordinates.length){s=!0;break}}if(s){this.isStartDraw_=!1,this.isStartPullUP_=!1,this.clearPolygonPlane(),this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.reDraw(),!this.isStartPullUP_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline()),this.emitGraphChanged("update");return}}}this.reDraw()}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||!this.isStartPullUP_&&this.isStartDraw_||this.isStartPullUP_&&!this.isStartDraw_))if(this.polygonPlane_){let n=B.getMapEngineInstance(this.containerID_).scene.camera.getPickRay(e.endPosition),s=Cesium.IntersectionTests.rayPlane(n,this.polygonPlane_,new Cesium.Cartesian3);switch(t){case 9990:this.minHeight_=B.transformCoordinate(s).altitude,this.wallHeight_=this.maxHeight_-this.minHeight_;break;case 9991:this.maxHeight_=B.transformCoordinate(s).altitude,this.wallHeight_=this.maxHeight_-this.minHeight_;break;default:s=B.transformCoordinate(s),this.data_.coordinates[Math.abs(t)-1].longitude=s.longitude,this.data_.coordinates[Math.abs(t)-1].latitude=s.latitude;break}this.reDraw(),this.reDrawAxis()}else switch(t){case 9001:case 90010:this.axisInstance_&&this.axisInstance_.mouseMove("Arrow",e,i=>{this.data_.coordinates=le.cloneDeep(i),this.maxHeight_=this.data_.coordinates[0].altitude+this.wallHeight_*.5,this.minHeight_=this.data_.coordinates[0].altitude-this.wallHeight_*.5,this.reDraw()});break}};mouseRightClick=e=>{this.isDelete_&&(e!==void 0?this.data_.coordinates.splice(e-1,1):(this.data_.coordinates=[],this.wallCoordinates_=[],this.polylineCoordinates_=[],this.minHeight_=void 0,this.maxHeight_=void 0,this.wallHeight_=void 0,this.emitGraphRemoved(),this.clear()),this.reDraw(),this.reDrawAxis(),this.reDrawPolyline())};createPolygonPlane=(e,t)=>{this.clearPolygonPlane();let i=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_&&!this.isStartPullUP_&&this.center_){let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(this.center_,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n),this.polygonPlane_=Cesium.Plane.fromPointNormal(this.center_,n)}else if(!this.isStartDraw_&&this.isStartPullUP_){let n=i.scene.camera.heading,s=B.transformCartesian3(this.data_?.coordinates[this.data_?.coordinates.length-1]),a=B.offsetHeadingPitch2Position(s,Cesium.Math.toDegrees(n),0,5).cartesian3,o=B.computeVector(s,a);this.polygonPlane_=Cesium.Plane.fromPointNormal(s,o)}else switch(e){case 9990:{let n=le.cloneDeep(this.data_?.coordinates[0]);n.altitude=this.minHeight_;let s=B.transformCartesian3(n),a=i.scene.globe.ellipsoid.scaleToGeocentricSurface(s,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(a,a);let o=Cesium.Plane.fromPointNormal(s,a),l=i.scene.camera.getPickRay(t.position),h=Cesium.IntersectionTests.rayPlane(l,o,new Cesium.Cartesian3),c=i.scene.camera.heading,u=B.offsetHeadingPitch2Position(h,c,0,10).cartesian3;this.polygonPlane_=Cesium.Plane.fromPointNormal(h,B.computeVector(h,u))}break;case 9991:{let n=le.cloneDeep(this.data_?.coordinates[0]);n.altitude=this.maxHeight_;let s=B.transformCartesian3(n),a=i.scene.globe.ellipsoid.scaleToGeocentricSurface(s,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(a,a);let o=Cesium.Plane.fromPointNormal(s,a),l=i.scene.camera.getPickRay(t.position),h=Cesium.IntersectionTests.rayPlane(l,o,new Cesium.Cartesian3),c=i.scene.camera.heading,u=B.offsetHeadingPitch2Position(h,c,0,10).cartesian3;this.polygonPlane_=Cesium.Plane.fromPointNormal(h,B.computeVector(h,u))}break;default:{let n=this.data_?.coordinates[Math.abs(e)-1];e<0?n.altitude=this.minHeight_:n.altitude=this.maxHeight_;let s=B.transformCartesian3(n),a=i.scene.globe.ellipsoid.scaleToGeocentricSurface(s,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(a,a),this.polygonPlane_=Cesium.Plane.fromPointNormal(s,a)}break}};clearPolygonPlane=()=>{this.polygonPlane_&&(this.polygonPlane_=void 0)};reDrawAxis=()=>{this.geometryInstance_&&this.center_&&this.minHeight_&&this.maxHeight_&&this.wallHeight_&&!this.isStartDraw_&&!this.isStartPullUP_&&this.isEditable_?(this.axisInstance_||(this.axisInstance_=new dF(this.containerID_)),this.axisInstance_.DataProcessing({ID:le.cloneDeep(this.data_.ID),visible:le.cloneDeep(this.visible_),coordinates:le.cloneDeep(this.data_?.coordinates),type:1,minHeight:le.cloneDeep(this.minHeight_),maxHeight:le.cloneDeep(this.maxHeight_),wallHeight:le.cloneDeep(this.wallHeight_)})):this.clearAxis()};reDraw=()=>{this.clearGeometry();let e=this.data_.ID;this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.isAutoDrawAirRoute_=this.data_?.isAutoDrawAirRoute??!1;let t=B.getMapEngineInstance(this.containerID_),i=this.data_?.symbol;this.minHeight_||(this.minHeight_=i?.minHeight,this.minHeight_||Array.isArray(this.wallCoordinates_)&&this.wallCoordinates_.length&&(this.minHeight_=this.wallCoordinates_[0].altitude),this.minHeight_||(this.minHeight_=0)),this.maxHeight_||(this.maxHeight_=i?.maxHeight,this.maxHeight_||Array.isArray(this.wallCoordinates_)&&this.wallCoordinates_.length&&(this.maxHeight_=this.wallCoordinates_[0].altitude),this.maxHeight_||(this.maxHeight_=0)),this.minHeight_&&this.maxHeight_&&(this.wallHeight_=this.maxHeight_-this.minHeight_);let n=this.data_?.coordinates;if(n&&n.length&&i){if(this.center_=B.computeMultipointCenter(n),this.minHeight_&&this.wallHeight_&&(this.center_=B.transformCoordinate(this.center_),this.center_.altitude=this.minHeight_+this.wallHeight_*.5,this.center_=B.transformCartesian3(this.center_)),this.wallCoordinates_=le.cloneDeep(n),(this.wallCoordinates_[0].longitude!==this.wallCoordinates_[this.wallCoordinates_.length-1].longitude||this.wallCoordinates_[0].latitude!==this.wallCoordinates_[this.wallCoordinates_.length-1].latitude||this.wallCoordinates_[0].altitude!==this.wallCoordinates_[this.wallCoordinates_.length-1].altitude)&&this.wallCoordinates_.push(this.wallCoordinates_[0]),!this.geometryInstance_&&this.wallCoordinates_.length>=2){let s=new Cesium.WallGeometry({positions:this.wallCoordinates_.map(o=>B.transformCartesian3(o)),maximumHeights:this.wallCoordinates_.map(()=>this.maxHeight_),minimumHeights:this.wallCoordinates_.map(()=>this.minHeight_)}),a=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingPolygonWall",geometry:s}),appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString("#00C8DF"),.4)}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryInstance_=t.scene.primitives.add(a)}if(!this.geometryBottomOutlineInstance_&&this.wallCoordinates_.length>=2){let s=new Cesium.PolylineGeometry({positions:this.wallCoordinates_.map(o=>(o.altitude=this.minHeight_,B.transformCartesian3(o))),width:6}),a=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingPolygonWallBottomOutline",geometry:s}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryBottomOutlineInstance_=t.scene.primitives.add(a)}if(!this.geometryTopOutlineInstance_&&this.wallCoordinates_.length>=2){let s=new Cesium.PolylineGeometry({positions:this.wallCoordinates_.map(o=>(o.altitude=this.maxHeight_,B.transformCartesian3(o))),width:6}),a=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingPolygonWallTopOutline",geometry:s}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryTopOutlineInstance_=t.scene.primitives.add(a)}}this.reDrawPoints(),this.reDrawCenterPoints(),this.reDrawVerticalLines(),this.reDrawCustomLabel(),this.reDrawCustomHTML()};reDrawPolyline=()=>{this.clearPolyline();let e=this.data_?.lineOptions;if(this.isAutoDrawAirRoute_&&e&&this.minHeight_&&this.maxHeight_&&this.wallHeight_&&this.visible_&&!this.isStartDraw_&&!this.isStartPullUP_){let t=e?.d??37.2,i=e?.GSD??1,n=e?.overlapW??80,s=e?.routeCoverageRate??100,a=e?.routeCoverageDeviationAngle??0,o=e?.cameraType??"M3TD",l=e?.isVertical??!1,h=e?.isIncludingTheTopSurface??!1,c=e?.isTopStart??!1;this.polylineCoordinates_=B.computeGeometryPolygonWallAirRouteMethod(this.containerID_,this.data_?.coordinates,this.minHeight_,this.maxHeight_,t,i,n/100,s,a,o,l,h,c),!this.geometryPolylineInstance_&&this.polylineCoordinates_&&(this.geometryPolylineInstance_=new vI(this.containerID_,"AirRoutes"),this.geometryPolylineInstance_.DataProcessing({ID:Cg()+"-&-ZYWL-&-GeometryEditingPolygonWall-AirRoutes-&-ZYWL-&-NotEditablePolyline",type:2,visible:this.visible_,isClampToGround:!1,isHighlight:!1,zIndex:0,symbol:{lineWidth:2,lineColor:"#0aed8b"},coordinates:this.polylineCoordinates_}))}};reDrawPoints=()=>{if(this.clearPoints(),B.getMapEngineInstance(this.containerID_)&&this.visible_&&this.isEditable_){let t=B.getPointPrimitiveCollection(this.containerID_);for(let i=0;i<this.data_?.coordinates.length;i++){let n=i+1,s=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolygonWall-BottomPoint-"+n,a=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolygonWall-TopPoint-"+n;if(this.isStartDraw_&&i===this.data_?.coordinates.length-1)break;let o=le.cloneDeep(this.data_?.coordinates[i]);o.altitude=this.minHeight_;let l=t.add(new Cesium.PointPrimitive({position:B.transformCartesian3(o),id:s,show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:20,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.bottomPointInstances_.push({ID:s,index:i,primitive:l});let h=le.cloneDeep(this.data_?.coordinates[i]);h.altitude=this.maxHeight_;let c=t.add(new Cesium.PointPrimitive({position:B.transformCartesian3(h),id:a,show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:20,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.topPointInstances_.push({ID:a,index:i,primitive:c})}}};reDrawCenterPoints=()=>{if(this.clearCenterPoints(),B.getMapEngineInstance(this.containerID_)&&this.visible_&&this.isEditable_&&!this.isStartDraw_&&!this.isStartPullUP_&&this.wallHeight_){let t=B.getPointPrimitiveCollection(this.containerID_);for(let i=0;i<this.data_?.coordinates.length;i++){let n=i+1,s=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolygonWall-BottomCenterPoint-"+n,a=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolygonWall-TopCenterPoint-"+n,o=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolygonWall-DistanceLabel-"+n,l=le.cloneDeep(this.data_?.coordinates[i]),h;i===this.data_?.coordinates.length-1?h=le.cloneDeep(this.data_?.coordinates[0]):h=le.cloneDeep(this.data_?.coordinates[i+1]);let c=B.computeCenter(l,h);c=B.transformCoordinate(c);let u=le.cloneDeep(c);u.altitude=this.minHeight_;let f=t.add(new Cesium.PointPrimitive({position:B.transformCartesian3(u),id:s,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.bottomCenterPointInstances_.push({ID:s,index:i,primitive:f});let d=le.cloneDeep(c);d.altitude=this.maxHeight_;let g=t.add(new Cesium.PointPrimitive({position:B.transformCartesian3(d),id:a,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.topCenterPointInstances_.push({ID:a,index:i,primitive:g});let A=B.computeDistance(l,h),m;A>1e3?(A=A/1e3,A=Number(A.toFixed(2)),m=`${A}km`):(A=Number(A.toFixed(2)),m=`${A}m`);let p=new xn(this.containerID_);p.DataProcessing({ID:o,center:B.transformCartesian3(u),customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${m}</div>`,dx:0,dy:-15,presentationMode:1}}),this.distanceLabelInstances_.push(p);let C=new xn(this.containerID_);C.DataProcessing({ID:o,center:B.transformCartesian3(d),customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${m}</div>`,dx:0,dy:-15,presentationMode:1}}),this.distanceLabelInstances_.push(C)}}};reDrawVerticalLines=()=>{if(this.clearVerticalLines(),this.minHeight_&&this.maxHeight_&&this.wallHeight_&&this.visible_&&this.isEditable_){let e=this.data_.ID,t=B.getMapEngineInstance(this.containerID_);for(let i=0;i<this.data_?.coordinates.length;i++){let n=le.cloneDeep(this.data_?.coordinates[i]);n.altitude=this.minHeight_;let s=le.cloneDeep(this.data_?.coordinates[i]);s.altitude=this.maxHeight_;let a=new Cesium.PolylineGeometry({positions:[B.transformCartesian3(n),B.transformCartesian3(s)],width:5}),o=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWallVerticalLine",geometry:a}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.verticalLineInstances_.push(t.scene.primitives.add(o))}}};reDrawCustomLabel=()=>{if(B.getMapEngineInstance(this.containerID_)){let t=B.getLabelCollection(this.containerID_);if(this.visible_){let i=this.data_?.coordinates;if(this.center_&&i&&i.length){let s=i[0]?.customLabel;if(s){let a=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",o=s?.show??!1,l=s?.content??"",h=s?.showBackground??!1,c=s?.dx??0,u=s?.dy??0,f=this.customLabelInstances_.find(d=>d.ID===a);if(f)f.primitive.position=this.center_,f.primitive.show=o,f.primitive.text=l,f.primitive.showBackground=h,f.primitive.pixelOffset=new Cesium.Cartesian2(c,u);else{let d=t.add(new Cesium.Label({position:this.center_,id:a,show:o,text:l,font:"18px sans-serif",showBackground:h,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(c,u),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:a,index:0,primitive:d})}}}else this.clearCustomLabel()}else this.clearCustomLabel()}};reDrawCustomHTML=()=>{if(B.getMapEngineInstance(this.containerID_)&&(this.clearCustomHTML(),this.visible_)){let t=this.data_?.coordinates;if(this.center_&&t&&t.length){let n=t[0]?.customHTML;if(n){let s=new xn(this.containerID_);s.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:n}),this.customHTMLInstances_.push(s)}}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||(this.axisInstance_&&this.axisInstance_.primitivesHighlighted(t),(t==="ArrowY"||t==="ArrowYN")&&e&&this.axisInstance_&&this.axisInstance_.primitivesHighlighted(e,t),!this.isEditable_&&(B.HighlightHTMLs(e,this.customHTMLInstances_,i),this.isHighlight_&&(this.geometryInstance_&&(this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})})),this.geometryInstance_&&e&&(this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})})))))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearAxis(),this.clearGeometry(),this.clearPolyline(),this.clearPoints(),this.clearCenterPoints(),this.clearVerticalLines(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearAxis=()=>{this.axisInstance_&&this.axisInstance_.clear(),this.axisInstance_=void 0};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryInstance_=void 0,this.geometryBottomOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryBottomOutlineInstance_),this.geometryBottomOutlineInstance_=void 0,this.geometryTopOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryTopOutlineInstance_),this.geometryTopOutlineInstance_=void 0};clearPolyline=()=>{this.geometryPolylineInstance_&&this.geometryPolylineInstance_.clear(),this.geometryPolylineInstance_=void 0,this.polylineCoordinates_=[]};clearPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.bottomPointInstances_&&e&&this.bottomPointInstances_.forEach(t=>{e.remove(t.primitive)}),this.bottomPointInstances_=[],this.topPointInstances_&&e&&this.topPointInstances_.forEach(t=>{e.remove(t.primitive)}),this.topPointInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.bottomCenterPointInstances_&&e&&this.bottomCenterPointInstances_.forEach(t=>{e.remove(t.primitive)}),this.bottomCenterPointInstances_=[],this.topCenterPointInstances_&&e&&this.topCenterPointInstances_.forEach(t=>{e.remove(t.primitive)}),this.topCenterPointInstances_=[],this.distanceLabelInstances_&&this.distanceLabelInstances_.forEach(t=>{t.clear()}),this.distanceLabelInstances_=[]};clearVerticalLines=()=>{let e=B.getMapEngineInstance(this.containerID_);this.verticalLineInstances_&&e&&e?.scene&&e?.scene?.primitives&&this.verticalLineInstances_.forEach(t=>{e.scene.primitives.remove(t)}),this.verticalLineInstances_=[]};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{this.customHTMLInstances_&&this.customHTMLInstances_.forEach(e=>{e.clear()}),this.customHTMLInstances_=[]}}class q6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;geometryPolylineInstance_=void 0;pointInstances_=[];centerPointInstances_=[];distanceLabelInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isCopy_=!1;isStartDraw_=!1;screenSpaceHandler_;heightMode_=0;defaultHeight_=void 0;coordinateCartesian3s_=[];isAutoDrawAirRoute_=!1;polylineCoordinates_=[];polygonPlane_=void 0;directions_=[];axisInstance_=void 0;isSupportConcavePolygons_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.lineOptions,e?.lineOptions)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw(),this.isStartDraw_||this.reDrawPolyline(),this.reDrawAxis())};emitGraphChanged=(e,t)=>{let i,n=this.containerID_.split("-cesium")[0],s=B.addTerrainHeight(n,this.data_.coordinates,this.heightMode_);switch(this.data_.coordinates=s,e){case"update":t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,class:this.dataClass_,type:e};break;case"delete":i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,class:this.dataClass_,type:e,index:t};break;case"copy":i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,class:this.dataClass_,type:e,index:t};break;default:i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,class:this.dataClass_,type:"update"};break}B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseDown=(e,t)=>{!this.isEditable_||t===void 0||(t===9e3?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowX"):t===9001?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowY"):t===9002?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowZ"):t===9020?this.axisInstance_&&this.axisInstance_.mouseDown("SphereX",e):t===9021?this.axisInstance_&&this.axisInstance_.mouseDown("SphereY",e):t===9022?this.axisInstance_&&this.axisInstance_.mouseDown("SphereZ",e):this.createSlopePlaneEntity())};mouseUp=(e,t)=>{!this.isEditable_||t===void 0||(t===9e3||t===9001||t===9002||t===9020||t===9021||t===9022?this.axisInstance_&&this.axisInstance_.mouseUp():this.clearSlopePlaneEntity(),this.reDrawAxis(),this.isStartDraw_||this.reDrawPolyline(),this.emitGraphChanged("update",t))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_),i=B.getClampToGroundPosition(t,e.position,!0),n=t.scene.pick(e.position);if(i&&i.coordinate){let s=le.cloneDeep(i.coordinate);if(this.isStartDraw_)if(this.data_.coordinates.length===2){this.data_.coordinates.push(le.cloneDeep(s)),this.createSlopePlaneEntity();let a=this.calculateFinishPoint(le.cloneDeep(this.data_.coordinates[this.data_.coordinates.length-1]));this.data_.coordinates.push(B.getCoordinateFromCartesian3(t,a))}else this.data_.coordinates.length===4&&(this.clearSlopePlaneEntity(),this.isStartDraw_=!1,this.clearScreenSpaceHandler(),this.directions_=B.computePolygonVector(this.containerID_,this.data_?.coordinates,this.data_?.lineOptions?.reversal),this.reDrawAxis(),this.isStartDraw_||this.reDrawPolyline());else if(!this.data_?.coordinates.length)this.data_.coordinates.push(le.cloneDeep(s)),this.data_.coordinates.push(le.cloneDeep(s)),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(this.mouseMoveStartDraw,Cesium.ScreenSpaceEventType.MOUSE_MOVE);else if(n){if(typeof n.id=="string"){let a=n.id;if(n.primitive instanceof Cesium.PointPrimitive&&a.includes("-&-ZYWL-&-GeometryEditingSlantPolygon-CenterPoint-")){let o=B.extractionIndex(a),l=n.primitive.position;l&&(this.data_.coordinates.splice(o+1,0,B.transformCoordinate(l)),setTimeout(()=>{this.reDrawCustomHTML()},0),this.directions_=B.computePolygonVector(this.containerID_,this.data_?.coordinates,this.data_?.lineOptions?.reversal),this.reDrawAxis(),this.isStartDraw_||this.reDrawPolyline())}}}else{this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.reDraw(),this.reDrawAxis(),this.emitGraphEdited(),this.clearScreenSpaceHandler();return}this.reDraw(),this.emitGraphChanged("update")}};mouseMoveStartDraw=e=>{if(this.isStartDraw_){let t=B.getMapEngineInstance(this.containerID_);if(this.polygonPlane_){let i=t.scene.camera.getPickRay(e.endPosition),n=B.getCoordinateFromCartesian3(t,Cesium.IntersectionTests.rayPlane(i,this.polygonPlane_,new Cesium.Cartesian3),!1);if(n){this.data_.coordinates[this.data_.coordinates.length-2].longitude=n.longitude,this.data_.coordinates[this.data_.coordinates.length-2].latitude=n.latitude,this.data_.coordinates[this.data_.coordinates.length-2].altitude=n.altitude;let s=B.getCoordinateFromCartesian3(t,this.calculateFinishPoint(le.cloneDeep(this.data_.coordinates[this.data_.coordinates.length-2])));this.data_.coordinates[this.data_.coordinates.length-1].longitude=s.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=s.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=s.altitude}}else{let i=B.getClampToGroundPosition(t,e.endPosition,!0);i&&i.coordinate&&(this.data_.coordinates[this.data_.coordinates.length-1].longitude=i.coordinate.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=i.coordinate.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=i.coordinate.altitude)}this.reDraw()}};mouseMove=(e,t)=>{if(!this.isEditable_||t===void 0)return;let i=B.getMapEngineInstance(this.containerID_);if(t===9e3||t===9001||t===9002)this.axisInstance_&&this.axisInstance_.mouseMove("Arrow",e,n=>{this.data_.coordinates=n,this.reDraw()});else if(t===9020||t===9021||t===9022)this.axisInstance_&&this.axisInstance_.mouseMove("Sphere",e,n=>{this.data_.coordinates=n,this.reDraw()});else{let n=this.data_?.coordinates;if(n&&n.length){let s=i.scene.camera.getPickRay(e.endPosition),a=Cesium.IntersectionTests.rayPlane(s,this.polygonPlane_,new Cesium.Cartesian3),o=B.getCoordinateFromCartesian3(i,a);if(o){this.data_?.lineOptions?.reversal;let l,h,c,u;t===0?(l=this.data_?.coordinates.length-2,h=this.data_?.coordinates.length-1,c=t+1,u=t+2):t===this.data_?.coordinates.length-1?(l=t-2,h=t-1,c=0,u=1):(t===1?l=this.data_?.coordinates.length-1:l=t-2,h=t-1,c=t+1,t===this.data_?.coordinates.length-2?u=0:u=t+2);let f=B.getCartesian3FromCoordinate(i,this.data_.coordinates[l]),d=B.getCartesian3FromCoordinate(i,this.data_.coordinates[h]),g=B.getCartesian3FromCoordinate(i,this.data_.coordinates[c]),A=B.getCartesian3FromCoordinate(i,this.data_.coordinates[u]),m=B.computeVector(a,d),p=B.computeVector(a,g),C=B.computeCrossVector(p,m);this.data_?.lineOptions?.reversal&&Cesium.Cartesian3.negate(C,C);let E=B.computeVectorDot(C,this.directions_[2]),x=E/(E?Math.abs(E):1),w=Cesium.Math.toDegrees(Cesium.Cartesian3.angleBetween(p,m))*x,T=B.computeVector(g,A),D=B.computeVector(g,a),O=B.computeCrossVector(T,D);this.data_?.lineOptions?.reversal&&Cesium.Cartesian3.negate(O,O);let P=B.computeVectorDot(O,this.directions_[2]),R=P/(P?Math.abs(P):1),H=Cesium.Math.toDegrees(Cesium.Cartesian3.angleBetween(T,D))*R,N=B.computeVector(d,f),U=B.computeVector(d,a),F=B.computeCrossVector(U,N);this.data_?.lineOptions?.reversal&&Cesium.Cartesian3.negate(F,F);let j=B.computeVectorDot(F,this.directions_[2]),Y=j/(j?Math.abs(j):1),q=Cesium.Math.toDegrees(Cesium.Cartesian3.angleBetween(U,N))*Y;this.isSupportConcavePolygons_?(this.data_.coordinates[t].longitude=o.longitude,this.data_.coordinates[t].latitude=o.latitude,this.data_.coordinates[t].altitude=o.altitude,this.reDraw()):w>=0&&H>=0&&q>=0&&(this.data_.coordinates[t].longitude=o.longitude,this.data_.coordinates[t].latitude=o.latitude,this.data_.coordinates[t].altitude=o.altitude,this.reDraw())}}}};mouseRightClick=e=>{this.isDelete_&&(e!==void 0?(this.data_.coordinates.splice(e,1),this.emitGraphChanged("delete",e),this.reDrawAxis()):(this.data_.coordinates=[],this.emitGraphRemoved(),this.clearAxis()),this.clearDistanceLabels(),this.reDraw(),this.isStartDraw_||this.reDrawPolyline())};createSlopePlaneEntity=()=>{let e=B.getMapEngineInstance(this.containerID_),t,i,n;if(this.isStartDraw_){t=this.data_.coordinates[0],i=this.data_.coordinates[1];let s=B.getCartesian3FromCoordinate(e,t),a=B.getCartesian3FromCoordinate(e,i);n=Cesium.Cartesian3.subtract(a,s,new Cesium.Cartesian3),Cesium.Cartesian3.normalize(n,n),this.polygonPlane_=Cesium.Plane.fromPointNormal(a,n)}else n=this.directions_[2],this.polygonPlane_=Cesium.Plane.fromPointNormal(this.center_,n)};clearSlopePlaneEntity(){this.polygonPlane_&&(this.polygonPlane_=void 0)}calculateFinishPoint=e=>{let t=B.getMapEngineInstance(this.containerID_),i=this.data_.coordinates[0],n=this.data_.coordinates[1],s=B.getCartesian3FromCoordinate(t,i),a=B.getCartesian3FromCoordinate(t,n),o=Cesium.Cartesian3.subtract(a,s,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(o,o),Cesium.Cartesian3.negate(o,o);let l=Cesium.Cartesian3.distance(s,a),h=Cesium.Cartesian3.multiplyByScalar(o,l,new Cesium.Cartesian3);return e=B.getCartesian3FromCoordinate(t,e),Cesium.Cartesian3.add(e,h,new Cesium.Cartesian3)};reDrawAxis=()=>{this.geometryInstance_&&this.data_?.coordinates.length>=3&&this.isEditable_?(this.axisInstance_||(this.axisInstance_=new dF(this.containerID_)),this.axisInstance_.DataProcessing({ID:this.data_.ID,visible:this.visible_,coordinates:this.data_?.coordinates,reversal:this.data_?.lineOptions?.reversal})):this.clearAxis()};reDraw=()=>{let e=this.data_.ID;this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.isCopy_=this.data_?.isCopy??!1,this.heightMode_=this.data_?.heightMode??1,this.defaultHeight_=this.data_?.defaultHeight??1,this.isAutoDrawAirRoute_=this.data_?.isAutoDrawAirRoute??!1,this.isSupportConcavePolygons_=this.data_?.isSupportConcavePolygons??!1;let t=B.getMapEngineInstance(this.containerID_);if(t){this.clearGeometry();let i=this.data_?.coordinates;Array.isArray(i)&&(this.coordinateCartesian3s_=i.map(s=>B.getCartesian3FromCoordinate(t,s,!1)));let n=this.data_?.symbol?.polygonColor??"#fff";if(n=Cesium.Color.fromCssColorString(n),this.coordinateCartesian3s_.length>1){if(this.center_=Cesium.Cartesian3.divideByScalar(this.coordinateCartesian3s_.reduce((s,a)=>Cesium.Cartesian3.add(s,a,new Cesium.Cartesian3)),this.coordinateCartesian3s_.length,new Cesium.Cartesian3),this.coordinateCartesian3s_.length>2&&!this.geometryInstance_){let s=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(this.coordinateCartesian3s_),perPositionHeight:!0}),a=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingSlantPolygon",geometry:s}),o=new Cesium.Primitive({geometryInstances:a,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(n,.3)}}})}),depthFailAppearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(n,0)}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryInstance_=t.scene.primitives.add(o)}if(!this.geometryOutlineInstance_){let s=this.data_?.symbol?.lineWidth??2,a=this.data_?.symbol?.lineColor??"#fff";a=Cesium.Color.fromCssColorString(a);let o=le.cloneDeep(this.coordinateCartesian3s_);o.push(o[0]);let l=new Cesium.PolylineGeometry({positions:o,width:s}),h=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingSlantPolygonOutline",geometry:l}),c=new Cesium.Primitive({geometryInstances:h,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:a,outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:a,gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryOutlineInstance_=t.scene.primitives.add(c)}}else this.coordinateCartesian3s_.length===1&&(this.center_=this.coordinateCartesian3s_[0]);this.reDrawPoints(),this.reDrawCenterPoints(),this.reDrawDistanceLabels(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}};reDrawPolyline=()=>{this.clearPolyline();let e=this.data_?.lineOptions;if(this.isAutoDrawAirRoute_&&e&&this.data_.coordinates&&this.data_.coordinates.length>=3&&this.visible_){let t=e?.d??37.2,i=e?.GSD??1,n=e?.overlapW??80,s=e?.cameraType??"M3TD",a=e?.reversal??!1,o=e?.isVertical??!1;if(this.isSupportConcavePolygons_){let l=e?.overlapH??70;this.polylineCoordinates_=B.computeSlantPolygonAirRouteMethod11(this.containerID_,this.data_?.coordinates,t,i,l/100,n/100,s,a,o)}else this.polylineCoordinates_=B.computeSlantPolygonAirRouteMethod(this.containerID_,this.data_?.coordinates,t,i,n/100,s,a,o);this.geometryPolylineInstance_||(this.geometryPolylineInstance_=new vI(this.containerID_,"AirRoutes"),this.geometryPolylineInstance_.DataProcessing({ID:Cg()+"-&-ZYWL-&-GeometryEditingSlantPolygon-AirRoutes-&-ZYWL-&-NotEditablePolyline",type:2,visible:this.visible_,isClampToGround:!1,isHighlight:!1,zIndex:0,symbol:{lineWidth:2,lineColor:"#0aed8b"},coordinates:this.polylineCoordinates_}))}};reDrawPoints=()=>{if(this.clearPoints(),B.getMapEngineInstance(this.containerID_)&&this.visible_&&this.isEditable_){let t=B.getPointPrimitiveCollection(this.containerID_);for(let i=0;i<this.coordinateCartesian3s_.length;i++){let n=this.data_.ID+"-&-ZYWL-&-GeometryEditingSlantPolygon-Point-"+i,s=this.coordinateCartesian3s_[i];if(this.isStartDraw_){if(this.data_?.coordinates.length===2){if(i===this.coordinateCartesian3s_.length-1)break}else if(this.data_?.coordinates.length===4&&i===this.coordinateCartesian3s_.length-2)continue}let a=t.add(new Cesium.PointPrimitive({position:s,id:n,show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:20,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.pointInstances_.push({ID:n,index:i,primitive:a})}}};reDrawCenterPoints=()=>{if(B.getMapEngineInstance(this.containerID_)&&this.visible_&&this.isEditable_&&!this.isStartDraw_){if(this.coordinateCartesian3s_.length<3){this.clearCenterPoints();return}let t=B.getPointPrimitiveCollection(this.containerID_);for(let i=0;i<this.coordinateCartesian3s_.length;i++){let n=this.data_.ID+"-&-ZYWL-&-GeometryEditingSlantPolygon-CenterPoint-"+i,s,a;i===this.coordinateCartesian3s_.length-1?(s=this.coordinateCartesian3s_[i],a=this.coordinateCartesian3s_[0]):(s=this.coordinateCartesian3s_[i],a=this.coordinateCartesian3s_[i+1]);let o=Cesium.Cartesian3.midpoint(s,a,new Cesium.Cartesian3),l=this.centerPointInstances_.find(h=>h.ID===n);if(l)l.primitive.position=o,l.primitive.show=this.visible_;else{let h=t.add(new Cesium.PointPrimitive({position:o,id:n,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.centerPointInstances_.push({ID:n,index:i,primitive:h})}}}else this.clearCenterPoints()};reDrawDistanceLabels=()=>{if(this.clearDistanceLabels(),B.getMapEngineInstance(this.containerID_)&&this.visible_&&this.isEditable_&&!this.isStartDraw_)for(let t=0;t<this.coordinateCartesian3s_.length;t++){let i=this.data_.ID+"-&-ZYWL-&-GeometryEditingGSlantPolygon-DistanceLabel-"+t,n,s;t===this.coordinateCartesian3s_.length-1?(n=this.coordinateCartesian3s_[t],s=this.coordinateCartesian3s_[0]):(n=this.coordinateCartesian3s_[t],s=this.coordinateCartesian3s_[t+1]);let a=Cesium.Cartesian3.midpoint(n,s,new Cesium.Cartesian3),o=Cesium.Cartesian3.distance(n,s),l;o>1e3?(o=o/1e3,o=Number(o.toFixed(2)),l=`${o}km`):(o=Number(o.toFixed(2)),l=`${o}m`);let h=new xn(this.containerID_);h.DataProcessing({ID:i,center:a,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${l}</div>`,dx:0,dy:-15,presentationMode:1}}),this.distanceLabelInstances_.push(h)}};reDrawCenterLabel=()=>{if(B.getMapEngineInstance(this.containerID_)&&this.visible_){let t=B.getLabelCollection(this.containerID_),i=this.data_?.customLabel;if(i&&this.center_){let n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=i?.show??!1,a=i?.content??"",o=i?.showBackground??!1,l=i?.dx??0,h=i?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t))}else this.clearCenterLabel()}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.customHTML;e&&this.visible_&&t&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:t}))};reDrawCustomLabel=()=>{if(B.getMapEngineInstance(this.containerID_)&&this.visible_){if(this.coordinateCartesian3s_.length<1){this.clearCustomLabel();return}let t=B.getLabelCollection(this.containerID_),i=this.data_?.coordinates;for(let n=0;n<this.coordinateCartesian3s_.length;n++){let s=this.coordinateCartesian3s_[n],o=i[n]?.customLabel;if(o){let l=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+n,h=o?.show??!1,c=o?.content??"",u=o?.showBackground??!1,f=o?.dx??0,d=o?.dy??0,g=this.customLabelInstances_.find(A=>A.ID===l);if(g)g.primitive.position=s,g.primitive.show=h,g.primitive.text=c,g.primitive.showBackground=u,g.primitive.pixelOffset=new Cesium.Cartesian2(f,d);else{let A=t.add(new Cesium.Label({position:s,id:l,show:h,text:c,font:"18px sans-serif",showBackground:u,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(f,d),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:l,index:n,primitive:A})}}}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{this.clearCustomHTML();let e=B.getMapEngineInstance(this.containerID_);if(e&&this.visible_){let t=this.data_?.coordinates;for(let i=0;i<this.coordinateCartesian3s_.length;i++){let n=this.coordinateCartesian3s_[i],a=t[i]?.customHTML;if(a){let o=new xn(this.containerID_);o.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+i,center:B.getCartesian3FromCartesian3(e,n,!1),customHTML:a}),this.customHTMLInstances_.push(o)}}}};primitivesHighlighted=(e,t,i)=>{if(!this.isStartDraw_&&(this.axisInstance_&&this.axisInstance_.primitivesHighlighted(t),(t==="ArrowX"||t==="ArrowY"||t==="ArrowZ"||t==="SphereX"||t==="SphereY"||t==="SphereZ")&&e&&this.axisInstance_&&this.axisInstance_.primitivesHighlighted(e,t),!this.isEditable_&&(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!!this.isHighlight_))){if(this.geometryInstance_&&(this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})})),this.geometryOutlineInstance_){let n=this.data_?.symbol?.lineColor??"#fff";n=Cesium.Color.fromCssColorString(n),this.geometryOutlineInstance_.appearance=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:n,outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})})}this.geometryInstance_&&e&&(this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})})),this.geometryOutlineInstance_&&e&&(this.geometryOutlineInstance_.appearance=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}))}};clear=()=>{window.AxisInstance=void 0,window.EditElement=void 0,B.recoverCursor(this.containerID_,"custom-cursor"),this.clearScreenSpaceHandler(),this.clearAxis(),this.clearGeometry(),this.clearPolyline(),this.clearPoints(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearAxis=()=>{this.axisInstance_&&this.axisInstance_.clear(),this.axisInstance_=void 0};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearPolyline=()=>{this.geometryPolylineInstance_&&this.geometryPolylineInstance_.clear(),this.geometryPolylineInstance_=void 0,this.polylineCoordinates_=[]};clearPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.pointInstances_&&e)for(let t=0;t<this.pointInstances_.length;t++){let i=this.pointInstances_[t];e.remove(i.primitive)}this.pointInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.centerPointInstances_&&e)for(let t=0;t<this.centerPointInstances_.length;t++){let i=this.centerPointInstances_[t];e.remove(i.primitive)}this.centerPointInstances_=[]};clearDistanceLabels=()=>{if(this.distanceLabelInstances_)for(let e=0;e<this.distanceLabelInstances_.length;e++)this.distanceLabelInstances_[e].clear();this.distanceLabelInstances_=[]};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class j6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;visible_=!0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};reDraw=()=>{let e=this.data_.ID;this.visible_=this.data_?.visible??!0,this.clear();let t=B.getMapEngineInstance(this.containerID_),i=this.data_?.coordinates;if(t&&i&&i.length&&this.visible_){let n=B.computationBoundaryCoordinate(i),s=[n[0],n[1],n[2],n[1],n[2],n[3],n[0],n[3],n[0],n[1]],a=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray(s))}),o=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-PhotoPresentation",geometry:a}),l=this.data_.url;Cesium.GroundPrimitive.initializeTerrainHeights().then(()=>{this.geometryInstance_&&t.scene.primitives.remove(this.geometryInstance_);let h=new Cesium.GroundPrimitive({geometryInstances:o,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Image",uniforms:{image:l}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryInstance_=t.scene.primitives.add(h)})}};clear=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryInstance_=void 0}}class Z6e{containerID_=void 0;dataClass_=void 0;data_=void 0;radar_=void 0;scan_=void 0;scanAnimation_=void 0;trackingID_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{new Promise(t=>{this.data_=le.cloneDeep(e),t(this.data_)}).then(()=>{this.reDraw()})};reDraw=()=>{const e=this.data_.visible??!0,t=this.data_.radius??1e3,i=this.data_.isTracking??!0;this.trackingID_=this.data_.trackingID;const n=this.data_.xAngle??360,s=this.data_.yAngle??90,a=-(n/2),o=n/2,l=90,h=l-s;let c=this.data_.heading??0,u=c+n/2,f=u-n,d=Cesium.Color.fromCssColorString(this.data_.color??"#00d48f");const g=this.data_.coordinate.longitude??117.218481236,A=this.data_.coordinate.latitude??39.065651062,m=this.data_.coordinate.altitude??0,p=Cesium.Cartesian3.fromDegrees(g,A,m),C=B.getMapEngineInstance(this.containerID_),E=.1;let x=Cesium.Transforms.headingPitchRollQuaternion(p,Cesium.HeadingPitchRoll.fromDegrees(c-90,0,0));this.radar_?this.radar_.show=e:this.radar_=C.entities.add({id:this.data_?.ID+"-&-ZYWL-&-Radar",show:e,position:p,orientation:new Cesium.CallbackProperty(()=>x,!1),ellipsoid:{radii:new Cesium.Cartesian3(t,t,t),innerRadii:new Cesium.Cartesian3(E,E,E),minimumClock:Cesium.Math.toRadians(a),maximumClock:Cesium.Math.toRadians(o),minimumCone:Cesium.Math.toRadians(h),maximumCone:Cesium.Math.toRadians(l),fill:!0,material:new Cesium.ColorMaterialProperty(new Cesium.CallbackProperty(()=>new Cesium.Color.fromAlpha(d,.4),!1)),outline:!0,subdivisions:128,outlineColor:new Cesium.CallbackProperty(()=>new Cesium.Color.fromAlpha(d,1),!1),outlineWidth:2}});const w=this.data_.isReciprocating??!1;let T=this.data_.isClockWise??!0,D,O,P=.5;!w&&n===360?(O=0,P=1):T?O=f:O=u,D=B.calcPoints(g,A,m,t,O,s);let R=[];for(let H=0;H<D.length/3;H++)R.push(m);if(!this.scanAnimation_){let H=0;this.scanAnimation_=N=>{if(this.trackingID_){const U=C.scene.primitives._primitives.find(F=>{if(F instanceof Cesium.Model&&F.id===`${this.trackingID_}-&-ZYWL-&-Model`)return F});if(U&&U?._modelMatrix){const F=Cesium.Matrix4.getTranslation(U._modelMatrix,new Cesium.Cartesian3);if(F){const j=B.computeDistance(p,F);if(i&&j<=t){const Y=B.computeHeadingAndPitch(p,B.computeVector(F,p));H=Y.heading+180;let q=Y.pitch;x=Cesium.Transforms.headingPitchRollQuaternion(p,Cesium.HeadingPitchRoll.fromDegrees(H-90,-q-s/2,0)),u=H+n/2,f=u-n,!w&&n===360?(O=0,P=1):T?O=f:O=u}j<=t?(d=Cesium.Color.fromCssColorString(this.data_.alarmColor??"#FF0000"),this.scan_.show=!1):(d=Cesium.Color.fromCssColorString(this.data_.color??"#00d48f"),this.scan_.show=e,x=Cesium.Transforms.headingPitchRollQuaternion(p,Cesium.HeadingPitchRoll.fromDegrees(H-90,0,0)))}}}!w&&n===360?T?O+=P:O-=P:T?(O+=P,O===u&&(T=!1)):(O-=P,O===f&&(T=!0)),D=B.calcPoints(g,A,m,t,O,s)}}this.scan_?(this.scan_.show=e,this.scan_.wall.material=new Cesium.Color.fromAlpha(d,.6)):(this.scan_=C.entities.add({id:this.data_?.ID+"-&-ZYWL-&-RadarScan",show:e,position:p,wall:{positions:new Cesium.CallbackProperty(()=>Cesium.Cartesian3.fromDegreesArrayHeights(D),!1),material:new Cesium.Color.fromAlpha(d,.6),minimumHeights:R}}),C.clock.onTick.addEventListener(this.scanAnimation_))};clear=()=>{const e=B.getMapEngineInstance(this.containerID_);this.radar_&&e&&e?.entities&&e.entities.remove(this.radar_),this.scan_&&e&&e?.entities&&e.entities.remove(this.scan_),this.radar_=void 0,this.scan_=void 0,this.scanAnimation_&&e&&e?.clock&&e.clock.onTick.removeEventListener(this.scanAnimation_),this.scanAnimation_=void 0}}class X6e{containerID_=void 0;dataClass_=void 0;data_=void 0;S3MBPromise_=void 0;layers_=[];constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{new Promise(t=>{this.data_=le.cloneDeep(e),t(this.data_)}).then(()=>{this.reDraw()})};reDraw=()=>{let e=this.data_?.url;if(!e||e&&!e.length)return;let t=this.data_?.type??-1,i=this.data_?.visible??!0,n=this.data_?.autoSetView??!1,s=this.data_?.ID+"-&-ZYWL-&-S3MB";const o=B.getMapEngineInstance(this.containerID_).scene;switch(t){case 1:this.S3MBPromise_?this.layers_.forEach(l=>{l.show=i}):(this.S3MBPromise_=o.addS3MTilesLayerByScp(e,{name:s}),this.S3MBPromise_.then(l=>{this.layers_.push(l),this.layers_.forEach(h=>{h.show=i}),n&&(o.camera.lookAt(l._position,new Cesium.HeadingPitchRange(Cesium.Math.toRadians(0),Cesium.Math.toRadians(-90),100)),o.camera.lookAtTransform(Cesium.Matrix4.IDENTITY))}));break;case 2:this.S3MBPromise_?this.layers_.forEach(l=>{l.show=i}):(this.S3MBPromise_=o.open(e,{autoSetView:n}),this.S3MBPromise_.then(l=>{Array.isArray(l)?this.layers_=l:this.layers_.push(l),this.layers_.forEach(h=>{h.show=i})}));break}};clear=()=>{const t=B.getMapEngineInstance(this.containerID_).scene;this.layers_.forEach(i=>{t.layers.remove(i)}),this.layers_=[],this.S3MBPromise_=void 0}}class K6e{constructor(e){const t={};t.bgColor=e?.bgColor??Cesium.Color.TRANSPARENT,t.alpha=e?.alpha??1,t.invert=e?.invert??!1,t.preMultiplyAlpha=e?.preMultiplyAlpha??!0,this.params=t;let i=B.isSupportWebGL2(),n,s;i?(n=`
|
|
15988
|
+
`}setupEventListeners(){this.minimal?(this.dom.addEventListener("click",this.handleClick),this.showPanel(this.mode)):window.addEventListener("resize",this.handleResize)}async init(e){if(!e){console.error('Stats: The "canvas" parameter is undefined.');return}if(!this.handleThreeRenderer(e)&&!await this.handleWebGPURenderer(e))if(this.initializeWebGL(e)){this.trackGPU&&this.initializeGPUTracking();return}else console.error("Stats-gl: Failed to initialize WebGL context")}handleThreeRenderer(e){return e.isWebGLRenderer&&!this.threeRendererPatched?(this.patchThreeRenderer(e),this.gl=e.getContext(),this.trackGPU&&this.initializeGPUTracking(),!0):!1}async handleWebGPURenderer(e){return e.isWebGPURenderer?((this.trackGPU||this.trackCPT)&&(e.backend.trackTimestamp=!0,e._initialized||await e.init(),e.hasFeature("timestamp-query")&&this.initializeWebGPUPanels()),this.info=e.info,this.patchThreeWebGPU(e),!0):!1}initializeWebGPUPanels(){this.trackGPU&&(this.gpuPanel=this.addPanel(new U0.Panel("GPU","#ff0","#220"))),this.trackCPT&&(this.gpuPanelCompute=this.addPanel(new U0.Panel("CPT","#e1e1e1","#212121")))}initializeWebGL(e){if(e instanceof WebGL2RenderingContext)this.gl=e;else if(e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas){if(this.gl=e.getContext("webgl2"),!this.gl)return console.error("Stats: Unable to obtain WebGL2 context."),!1}else return console.error("Stats: Invalid input type. Expected WebGL2RenderingContext, HTMLCanvasElement, or OffscreenCanvas."),!1;return!0}initializeGPUTracking(){this.gl&&(this.ext=this.gl.getExtension("EXT_disjoint_timer_query_webgl2"),this.ext&&(this.gpuPanel=this.addPanel(new U0.Panel("GPU","#ff0","#220"))))}begin(){this.beginProfiling("cpu-started"),!(!this.gl||!this.ext)&&(this.activeQuery&&this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.activeQuery=this.gl.createQuery(),this.activeQuery&&this.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,this.activeQuery))}end(){this.renderCount++,this.gl&&this.ext&&this.activeQuery&&(this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.gpuQueries.push({query:this.activeQuery}),this.activeQuery=null),this.endProfiling("cpu-started","cpu-finished","cpu-duration")}update(){this.endProfiling("cpu-started","cpu-finished","cpu-duration"),this.info?this.processWebGPUTimestamps():this.processGpuQueries(),this.updateAverages(),this.resetCounters()}processWebGPUTimestamps(){this.totalGpuDuration=this.info.render.timestamp,this.totalGpuDurationCompute=this.info.compute.timestamp}resetCounters(){this.renderCount=0,this.totalCpuDuration=0,this.beginTime=this.endInternal()}resizePanel(e){e.canvas.style.position="absolute",this.minimal?e.canvas.style.display="none":(e.canvas.style.display="block",this.horizontal?(e.canvas.style.top="0px",e.canvas.style.left=e.id*e.WIDTH/e.PR+"px"):(e.canvas.style.left="0px",e.canvas.style.top=e.id*e.HEIGHT/e.PR+"px"))}addPanel(e){return e.canvas&&(this.dom.appendChild(e.canvas),e.id=this._panelId,this.resizePanel(e),this._panelId++),e}showPanel(e){for(let t=0;t<this.dom.children.length;t++){const i=this.dom.children[t];i.style.display=t===e?"block":"none"}this.mode=e}processGpuQueries(){!this.gl||!this.ext||(this.totalGpuDuration=0,this.gpuQueries.forEach((e,t)=>{if(this.gl){const i=this.gl.getQueryParameter(e.query,this.gl.QUERY_RESULT_AVAILABLE),n=this.gl.getParameter(this.ext.GPU_DISJOINT_EXT);if(i&&!n){const a=this.gl.getQueryParameter(e.query,this.gl.QUERY_RESULT)*1e-6;this.totalGpuDuration+=a,this.gl.deleteQuery(e.query),this.gpuQueries.splice(t,1)}}}))}detectVSync(e){if(this.lastFrameTime===0){this.lastFrameTime=e;return}const t=e-this.lastFrameTime;if(this.lastFrameTime=e,this.frameTimeHistory.push(t),this.frameTimeHistory.length>this.HISTORY_SIZE&&this.frameTimeHistory.shift(),this.frameTimeHistory.length<60)return;const i=this.frameTimeHistory.reduce((l,h)=>l+h)/this.frameTimeHistory.length,n=this.frameTimeHistory.reduce((l,h)=>l+Math.pow(h-i,2),0)/this.frameTimeHistory.length;if(Math.sqrt(n)>2){this.detectedVSync=null;return}let a=null,o=1/0;for(const l of this.VSYNC_RATES){const h=Math.abs(i-l.frameTime);h<o&&(o=h,a=l)}a&&o/a.frameTime<=this.VSYNC_THRESHOLD?this.detectedVSync=a:this.detectedVSync=null}endInternal(){var e;const t=performance.now();for(this.frameTimes.push(t);this.frameTimes.length>0&&this.frameTimes[0]<=t-1e3;)this.frameTimes.shift();const i=Math.round(this.frameTimes.length);this.addToAverage(i,this.averageFps);const n=t>=this.prevTextTime+1e3/this.logsPerSecond,s=t>=this.prevGraphTime+1e3/this.graphsPerSecond;if(this.updatePanelComponents(this.fpsPanel,this.averageFps,0,n,s),this.updatePanelComponents(this.msPanel,this.averageCpu,this.precision,n,s),this.gpuPanel&&this.updatePanelComponents(this.gpuPanel,this.averageGpu,this.precision,n,s),this.trackCPT&&this.gpuPanelCompute&&this.updatePanelComponents(this.gpuPanelCompute,this.averageGpuCompute,this.precision,n,s),n&&(this.prevTextTime=t),s&&(this.prevGraphTime=t),this.vsyncPanel!==null){this.detectVSync(t);const a=((e=this.detectedVSync)==null?void 0:e.refreshRate)||0;n&&a>0&&this.vsyncPanel.update(a,a)}return t}updatePanelComponents(e,t,i,n,s){if(!e||t.logs.length===0)return;e.name in this.lastMin||(this.lastMin[e.name]=1/0,this.lastMax[e.name]=0,this.lastValue[e.name]=0);const a=t.logs[t.logs.length-1];this.lastMax[e.name]=Math.max(...t.logs),this.lastMin[e.name]=Math.min(this.lastMin[e.name],a),this.lastValue[e.name]=this.lastValue[e.name]*.7+a*.3;const o=Math.max(Math.max(...t.logs),...t.graph.slice(-this.samplesGraph));this.updateCounter++,n&&e.update(this.lastValue[e.name],this.lastMax[e.name],i),s&&e.updateGraph(a,o)}beginProfiling(e){if(window.performance)try{window.performance.clearMarks(e),window.performance.mark(e)}catch(t){console.debug("Stats: Performance marking failed:",t)}}endProfiling(e,t,i){if(!(!window.performance||!t||!e))try{window.performance.getEntriesByName(e,"mark").length===0&&this.beginProfiling(e),window.performance.clearMarks(t),window.performance.mark(t),window.performance.clearMeasures(i);const s=performance.measure(i,e,t);this.totalCpuDuration+=s.duration,window.performance.clearMarks(e),window.performance.clearMarks(t),window.performance.clearMeasures(i)}catch(n){console.debug("Stats: Performance measurement failed:",n)}}updatePanel(e,t,i=2){if(!e||t.logs.length===0)return;const n=performance.now();e.name in this.lastMin||(this.lastMin[e.name]=1/0,this.lastMax[e.name]=0,this.lastValue[e.name]=0);const s=t.logs[t.logs.length-1],a=Math.max(...t.logs.slice(-30));this.lastMin[e.name]=Math.min(this.lastMin[e.name],s),this.lastMax[e.name]=Math.max(this.lastMax[e.name],s),this.lastValue[e.name]=this.lastValue[e.name]*.7+s*.3;const o=Math.max(a,...t.graph.slice(-this.samplesGraph));this.updateCounter++,this.updateCounter%(this.logsPerSecond*2)===0&&(this.lastMax[e.name]=a,this.lastMin[e.name]=s),e.update&&(n>=this.prevCpuTime+1e3/this.logsPerSecond&&e.update(this.lastValue[e.name],s,this.lastMax[e.name],o,i),n>=this.prevGraphTime+1e3/this.graphsPerSecond&&(e.updateGraph(s,o),this.prevGraphTime=n))}updateAverages(){this.addToAverage(this.totalCpuDuration,this.averageCpu),this.addToAverage(this.totalGpuDuration,this.averageGpu),this.info&&this.totalGpuDurationCompute!==void 0&&this.addToAverage(this.totalGpuDurationCompute,this.averageGpuCompute)}addToAverage(e,t){t.logs.push(e),t.logs.length>this.samplesLog&&(t.logs=t.logs.slice(-this.samplesLog)),t.graph.push(e),t.graph.length>this.samplesGraph&&(t.graph=t.graph.slice(-this.samplesGraph))}get domElement(){return this.dom}patchThreeWebGPU(e){const t=e.info.reset,i=this;e.info.reset=function(){i.beginProfiling("cpu-started"),t.call(this)}}patchThreeRenderer(e){const t=e.render,i=this;e.render=function(n,s){i.begin(),t.call(this,n,s),i.end()},this.threeRendererPatched=!0}};hte.Panel=lte;let g6e=hte;class cte{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;frustumInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isHighlight_=!1;isAutoZoom_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isAutoZoom_=this.data_?.isAutoZoom??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-Model",n=this.data_.ID+"-&-ZYWL-&-Frustum-Frustum",s=this.data_?.zIndex??0,a=e[0],o=B.getDefaultPointBase64();this.data_?.icon?.image&&this.data_?.icon?.image.length&&(o=this.data_?.icon?.image);const l=this.data_?.scale??1;let h=this.data_?.icon?.markerWidth??10,c=this.data_?.icon?.markerHeight??10,u=this.data_?.icon?.markerDx??0,f=this.data_?.icon?.markerDy??0,d=this.data_?.camera?.heading??0,g={markerFile:o,markerWidth:h*l,markerHeight:c*l,markerDx:u,markerDy:f,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerRotation:-d},A=[a.longitude,a.latitude],m=this.data_?.frustum?.visible??!1,p=this.data_?.frustum?.heading??0,C=ki(A),E=rs(C,300,p,{units:"meters"}),x=[A,E.geometry.coordinates],w={lineWidth:3,lineColor:this.data_?.frustum?.outlineColor??"#63D195",lineDasharray:[10,5]},T=new Fn(A,{id:i,symbol:g,zIndex:s}),D,O;window.isGPUSupport?(D=B.getPointLayer(this.containerID_),O=B.getLineStringLayer(this.containerID_)):(D=B.getVectorLayer(this.containerID_),O=B.getVectorLayer(this.containerID_));let P=new Sr(x,{id:n,editable:!1,dragShadow:!1,visible:m,arrowStyle:"classic",arrowPlacement:"point",symbol:w,zIndex:s});t({PointLayer:D,LineStringLayer:O,position:A,symbol:g,zIndex:s,frustumPositions:x,frustumVisible:m,frustumSymbol:w,PointGeometry:T,LineStringGeometry:P})}).then(t=>{this.geometryInstance_?(this.geometryInstance_.setCoordinates(t.position),this.geometryInstance_.updateSymbol(t.symbol)):(this.geometryInstance_=t.PointGeometry.addTo(t.PointLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick)),this.geometryInstance_&&(this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide()),this.frustumInstance_?(this.frustumInstance_.setCoordinates(t.frustumPositions),this.frustumInstance_.updateSymbol(t.frustumSymbol)):this.frustumInstance_=t.LineStringGeometry.addTo(t.LineStringLayer),this.frustumInstance_&&(this.frustumInstance_.setZIndex(t.zIndex),t.frustumVisible?this.frustumInstance_.show():this.frustumInstance_.hide()),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_?.length){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearFrustum(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearFrustum=()=>{this.frustumInstance_&&(this.frustumInstance_.remove(),this.frustumInstance_=void 0)};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=B.getUAVIcon();this.data_?.icon?.imageHighlight&&this.data_?.icon?.imageHighlight.length?t=this.data_?.icon?.imageHighlight:this.data_?.icon?.image&&this.data_?.icon?.image.length&&(t=this.data_?.icon?.image),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFile:t})};mouseout=e=>{if(this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=B.getUAVIcon();this.data_?.icon?.image&&this.data_?.icon?.image.length&&(t=this.data_?.icon?.image),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFile:t})}}class A6e{containerID_=void 0;dataClass_=void 0;data_=void 0;frustumInstance_=void 0;frustumOutlineInstance_=void 0;frustumDirectionLineInstance_=void 0;center_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=(e,t)=>{this.data_=e,this.center_=t,this.clear(),this.reDraw()};reDraw=()=>{let e=B.getMapEngineInstance(this.containerID_);if(e){let t=this.data_?.coordinates;if(t&&t.length){let i=t[0],n=this.data_?.frustum?.cameraType??"M3TD",s=this.data_?.frustum?.isWideAngle??!1,a,o;if(s){const w=B.getWideAngleCameraTypes(n);a=w.fovH,o=w.fovV}else{const{chip_w:w,chip_h:T,focus_w:D,focus_h:O}=B.getCameraTypes(n);let P=this.data_?.frustum?.zoom??3.5,R=B.zoom2fov(P,w,T,D,O);a=R[0],o=R[1]}let l=new Cesium.Camera(e.scene),h,c;a>o?(h=a,c=a/o):(h=o,c=o/a),l.frustum=new Cesium.PerspectiveFrustum({fov:Cesium.Math.toRadians(h),aspectRatio:c,near:.1,far:100});let u=this.data_?.frustum?.heading??0,f=this.data_?.frustum?.pitch??0,d=this.data_?.frustum?.roll??0;u=Cesium.Math.toRadians(u-180),f=Cesium.Math.toRadians(-f),d=Cesium.Math.toRadians(-d);let g=i?.longitude,A=i?.latitude,m=i?.altitude,p=Cesium.Cartesian3.fromDegrees(g,A,m);this.center_&&(p=this.center_),l.setView({destination:p,orientation:{heading:u,pitch:f,roll:d}});let C=this.data_?.visible??!1,E=this.data_?.frustum?.frustumColor??"#3A8F7B";E=new Cesium.Color.fromCssColorString(E),this.frustumInstance_=this.createFrustum(e,"Frustum",l,E,.3,C);let x=this.data_?.frustum?.outlineColor??"#63D195";x=new Cesium.Color.fromCssColorString(x),this.frustumOutlineInstance_=this.createFrustum(e,"FrustumOutline",l,x,1,C),this.frustumDirectionLineInstance_=this.createFrustumDirectionLine(e,l,p,x,C)}}};createFrustum(e,t,i,n,s,a){a&&(a=this.data_?.frustum?.visible??!1);let o=new Cesium.Quaternion.fromRotationMatrix(Cesium.Matrix4.getRotation(i.inverseViewMatrix,new Cesium.Matrix3)),l;t==="Frustum"?l=new Cesium.FrustumGeometry({frustum:i.frustum,origin:i.position,orientation:o,vertexFormat:Cesium.VertexFormat.ALL}):t==="FrustumOutline"&&(l=new Cesium.FrustumOutlineGeometry({frustum:i.frustum,origin:i.position,orientation:o}));let h=this.data_?.ID;const c=new Cesium.GeometryInstance({id:h+"-&-ZYWL-&-Frustum-"+t,geometry:l,attributes:{color:Cesium.ColorGeometryInstanceAttribute.fromColor(new Cesium.Color.fromAlpha(n,s))}}),u=new Cesium.Primitive({geometryInstances:c,releaseGeometryInstances:!1,appearance:new Cesium.PerInstanceColorAppearance({closed:!0,flat:!0}),show:a,asynchronous:!1,allowPicking:!1});return e.scene.primitives.add(u)}createFrustumDirectionLine(e,t,i,n,s){s&&(s=this.data_?.frustum?.visible??!1);const a=t.direction,o=t.frustum.far,l=t.frustum.near,h=Cesium.Cartesian3.negate(a,new Cesium.Cartesian3),c=Cesium.Cartesian3.multiplyByScalar(h,o,new Cesium.Cartesian3),u=Cesium.Cartesian3.multiplyByScalar(h,l,new Cesium.Cartesian3),f=Cesium.Cartesian3.add(i,c,new Cesium.Cartesian3),d=Cesium.Cartesian3.add(i,u,new Cesium.Cartesian3);if(!this.frustumDirectionLineInstance_){let g=new Cesium.PolylineGeometry({positions:[d,f],width:3}),A=this.data_?.ID;const m=new Cesium.GeometryInstance({id:A+"-&-ZYWL-&-FrustumDirectionLine",geometry:g}),p=new Cesium.Primitive({geometryInstances:m,releaseGeometryInstances:!1,appearance:new Cesium.PolylineMaterialAppearance({material:Cesium.Material.fromType(Cesium.Material.PolylineDashType,{color:n,gapColor:Cesium.Color.TRANSPARENT,dashLength:15})}),show:s,asynchronous:!1});return e.scene.primitives.add(p)}}clear=()=>{let e=B.getMapEngineInstance(this.containerID_);this.frustumInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.frustumInstance_),this.frustumOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.frustumOutlineInstance_),this.frustumDirectionLineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.frustumDirectionLineInstance_),this.frustumInstance_=void 0,this.frustumOutlineInstance_=void 0,this.frustumDirectionLineInstance_=void 0}}class ute{containerID_=void 0;dataClass_=void 0;data_=void 0;modelInstance_=void 0;frustumInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;visible_=!0;isClampToGround_=!1;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isHighlight_=this.data_?.isHighlight??!1;const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.createPrimitive(e,i),this.reDrawCenterLabel(i),this.reDrawCenterHTML(i),this.reDrawCustomLabel([i]),this.reDrawCustomHTML([i])}createPrimitive=(e,t)=>{let i=this.data_.ID+"-&-ZYWL-&-Model",n=this.data_?.scale??1,s,a;this.data_.hasOwnProperty("model")&&(this.data_.model.hasOwnProperty("minimumPixelSize")&&(s=this.data_?.model?.minimumPixelSize),this.data_.model.hasOwnProperty("maximumScale")&&(a=this.data_?.model?.maximumScale??80));let o,l=this.data_?.quaternion;if(l){const h=Cesium.Matrix3.fromQuaternion(l);o=Cesium.Matrix4.fromRotationTranslation(h,t)}else{let h=this.data_?.camera?.heading??0,c=this.data_?.camera?.roll??0,u=this.data_?.camera?.pitch??0,f=Cesium.HeadingPitchRoll.fromDegrees(h,c,u);o=Cesium.Transforms.headingPitchRollToFixedFrame(t,f)}if(this.modelInstance_)this.modelInstance_.show=this.visible_,this.modelInstance_.modelMatrix=o,this.modelInstance_.scale=n,s!==void 0&&(this.modelInstance_.minimumPixelSize=s),a!==void 0&&(this.modelInstance_.maximumScale=a);else{let h={url:this.data_.model.url,show:this.visible_,modelMatrix:o,scale:n,id:i,releaseGltfJson:!0,scene:e.scene};s!==void 0&&(h.minimumPixelSize=s),a!==void 0&&(h.maximumScale=a),Cesium.Model.fromGltfAsync(h).then(c=>{console.log(c),this.modelInstance_&&e.scene.primitives.remove(this.modelInstance_),this.modelInstance_=c,e.scene.primitives.add(this.modelInstance_)})}this.frustumInstance_||(this.frustumInstance_=new A6e(this.containerID_,"Models")),this.frustumInstance_.DataProcessing(this.data_,t)};reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)console.log(11),d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:le.cloneDeep(a),id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_)};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.modelInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.modelInstance_),this.frustumInstance_&&this.frustumInstance_.clear(),this.modelInstance_=void 0,this.frustumInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class m6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};reDraw=()=>{let e=B.getMapEngineInstance(this.containerID_);if(e){this.clearGeometry();let t=this.data_.ID;this.visible_=this.data_?.visible??!0;let i=this.data_?.coordinate;if(i){let n=Cesium.Cartesian3.fromDegrees(i?.longitude??117.21833231944812,i?.latitude??39.06565050593017,i?.altitude??20),s=new Cesium.HeadingPitchRoll(this.data_?.orientation?.heading??0,-(this.data_?.orientation?.pitch??0),this.data_?.orientation?.roll??0),a=new Cesium.Cartesian3(this.data_?.dimensions?.boxX??10,this.data_?.dimensions?.boxY??10,this.data_?.dimensions?.boxZ??10),o=Cesium.Transforms.headingPitchRollToFixedFrame(n,s);if(!this.geometryInstance_){let c=Cesium.BoxGeometry.fromDimensions({dimensions:a}),u=new Cesium.GeometryInstance({id:t+"-&-ZYWL-&-PointCloudRecognition",geometry:c,attributes:{color:Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.color?.material??"#fff"))}}),f=new Cesium.Primitive({geometryInstances:u,appearance:new Cesium.MaterialAppearance({}),show:this.visible_,modelMatrix:o,releaseGeometryInstances:!1});this.geometryInstance_=e.scene.primitives.add(f)}let l;if(this.visible_?l=this.data_?.color?.outline??!0:l=!1,!this.geometryOutlineInstance_){let c=Cesium.BoxOutlineGeometry.fromDimensions({dimensions:a}),u=new Cesium.GeometryInstance({id:t+"-&-ZYWL-&-PointCloudRecognitionOutline",geometry:c,attributes:{color:Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.color?.outlineColor??"#fff"))}}),f=new Cesium.Primitive({geometryInstances:u,appearance:new Cesium.PerInstanceColorAppearance({flat:!0,translucent:!1}),show:l,modelMatrix:o,releaseGeometryInstances:!1,asynchronous:!1});this.geometryOutlineInstance_=e.scene.primitives.add(f)}let h=B.calculateBoxVertices(n,s,a);this.reDrawCustomLabel(h)}}};reDrawCustomLabel=e=>{if(B.getMapEngineInstance(this.containerID_)){this.clearCustomLabel();let i=B.getLabelCollection(this.containerID_);if(this.visible_&&e&&e.length){let n=e[6],s=this.data_?.customLabel;s&&this.customLabelInstances_.push(i.add(new Cesium.Label({position:Cesium.Cartesian3.fromDegrees(n?.longitude??117.21833231944812,n?.latitude??39.06565050593017,n?.altitude??20),id:this.data_.ID+"-&-ZYWL-&-CustomLabel-0",show:s?.show??!1,text:s?.content??"",font:"18px sans-serif",showBackground:s?.showBackground??!1,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(s?.dx??0,s?.dy??0),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i)))}}};clear=()=>{this.clearGeometry(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t]);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class p6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditableCircle",n=this.data_?.zIndex??0,s=e[0],a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o="#fff";this.data_?.symbol?.polygonColor&&this.data_?.symbol?.polygonColor.length&&(o=this.data_?.symbol?.polygonColor);let l=this.data_?.symbol?.lineWidth??2,h=this.data_?.symbol?.radius??7e3,c={lineColor:a,lineWidth:l,polygonFill:o,polygonOpacity:.3},u=[s.longitude,s.latitude],f=new po(u,h,{id:i,symbol:c}),d;if(window.isGPUSupport){d=B.getPolygonLayer(this.containerID_);let g=f.toGeoJSON().geometry.coordinates[0],A=new or(g,{id:i,symbol:c});t({PolygonLayer:d,radius:h,position:u,positions:g,symbol:c,zIndex:n,PolygonGeometry:A})}else d=B.getVectorLayer(this.containerID_),t({PolygonLayer:d,radius:h,position:u,symbol:c,zIndex:n,PolygonGeometry:f})}).then(t=>{if(this.center_=t.position,!this.geometryInstance_){this.geometryInstance_=t.PolygonGeometry;let i=t.PolygonLayer.getGeometries();i.push(this.geometryInstance_),t.PolygonLayer.addGeometry(i),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick)}this.geometryInstance_.updateSymbol(t.symbol),window.isGPUSupport?this.geometryInstance_.setCoordinates(t.positions):(this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.setRadius(t.radius)),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2,polygonOpacity:.4})};mouseout=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t,polygonOpacity:.3})}}class _6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;iconInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isAutoZoom_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isAutoZoom_=this.data_?.isAutoZoom??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditableDashedLine",n=this.data_?.zIndex??0,s=e.map(f=>[f.longitude,f.latitude]),a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o=this.data_?.symbol?.lineWidth??2,l=this.data_?.symbol?.lineDash??0,h={lineColor:a,lineWidth:o,lineDasharray:[l,l/2]},c=new Sr(s,{id:i,symbol:h}),u;window.isGPUSupport?u=B.getLineStringLayer(this.containerID_):u=B.getVectorLayer(this.containerID_),t({LineStringLayer:u,positions:s,symbol:h,zIndex:n,LineStringGeometry:c})}).then(t=>{let i=bh(t.positions),n=Pf(i);if(this.center_=n.geometry.coordinates,!this.geometryInstance_){this.geometryInstance_=t.LineStringGeometry;let s=t.LineStringLayer.getGeometries();s.push(this.geometryInstance_),t.LineStringLayer.addGeometry(s),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick)}this.geometryInstance_.setCoordinates(t.positions),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawModel(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawModel=()=>{let e=this.data_?.coordinates,t=this.data_?.symbol,i=this.data_?.zIndex??0,n;if(t&&(n=t?.icon),e&&e.length){let s=this.data_?.uavCoordinate??e[e.length-1],a={ID:this.data_.ID,visible:this.visible_,isHighlight:this.isHighlight_,scale:t?.scale??1,isAutoZoom_:this.isAutoZoom_,camera:t?.camera??{heading:0},icon:n??{image:B.getUAVIcon(),imageHighlight:B.getUAVIcon(),markerWidth:20,markerHeight:20,markerDx:0,markerDy:0},frustum:t?.frustum??{heading:0,pitch:0,roll:0,visible:!1,cameraType:"M30",zoom:3.5,frustumColor:"#3A8F7B",outlineColor:"#63D195"},coordinates:[s],zIndex:i+1};this.iconInstance_||(this.iconInstance_=new cte(this.containerID_)),this.iconInstance_.DataProcessing(a)}else this.clearIcon()};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates?.length!==this.customLabelInstances_?.length&&this.clearCustomLabel();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+e,n=this.customLabelInstances_.find(s=>s.getId()===i);n?(n.setCoordinates([t.longitude,t.latitude]),n.setContent(t?.customLabel?.content??"")):(n=B.reDrawLabel(this.containerID_,i,t,[t.longitude,t.latitude]),n&&this.customLabelInstances_.push(n))}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates.length!==this.customHTMLInstances_?.length&&this.clearCustomHTML();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,n=this.customHTMLInstances_.find(s=>s.marker.getId()===i);if(!n)n=B.reDrawHTML(this.containerID_,i,t,[t.longitude,t.latitude]),n&&(n.presentationMode===0||n.presentationMode===2?n.infoWindow.hide():n.infoWindow.show(),this.customHTMLInstances_.push(n));else{let a=t?.customHTML?.presentationMode??0;n.marker.setCoordinates([t.longitude,t.latitude]),a===0||a===2?n.infoWindow.hide():n.infoWindow.show()}}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearIcon(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearIcon=()=>{this.iconInstance_&&this.iconInstance_.clear(),this.iconInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.iconInstance_&&this.iconInstance_.customHTMLInstances_){let i=this.iconInstance_.customHTMLInstances_;for(let n=0;n<i.length;n++)i[n].presentationMode===2&&i[n].infoWindow.show()}if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2})};mouseout=e=>{if(this.iconInstance_&&this.iconInstance_.customHTMLInstances_){let i=this.iconInstance_.customHTMLInstances_;for(let n=0;n<i.length;n++)i[n].presentationMode===2&&i[n].infoWindow.hide()}if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t})}}class y6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isAutoZoom_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isAutoZoom_=this.data_?.isAutoZoom??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditableIcon",n=this.data_?.zIndex??0,s=e[0],a=B.getDefaultPointBase64();this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(a=this.data_?.symbol?.image);let o=this.data_?.symbol?.markerWidth??10,l=this.data_?.symbol?.markerHeight??10,h=this.data_?.symbol?.markerDx??0,c=this.data_?.symbol?.markerDy??0,u=this.data_?.symbol?.markerRotation??0,f={markerFile:a,markerWidth:o,markerHeight:l,markerDx:h,markerDy:c,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerRotation:-u},d=[s.longitude,s.latitude],g=new Fn(d,{id:i,symbol:f}),A;window.isGPUSupport?A=B.getPointLayer(this.containerID_):A=B.getVectorLayer(this.containerID_),t({PointLayer:A,position:d,symbol:f,zIndex:n,PointGeometry:g})}).then(t=>{if(this.center_=t.position,!this.geometryInstance_){this.geometryInstance_=t.PointGeometry;let i=t.PointLayer.getGeometries();i.push(this.geometryInstance_),t.PointLayer.addGeometry(i),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick)}this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=B.getDefaultPointBase64();this.data_?.symbol?.imageHighlight&&this.data_?.symbol?.imageHighlight.length&&(t=this.data_?.symbol?.imageHighlight),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFile:t})};mouseout=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=B.getDefaultPointBase64();this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(t=this.data_?.symbol?.image),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFile:t})}}class v6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditablePoint",n=this.data_?.zIndex??0,s=e[0],a="#fff";this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(a=this.data_?.symbol?.pointColor);let o=this.data_?.symbol?.pixelSize??10,l={markerType:"ellipse",markerFill:a,markerHeight:o,markerWidth:o,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0},h=[s.longitude,s.latitude],c=new Fn(h,{id:i,symbol:l}),u;window.isGPUSupport?u=B.getPointLayer(this.containerID_):u=B.getVectorLayer(this.containerID_),t({PointLayer:u,position:h,symbol:l,zIndex:n,PointGeometry:c})}).then(t=>{if(this.center_=t.position,!this.geometryInstance_){this.geometryInstance_=t.PointGeometry;let i=t.PointLayer.getGeometries();i.push(this.geometryInstance_),t.PointLayer.addGeometry(i),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick)}this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t="#fff";this.data_?.symbol?.pointColorHighlight&&this.data_?.symbol?.pointColorHighlight.length&&(t=this.data_?.symbol?.pointColorHighlight),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFill:t})};mouseout=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t="#fff";this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(t=this.data_?.symbol?.pointColor),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFill:t})}}class C6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditablePolygon",n=this.data_?.zIndex??0,s=e.map(f=>[f.longitude,f.latitude]),a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o="#fff";this.data_?.symbol?.polygonColor&&this.data_?.symbol?.polygonColor.length&&(o=this.data_?.symbol?.polygonColor);let l=this.data_?.symbol?.lineWidth??2,h={lineColor:a,lineWidth:l,polygonFill:o,polygonOpacity:.3},c=new or(s,{id:i,symbol:h,editable:!1,dragShadow:!1}),u;window.isGPUSupport?u=B.getPolygonLayer(this.containerID_):u=B.getVectorLayer(this.containerID_),t({positions:s,symbol:h,zIndex:n,PolygonLayer:u,PolygonGeometry:c})}).then(t=>{let i=bh(t.positions),n=Pf(i);if(this.center_=n.geometry.coordinates,!this.geometryInstance_){this.geometryInstance_=t.PolygonGeometry;let s=t.PolygonLayer.getGeometries();s.push(this.geometryInstance_),t.PolygonLayer.addGeometry(s),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick)}this.geometryInstance_.setCoordinates(t.positions),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates?.length!==this.customLabelInstances_?.length&&this.clearCustomLabel();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+e,n=this.customLabelInstances_.find(s=>s.getId()===i);n?(n.setCoordinates([t.longitude,t.latitude]),n.setContent(t?.customLabel?.content??"")):(n=B.reDrawLabel(this.containerID_,i,t,[t.longitude,t.latitude]),n&&this.customLabelInstances_.push(n))}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates.length!==this.customHTMLInstances_?.length&&this.clearCustomHTML();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,n=this.customHTMLInstances_.find(s=>s.marker.getId()===i);if(!n)n=B.reDrawHTML(this.containerID_,i,t,[t.longitude,t.latitude]),n&&(n.presentationMode===0||n.presentationMode===2?n.infoWindow.hide():n.infoWindow.show(),this.customHTMLInstances_.push(n));else{let a=t?.customHTML?.presentationMode??0;n.marker.setCoordinates([t.longitude,t.latitude]),a===0||a===2?n.infoWindow.hide():n.infoWindow.show()}}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2,polygonOpacity:.4})};mouseout=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t,polygonOpacity:.3})}}class fte{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};douglasPeucker=()=>{this.reDraw()};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditablePolyline",n=this.data_?.zIndex??0,s=e.map(u=>[u.longitude,u.latitude]),a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o=this.data_?.symbol?.lineWidth??2,l={lineColor:a,lineWidth:o},h=new Sr(s,{id:i,symbol:l}),c;window.isGPUSupport?c=B.getLineStringLayer(this.containerID_):c=B.getVectorLayer(this.containerID_),t({positions:s,symbol:l,zIndex:n,LineStringLayer:c,LineStringGeometry:h})}).then(t=>{let i=bh(t.positions),n=Pf(i);if(this.center_=n.geometry.coordinates,!this.geometryInstance_){this.geometryInstance_=t.LineStringGeometry;let s=t.LineStringLayer.getGeometries();s.push(this.geometryInstance_),t.LineStringLayer.addGeometry(s),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.dataClass_!=="AirRoutes"&&this.geometryInstance_.on("click",this.emitGraphClick)}this.geometryInstance_.setCoordinates(t.positions),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates?.length!==this.customLabelInstances_?.length&&this.clearCustomLabel();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+e,n=this.customLabelInstances_.find(s=>s.getId()===i);n?(n.setCoordinates([t.longitude,t.latitude]),n.setContent(t?.customLabel?.content??"")):(n=B.reDrawLabel(this.containerID_,i,t,[t.longitude,t.latitude]),n&&this.customLabelInstances_.push(n))}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates.length!==this.customHTMLInstances_?.length&&this.clearCustomHTML();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,n=this.customHTMLInstances_.find(s=>s.marker.getId()===i);if(!n)n=B.reDrawHTML(this.containerID_,i,t,[t.longitude,t.latitude]),n&&(n.presentationMode===0||n.presentationMode===2?n.infoWindow.hide():n.infoWindow.show(),this.customHTMLInstances_.push(n));else{let a=t?.customHTML?.presentationMode??0;n.marker.setCoordinates([t.longitude,t.latitude]),a===0||a===2?n.infoWindow.hide():n.infoWindow.show()}}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.dataClass_!=="AirRoutes"&&this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2})};mouseout=e=>{if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t})}}class I6e{containerID_=void 0;dataClass_=void 0;data_=void 0;options_=void 0;outlineOptions_=void 0;geometryInstance_=void 0;highlightPrimitive_=void 0;geometryOutlineInstance_=void 0;highlightOutlinePrimitive_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!0,this.isHighlight_=this.data_?.isHighlight??!1;const e=B.getMapEngineInstance(this.containerID_);let t=[],i=!1,n=!1;const s=this.data_.coordinates;for(const a of s)t.push(B.transformCartesian3(a)),a?.customLabel&&(i=!0),a?.customHTML&&(n=!0);if(this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polygon",isClampToGround:this.isClampToGround_},this.outlineOptions_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:this.isClampToGround_},this.createPrimitive(e,s[0]),i||this.clearCustomLabel(),n||this.clearCustomHTML(),!(!i&&!n))if(this.isClampToGround_){const a=await B.getTerrainHeights(e,s);this.reDrawCustomLabel(a.positions),this.reDrawCustomHTML(a.positions)}else this.reDrawCustomLabel(t),this.reDrawCustomHTML(t)}async createPrimitive(e,t){const i=this.data_.ID+"-&-ZYWL-&-NotEditableCircle",n=this.data_.ID+"-&-ZYWL-&-NotEditableCircleOutline",s=this.data_?.symbol?.radius??7e3,a=t?.altitude??100,o=this.data_?.symbol?.lineWidth??2,l=B.transformCartesian3(t),h=B.getCircleOutlinePositions(l,s,a),c=new Cesium.ShowGeometryInstanceAttribute(this.visible_),u=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)),f=B.getGeometryInstances(this.options_);var d;if(this.isClampToGround_?d=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(h),perPositionHeight:!1}):d=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(h),perPositionHeight:!0}),!this.geometryInstance_)this.geometryInstance_=new Cesium.GeometryInstance({id:i,geometry:d,attributes:{color:u,show:c}}),f.push(this.geometryInstance_);else{this.geometryInstance_.geometry=d,this.geometryInstance_.attributes.color=u,this.geometryInstance_.attributes.show=c;const p=f.findIndex(C=>C.id===this.geometryInstance_.id);p!==-1&&(f[p]=this.geometryInstance_)}const g=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")),A=B.getGeometryInstances(this.outlineOptions_);var m;if(this.isClampToGround_?m=new Cesium.GroundPolylineGeometry({positions:h,width:o}):m=new Cesium.PolylineGeometry({positions:h,width:o}),!this.geometryOutlineInstance_)this.geometryOutlineInstance_=new Cesium.GeometryInstance({id:n,geometry:m,attributes:{color:g,show:c}}),A.push(this.geometryOutlineInstance_);else{this.geometryOutlineInstance_.geometry=m,this.geometryOutlineInstance_.attributes.color=g,this.geometryOutlineInstance_.attributes.show=c;const p=A.findIndex(C=>C.id===this.geometryOutlineInstance_.id);p!==-1&&(A[p]=this.geometryOutlineInstance_)}if(this.updatePrimitive(f,A),this.isClampToGround_){const p=await B.getTerrainHeight(e,l);this.reDrawCenterLabel(p.position),this.reDrawCenterHTML(p.position)}else this.reDrawCenterLabel(l),this.reDrawCenterHTML(l)}reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:a,id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e)};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.geometryInstance_){const o=e.findIndex(l=>l.id===this.geometryInstance_.id);o!==-1&&(e.splice(o,1),t=!0)}var i;this.outlineOptions_&&(i=B.getGeometryInstances(this.outlineOptions_));var n=!1;if(this.geometryOutlineInstance_){const o=i.findIndex(l=>l.id===this.geometryOutlineInstance_.id);o!==-1&&(i.splice(o,1),n=!0)}t&&n&&this.updatePrimitive(e,i),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0;const a=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&a.remove(this.highlightPrimitive_),this.highlightOutlinePrimitive_&&a.remove(this.highlightOutlinePrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=(e,t)=>{const n=B.getMapEngineInstance(this.containerID_).scene.primitives;var s;this.options_&&(s=B.getGeometryPrimitive(this.options_)),s&&(n.remove(s),B.removeGeometryPrimitive(this.options_));var a;this.outlineOptions_&&(a=B.getGeometryPrimitive(this.outlineOptions_)),a&&(n.remove(a),B.removeGeometryPrimitive(this.outlineOptions_)),e?.length&&this.options_&&(this.isClampToGround_?s=new Cesium.GroundPrimitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}):s=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(s),this.options_.primitive=s,B.addGeometryPrimitive(this.options_)),t?.length&&this.outlineOptions_&&(this.isClampToGround_?a=new Cesium.GroundPolylinePrimitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}):a=new Cesium.Primitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(a),this.outlineOptions_.primitive=a,B.addGeometryPrimitive(this.outlineOptions_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&i.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_&&i.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0,e&&(this.isClampToGround_?(this.geometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.GroundPrimitive({geometryInstances:this.geometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}))),this.geometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.GroundPolylinePrimitive({geometryInstances:this.geometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN})))):(this.geometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.geometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1}))),this.geometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.geometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1})))))}}class E6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;modelInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isHighlight_=!1;isInterpolation_=!1;sampledPosition_=void 0;clock_=void 0;initialStartTime_=void 0;initialStopTime_=void 0;initialCurrentTime_=void 0;initialClockRange_=void 0;initialMultiplier_=void 0;playState_=!1;startTime_=void 0;stopTime_=void 0;velocityOrientationProperty_=void 0;initLoadModel_=!0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isHighlight_=this.data_?.isHighlight??!1,this.isInterpolation_=this.data_?.isInterpolation??!1;const e=B.getMapEngineInstance(this.containerID_);let t=[],i=!1,n=!1;const s=this.data_.coordinates;for(const a of s)t.push(B.transformCartesian3(a)),a?.customLabel&&(i=!0),a?.customHTML&&(n=!0);if(this.clearGeometry(),this.createPrimitive(e,t),this.reDrawModel(e,s),i||this.clearCustomLabel(),n||this.clearCustomHTML(),!(!i&&!n))if(this.isClampToGround_){const a=await B.getTerrainHeights(e,s);this.reDrawCustomLabel(a.positions),this.reDrawCustomHTML(a.positions)}else this.reDrawCustomLabel(t),this.reDrawCustomHTML(t)}async createPrimitive(e,t){if(t.length<2)return;const i=this.data_.ID+"-&-ZYWL-&-NotEditableDashedLine",n=this.data_?.symbol?.lineWidth??2,s=this.data_?.symbol?.lineDash??0;let a;s?a=new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),.8),gapColor:Cesium.Color.TRANSPARENT,dashLength:s}}}):a=new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}});var o,l;this.isClampToGround_?(o=e.scene.groundPrimitives,l=new Cesium.GroundPolylinePrimitive({geometryInstances:new Cesium.GeometryInstance({id:i,geometry:new Cesium.GroundPolylineGeometry({positions:t,width:n})}),appearance:new Cesium.PolylineMaterialAppearance({material:a}),show:this.visible_,asynchronous:!1})):(o=e.scene.primitives,l=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:i,geometry:new Cesium.PolylineGeometry({positions:t,width:n})}),appearance:new Cesium.PolylineMaterialAppearance({material:a}),show:this.visible_,asynchronous:!1})),this.geometryInstance_&&o.remove(this.geometryInstance_),this.geometryInstance_=o.add(l);const h=B.getCenterByCartesian3(this.data_.coordinates);if(this.isClampToGround_){const c=await B.getTerrainHeight(e,h.position);this.reDrawCenterLabel(c.position),this.reDrawCenterHTML(c.position)}else this.reDrawCenterLabel(h.position),this.reDrawCenterHTML(h.position)}reDrawModel=(e,t)=>{if(this.visible_&&this.data_.hasOwnProperty("symbol")&&Array.isArray(t)&&t.length){this.modelInstance_||(this.modelInstance_=new ute(this.containerID_));let i=this.data_.symbol,n={url:getModelBase64("uav.glb"),minimumPixelSize:80,maximumScale:30};i.hasOwnProperty("model")&&(n=i.model);let s=le.cloneDeep(t[t.length-1]);i.hasOwnProperty("customLabel")&&(s.customLabel=i.customLabel),i.hasOwnProperty("customHTML")&&(s.customHTML=i.customHTML);let a=1;i.hasOwnProperty("scale")&&(a=i.scale);let o={heading:0,pitch:0,roll:0};i.hasOwnProperty("camera")&&(o=i.camera);let l={heading:0,pitch:0,roll:0,visible:!1,cameraType:"M30",zoom:3.5,frustumColor:"#3A8F7B",outlineColor:"#63D195"};if(i.hasOwnProperty("frustum")&&(l=i.frustum),!this.isInterpolation_)s=le.cloneDeep(this.data_?.uavCoordinate??t[t.length-1]),this.modelInstance_.DataProcessing({ID:`${this.data_.ID}-&-ZYWL-&-UAVModel`,visible:this.visible_,isHighlight:this.isHighlight_,isClampToGround:this.isClampToGround_,scale:a,model:n,camera:o,frustum:l,customLabel:s?.customLabel,coordinates:[s]});else{const h=this.data_?.multiplier??1;this.initialMultiplier_||(this.initialMultiplier_=le.cloneDeep(e.clock.multiplier)),e.clock.multiplier=h,n.url=getModelBase64("uavCorrect.glb");const c=this.data_?.play??!0;if(!this.sampledPosition_){this.sampledPosition_=new Cesium.SampledPositionProperty;const u=t[t.length-1];if(this.startTime_=Cesium.JulianDate.now(),u?.time?this.stopTime_=Cesium.JulianDate.addSeconds(this.startTime_,Number(u?.time),new Cesium.JulianDate):this.stopTime_=Cesium.JulianDate.addSeconds(this.startTime_,t.length*10,new Cesium.JulianDate),t.forEach((f,d)=>{const g=B.transformCartesian3(f);f?.time?this.sampledPosition_.addSample(Cesium.JulianDate.addSeconds(this.startTime_,Number(f?.time),new Cesium.JulianDate),g):this.sampledPosition_.addSample(Cesium.JulianDate.addSeconds(this.startTime_,d*10,new Cesium.JulianDate),g)}),this.velocityOrientationProperty_=new Cesium.VelocityOrientationProperty(this.sampledPosition_),c||this.initLoadModel_){this.initLoadModel_=!1;const f=this.sampledPosition_.getValue(this.startTime_),d=this.velocityOrientationProperty_.getValue(this.startTime_);f&&d&&(l.visible=!1,this.modelInstance_.DataProcessing({ID:this.data_.ID,visible:this.visible_,isHighlight:this.isHighlight_,isClampToGround:this.isClampToGround_,scale:a,model:n,camera:o,quaternion:d,frustum:l,coordinates:[B.transformCoordinate(f)]}))}}c&&!this.playState_?(this.playState_=!0,this.initialStartTime_||(this.initialStartTime_=le.cloneDeep(e.clock.startTime)),this.initialStopTime_||(this.initialStopTime_=le.cloneDeep(e.clock.stopTime)),this.initialCurrentTime_||(this.initialCurrentTime_=le.cloneDeep(e.clock.currentTime)),this.initialClockRange_||(this.initialClockRange_=le.cloneDeep(e.clock.clockRange)),e.clock.startTime=this.startTime_.clone(),e.clock.stopTime=this.stopTime_.clone(),e.clock.currentTime=this.startTime_.clone(),e.clock.clockRange=Cesium.ClockRange.CLAMPED,this.clock_||(this.clock_=u=>{if(Cesium.JulianDate.equals(u.currentTime,u.stopTime)){e.clock.startTime=this.initialStartTime_.clone(),e.clock.stopTime=this.initialStopTime_.clone(),e.clock.currentTime=this.initialCurrentTime_.clone(),e.clock.clockRange=this.initialClockRange_,e.clock.multiplier=this.initialMultiplier_,e.clock.onTick.removeEventListener(this.clock_),this.initialStartTime_=void 0,this.initialStopTime_=void 0,this.initialCurrentTime_=void 0,this.initialClockRange_=void 0,this.initialMultiplier_=void 0,this.sampledPosition_=void 0,this.playState_=!1;return}const f=this.sampledPosition_.getValue(u.currentTime),d=this.velocityOrientationProperty_.getValue(u.currentTime);f&&d&&(l.visible=!1,this.modelInstance_.DataProcessing({ID:this.data_.ID,visible:this.visible_,isHighlight:this.isHighlight_,isClampToGround:this.isClampToGround_,scale:a,model:n,camera:o,quaternion:d,frustum:l,coordinates:[B.transformCoordinate(f)]}))}),e.clock.onTick.addEventListener(this.clock_)):!c&&this.playState_&&(this.playState_=!1,this.clock_&&e.clock.onTick.removeEventListener(this.clock_),this.startTime_=le.cloneDeep(e.clock.currentTime))}}else this.clearModel()};reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:a,id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{if(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.modelInstance_&&this.modelInstance_.hasOwnProperty("customHTMLInstances_")&&this.modelInstance_.customHTMLInstances_.forEach(n=>{n.hasOwnProperty("presentationMode_")&&n.presentationMode_===2&&(e?n.show():n.hide())}),!!this.isHighlight_&&this.geometryInstance_){let n=this.data_?.symbol?.lineDash??0,s;n?e?s=new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),1),gapColor:Cesium.Color.TRANSPARENT,dashLength:n}}}):s=new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),.8),gapColor:Cesium.Color.TRANSPARENT,dashLength:n}}}):e?s=new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}}):s=new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}}),this.geometryInstance_.appearance=new Cesium.PolylineMaterialAppearance({material:s})}};clear=()=>{this.clearGeometry(),this.clearModel(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&(this.isClampToGround_?e.scene.groundPrimitives.remove(this.geometryInstance_):e.scene.primitives.remove(this.geometryInstance_)),this.geometryInstance_=void 0};clearModel=()=>{this.modelInstance_&&this.modelInstance_.clear(),this.modelInstance_=void 0,this.sampledPosition_&&(this.sampledPosition_=void 0);let e=B.getMapEngineInstance(this.containerID_);this.clock_&&e&&e?.clock&&e.clock.onTick.removeEventListener(this.clock_),this.clock_=void 0,this.playState_=!1,this.initLoadModel_=!0,this.initialStartTime_=void 0,this.initialStopTime_=void 0,this.initialCurrentTime_=void 0,this.initialClockRange_=void 0,this.initialMultiplier_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class x6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isHighlight_=!1;isAutoZoom_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isAutoZoom_=this.data_?.isAutoZoom??!1;const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.createPrimitive(e,i),this.reDrawCenterLabel(i),this.reDrawCenterHTML(i),this.reDrawCustomLabel([i]),this.reDrawCustomHTML([i])}createPrimitive=(e,t)=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditableIcon",n=B.getDefaultPointBase64();this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(n=this.data_?.symbol?.image);let s=this.data_?.symbol?.markerWidth??10,a=this.data_?.symbol?.markerHeight??10,o=this.data_?.symbol?.markerDx??0,l=this.data_?.symbol?.markerDy??0,h=this.data_?.symbol?.markerRotation??0;if(this.geometryInstance_)this.geometryInstance_.position=t,this.geometryInstance_.show=this.visible_,this.geometryInstance_.image=n,this.geometryInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.geometryInstance_.width=s,this.geometryInstance_.height=a,this.geometryInstance_.rotation=Cesium.Math.toRadians(-h),this.geometryInstance_.heightReference=this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let c=B.getBillboardCollection(this.containerID_),u;if(this.isAutoZoom_){const f=this.containerID_.split("-cesium")[0],d=B.transformCoordinate(t),g=B.getMapHeightByZoom(f,10,d),A=B.getMapHeightByZoom(f,3,d);u=new Cesium.Billboard({position:t,id:i,show:this.visible_,image:n,pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:s,height:a,rotation:Cesium.Math.toRadians(-h),disableDepthTestDistance:Number.POSITIVE_INFINITY,scaleByDistance:new Cesium.NearFarScalar(g,1,A,.1)},c)}else u=new Cesium.Billboard({position:t,id:i,show:this.visible_,image:n,pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:s,height:a,rotation:Cesium.Math.toRadians(-h),disableDepthTestDistance:Number.POSITIVE_INFINITY},c);this.geometryInstance_=c.add(u)}};reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:a,id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{if(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!!this.isHighlight_&&this.geometryInstance_){let n=B.getDefaultPointBase64();e?this.data_?.symbol?.imageHighlight&&this.data_?.symbol?.imageHighlight.length&&(n=this.data_?.symbol?.imageHighlight):this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(n=this.data_?.symbol?.image),this.geometryInstance_.image=n}};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getBillboardCollection(this.containerID_);this.geometryInstance_&&e&&e.remove(this.geometryInstance_),this.geometryInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class w6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!0,this.isHighlight_=this.data_?.isHighlight??!1;const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.createPrimitive(e,i),this.reDrawCenterLabel(i),this.reDrawCenterHTML(i),this.reDrawCustomLabel([i]),this.reDrawCustomHTML([i])}createPrimitive=(e,t)=>{let i=this.data_.ID+"-&-ZYWL-&-NotEditablePoint",n="#fff";this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(n=this.data_?.symbol?.pointColor),n=Cesium.Color.fromCssColorString(n);const s=this.data_?.symbol?.pixelSize??10;new Promise(a=>{const o=this.containerID_.split("-cesium")[0],l=B.transformCoordinate(t),h=B.getMapHeightByZoom(o,21,l),c=B.getMapHeightByZoom(o,4,l);a({nearHeight:h,farHeight:c})}).then(a=>{if(this.geometryInstance_)this.geometryInstance_.position=t,this.geometryInstance_.show=this.visible_,this.geometryInstance_.color=n,this.geometryInstance_.pixelSize=s;else{let o=B.getPointPrimitiveCollection(this.containerID_);this.geometryInstance_=o.add(new Cesium.PointPrimitive({position:t,id:i,show:this.visible_,color:n,pixelSize:s,disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new Cesium.DistanceDisplayCondition(a.nearHeight,a.farHeight)}))}})};reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:a,id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{if(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!!this.isHighlight_&&this.geometryInstance_){let n="#fff";e?this.data_?.symbol?.pointColorHighlight&&this.data_?.symbol?.pointColorHighlight.length&&(n=this.data_?.symbol?.pointColorHighlight):this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(n=this.data_?.symbol?.pointColor),n=Cesium.Color.fromCssColorString(n),this.geometryInstance_.color=n}};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.geometryInstance_&&e&&e.remove(this.geometryInstance_),this.geometryInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class b6e{containerID_=void 0;dataClass_=void 0;data_=void 0;options_=void 0;outlineOptions_=void 0;geometryInstance_=void 0;highlightPrimitive_=void 0;geometryOutlineInstance_=void 0;highlightOutlinePrimitive_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!0,this.isHighlight_=this.data_?.isHighlight??!1;const e=B.getMapEngineInstance(this.containerID_);let t=[],i=!1,n=!1,s=this.data_.coordinates;for(const a of s)t.push(B.transformCartesian3(a)),a?.customLabel&&(i=!0),a?.customHTML&&(n=!0);if(this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polygon",isClampToGround:this.isClampToGround_},this.outlineOptions_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:this.isClampToGround_},this.createPrimitive(e,t),i||this.clearCustomLabel(),n||this.clearCustomHTML(),!(!i&&!n))if(this.isClampToGround_){const a=await B.getTerrainHeights(e,s);this.reDrawCustomLabel(a.positions),this.reDrawCustomHTML(a.positions)}else this.reDrawCustomLabel(t),this.reDrawCustomHTML(t)}async createPrimitive(e,t){const i=this.data_.ID+"-&-ZYWL-&-NotEditablePolygon",n=this.data_.ID+"-&-ZYWL-&-NotEditablePolygonOutline",s=this.data_?.symbol?.lineWidth??2,a=le.cloneDeep(t);a.push(a[0]);const o=new Cesium.ShowGeometryInstanceAttribute(this.visible_),l=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)),h=B.getGeometryInstances(this.options_);var c;if(this.isClampToGround_?c=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!1}):c=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!0}),!this.geometryInstance_)this.geometryInstance_=new Cesium.GeometryInstance({id:i,geometry:c,attributes:{color:l,show:o}}),h.push(this.geometryInstance_);else{this.geometryInstance_.geometry=c,this.geometryInstance_.attributes.color=l,this.geometryInstance_.attributes.show=o;const A=h.findIndex(m=>m.id===this.geometryInstance_.id);A!==-1&&(h[A]=this.geometryInstance_)}const u=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")),f=B.getGeometryInstances(this.outlineOptions_);var d;if(this.isClampToGround_?d=new Cesium.GroundPolylineGeometry({positions:a,width:s}):d=new Cesium.PolylineGeometry({positions:a,width:s}),!this.geometryOutlineInstance_)this.geometryOutlineInstance_=new Cesium.GeometryInstance({id:n,geometry:d,attributes:{color:u,show:o}}),f.push(this.geometryOutlineInstance_);else{this.geometryOutlineInstance_.geometry=d,this.geometryOutlineInstance_.attributes.color=u,this.geometryOutlineInstance_.attributes.show=o;const A=f.findIndex(m=>m.id===this.geometryOutlineInstance_.id);A!==-1&&(f[A]=this.geometryOutlineInstance_)}this.updatePrimitive(h,f);const g=B.getCenterByCartesian3(this.data_.coordinates);if(this.isClampToGround_){const A=await B.getTerrainHeight(e,g.position);this.reDrawCenterLabel(A.position),this.reDrawCenterHTML(A.position)}else this.reDrawCenterLabel(g.position),this.reDrawCenterHTML(g.position)}reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:a,id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e)};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.geometryInstance_){const o=e.findIndex(l=>l.id===this.geometryInstance_.id);o!==-1&&(e.splice(o,1),t=!0)}var i;this.outlineOptions_&&(i=B.getGeometryInstances(this.outlineOptions_));var n=!1;if(this.geometryOutlineInstance_){const o=i.findIndex(l=>l.id===this.geometryOutlineInstance_.id);o!==-1&&(i.splice(o,1),n=!0)}t&&n&&this.updatePrimitive(e,i),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0;const a=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&a.remove(this.highlightPrimitive_),this.highlightOutlinePrimitive_&&a.remove(this.highlightOutlinePrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=(e,t)=>{const n=B.getMapEngineInstance(this.containerID_).scene.primitives;var s;this.options_&&(s=B.getGeometryPrimitive(this.options_)),s&&(n.remove(s),B.removeGeometryPrimitive(this.options_));var a;this.outlineOptions_&&(a=B.getGeometryPrimitive(this.outlineOptions_)),a&&(n.remove(a),B.removeGeometryPrimitive(this.outlineOptions_)),e?.length&&this.options_&&(this.isClampToGround_?s=new Cesium.GroundPrimitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}):s=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(s),this.options_.primitive=s,B.addGeometryPrimitive(this.options_)),t?.length&&this.outlineOptions_&&(this.isClampToGround_?a=new Cesium.GroundPolylinePrimitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}):a=new Cesium.Primitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(a),this.outlineOptions_.primitive=a,B.addGeometryPrimitive(this.outlineOptions_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&i.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_&&i.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0,e&&(this.isClampToGround_?(this.geometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.GroundPrimitive({geometryInstances:this.geometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}))),this.geometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.GroundPolylinePrimitive({geometryInstances:this.geometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN})))):(this.geometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.geometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1}))),this.geometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.geometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1})))))}}class vI{containerID_=void 0;dataClass_=void 0;data_=void 0;options_=void 0;geometryInstance_=void 0;highlightPrimitive_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!0;isHighlight_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};douglasPeucker=()=>{this.reDraw()};async reDraw(){if(!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!0,this.isHighlight_=this.data_?.isHighlight??!1;const e=B.getMapEngineInstance(this.containerID_);let t=[],i=!1,n=!1,s=this.data_?.coordinates;for(const a of s)t.push(B.transformCartesian3(a)),a?.customLabel&&(i=!0),a?.customHTML&&(n=!0);if(this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:this.isClampToGround_},this.createPrimitive(e,t),i||this.clearCustomLabel(),n||this.clearCustomHTML(),!(!i&&!n))if(this.isClampToGround_){const a=await B.getTerrainHeights(e,s);this.reDrawCustomLabel(a.positions),this.reDrawCustomHTML(a.positions)}else this.reDrawCustomLabel(t),this.reDrawCustomHTML(t)}async createPrimitive(e,t){const i=this.data_.ID+"-&-ZYWL-&-NotEditablePolyline",n=this.data_?.symbol?.lineWidth??3,s=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")),a=new Cesium.ShowGeometryInstanceAttribute(this.visible_),o=B.getGeometryInstances(this.options_);var l;if(this.isClampToGround_?l=new Cesium.GroundPolylineGeometry({positions:t,width:n}):l=new Cesium.PolylineGeometry({positions:t,width:n}),!this.geometryInstance_)this.geometryInstance_=new Cesium.GeometryInstance({id:i,geometry:l,attributes:{color:s,show:a}}),o.push(this.geometryInstance_);else{this.geometryInstance_.geometry=l,this.geometryInstance_.attributes.color=s,this.geometryInstance_.attributes.show=a;const c=o.findIndex(u=>u.id===this.geometryInstance_.id);c!==-1&&(o[c]=this.geometryInstance_)}this.updatePrimitive(o);const h=B.getCenterByCartesian3(this.data_.coordinates);if(this.isClampToGround_){const c=await B.getTerrainHeight(e,h.position);this.reDrawCenterLabel(c.position),this.reDrawCenterHTML(c.position)}else this.reDrawCenterLabel(h.position),this.reDrawCenterHTML(h.position)}reDrawCenterLabel=e=>{if(this.visible_&&this.data_.hasOwnProperty("customLabel")&&e){let t=this.data_.customLabel,i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:e,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML(),this.visible_&&this.data_.hasOwnProperty("customHTML")&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:this.data_.customHTML}))};reDrawCustomLabel=e=>{if(this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length){let t=B.getLabelCollection(this.containerID_);for(let i=0;i<e.length;i++){let n=this.data_.coordinates[i];if(n.hasOwnProperty("customLabel")){let s=n.customLabel,a=e[i],o=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+i,l=s?.show??!1,h=s?.content??"",c=s?.showBackground??!1,u=s?.dx??0,f=s?.dy??0,d=this.customLabelInstances_.find(g=>g.ID===o);if(d)d.primitive.position=a,d.primitive.show=l,d.primitive.text=h,d.primitive.showBackground=c,d.primitive.pixelOffset=new Cesium.Cartesian2(u,f);else{let g=t.add(new Cesium.Label({position:a,id:o,show:l,text:h,font:"18px sans-serif",showBackground:c,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(u,f),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:o,index:i,primitive:g})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(e)&&e.length===this.data_.coordinates.length)for(let t=0;t<e.length;t++){let i=this.data_.coordinates[t];if(i.hasOwnProperty("customHTML")){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+t,center:e[t],customHTML:i.customHTML}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e)};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.geometryInstance_){const s=e.findIndex(a=>a.id===this.geometryInstance_.id);s!==-1&&(e.splice(s,1),t=!0)}t&&this.updatePrimitive(e),this.geometryInstance_=void 0;const n=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&n.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;var n;this.options_&&(n=B.getGeometryPrimitive(this.options_)),n&&(i.remove(n),B.removeGeometryPrimitive(this.options_)),e?.length&&this.options_&&(this.isClampToGround_?n=new Cesium.GroundPolylinePrimitive({geometryInstances:e,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}):n=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),i.add(n),this.options_.primitive=n,B.addGeometryPrimitive(this.options_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;if(this.highlightPrimitive_&&i.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0,e&&this.geometryInstance_){let n;this.isClampToGround_?n=new Cesium.GroundPolylinePrimitive({geometryInstances:this.geometryInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:Cesium.ClassificationType.TERRAIN}):n=new Cesium.Primitive({geometryInstances:this.geometryInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1}),this.highlightPrimitive_=i.add(n)}}}class dte{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;LineStringGeometryInstance_=void 0;radiusPolylineInstance_=void 0;pointInstance_=void 0;radiusPointInstance_=void 0;radiusLabelInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;radiusCenter_=void 0;radius_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;defaultHeight_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw(),this.reDrawPoints(),this.reDrawRadiusPoint()};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=(e,t)=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;let i=this.data_?.coordinates??[],n=le.cloneDeep(e.coordinate);if(n){n={longitude:n.x,latitude:n.y,altitude:0},this.defaultHeight_&&(n.altitude=this.defaultHeight_);let s=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_){if(t&&t.length){i.length-2;let a=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircleRadius-Point";if(t.find(l=>l?.layer==="ZYWLGIS-GL-Point"||l?.layer==="ZYWLGIS-GL-LineString"||l?.layer==="ZYWLGIS-GL-Polygon"?l.geometry.getId()===a:l.getId()===a)){this.isStartDraw_=!1,this.reDraw(),this.emitGraphChanged("complete"),s.off("mousemove",this.mousemove);return}}}else if(i.length)this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited();else{i.push(le.cloneDeep(n)),this.center_=[i[0].longitude,i[0].latitude],this.radiusCenter_=[le.cloneDeep(n).longitude,le.cloneDeep(n).latitude];let a=ki(this.center_),o=ki(this.radiusCenter_);this.radius_=jn(a,o,{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.isStartDraw_=!0,s.on("mousemove",this.mousemove)}}this.reDraw(),this.reDrawPoints(),this.reDrawRadiusPoint(),this.emitGraphChanged("update")};mousemove=e=>{if(!this.isStartDraw_)return;this.radiusCenter_[0]=e.coordinate.x,this.radiusCenter_[1]=e.coordinate.y;let t=ki(this.center_),i=ki(this.radiusCenter_);this.radius_=jn(t,i,{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw(),this.reDrawRadiusPoint()};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircle",n=this.data_?.zIndex??0,s=e[0];if(this.center_=[s.longitude,s.latitude],this.radius_||(this.radius_=this.data_?.symbol?.radius),this.radiusCenter_){if(this.radiusCenter_&&this.center_){let u=ki(this.center_),f=ki(this.radiusCenter_);this.radius_=jn(u,f,{units:"meters"})}}else if(this.radius_){let u=ki(this.center_),f=rs(u,this.radius_,90,{units:"meters"});this.radiusCenter_=f.geometry.coordinates}let a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o="#fff";this.data_?.symbol?.polygonColor&&this.data_?.symbol?.polygonColor.length&&(o=this.data_?.symbol?.polygonColor);let l=this.data_?.symbol?.lineWidth??2,h={lineColor:a,lineWidth:l,polygonFill:o,polygonOpacity:.3},c=new po(this.center_,this.radius_,{id:i,symbol:h});if(window.isGPUSupport){let u=B.getPolygonLayer(this.containerID_),f=c.toGeoJSON().geometry.coordinates[0],d=new or(f,{id:i,symbol:h});t({PolygonLayer:u,radius:this.radius_,position:this.center_,positions:f,symbol:h,zIndex:n,PolygonGeometry:d})}else{let u=B.getVectorLayer(this.containerID_);t({PolygonLayer:u,radius:this.radius_,position:this.center_,symbol:h,zIndex:n,PolygonGeometry:c})}}).then(t=>{this.geometryInstance_?(this.geometryInstance_.updateSymbol(t.symbol),window.isGPUSupport?this.geometryInstance_.setCoordinates(t.positions):(this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.setRadius(t.radius))):(this.geometryInstance_=t.PolygonGeometry.addTo(t.PolygonLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("contextmenu",this.geometryContextmenu)),this.geometryInstance_&&(this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide()),this.reDrawRadiusPolyline(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};geometryContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw(),this.reDrawPoints(),this.reDrawRadiusPoint()})};reDrawRadiusPolyline=()=>{if(this.visible_&&this.isEditable_&&this.center_&&this.radiusCenter_){let e=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircleRadiusPolyline",t=[this.center_,this.radiusCenter_],i,n;window.isGPUSupport?(i=B.getLineStringLayer(this.containerID_),n=B.getPointLayer(this.containerID_)):(i=B.getVectorLayer(this.containerID_),n=B.getVectorLayer(this.containerID_)),this.radiusPolylineInstance_?(this.radiusPolylineInstance_.setCoordinates(t),this.radiusPolylineInstance_.updateSymbol({lineColor:this.data_?.symbol?.lineColor??"#fff",lineWidth:2})):this.radiusPolylineInstance_=new Sr(t,{id:e,symbol:{lineColor:this.data_?.symbol?.lineColor??"#fff",lineWidth:2}}).addTo(i);let s=ki(this.center_),a=ki(this.radiusCenter_),o=Mh(s,a),h=jn(s,a,{units:"meters"}),c;h>1e3?(h=h/1e3,h=Number(h.toFixed(2)),c=`${h}km`):(h=Number(h.toFixed(2)),c=`${h}m`);let u=this.data_.ID+"-&-ZYWL-&-RadiusLabel",f={textDx:0,textDy:-20,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:c};this.radiusLabelInstance_?(this.radiusLabelInstance_.setCoordinates(o.geometry.coordinates),this.radiusLabelInstance_.updateSymbol(f)):this.radiusLabelInstance_=new Fn(o.geometry.coordinates,{id:u,symbol:f,draggable:!1,dragShadow:!1,editable:!1}).addTo(n)}else this.clearRadiusPolyline()};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&this.isEditable_&&this.center_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_.ID+"-&-ZYWL-&-GraphicEditingCenter-Point",i={markerType:"ellipse",markerFill:"#fff",markerWidth:15,markerHeight:15,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0};this.pointInstance_=new Fn(this.center_,{id:t,symbol:i,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:10}).addTo(e),this.pointInstance_.on("dragging",this.pointDragging),this.pointInstance_.on("dragend",this.pointDragend),this.pointInstance_.on("contextmenu",this.pointContextmenu)}};pointDragging=e=>{this.center_=[e.coordinate.x,e.coordinate.y];let t=ki(this.center_),i=rs(t,this.radius_,90,{units:"meters"});this.radiusCenter_=i.geometry.coordinates;let n=this.data_.coordinates;n[0].longitude=this.center_[0],n[0].latitude=this.center_[1],n[0].altitude=0,this.defaultHeight_&&(n[0].altitude=this.defaultHeight_),this.reDraw(),this.reDrawRadiusPoint()};pointDragend=e=>{this.emitGraphChanged("update")};pointContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.center_=void 0,this.radiusCenter_=void 0,this.radius_=void 0,this.emitGraphRemoved(),this.reDraw()})};reDrawRadiusPoint=()=>{if(this.clearRadiusPoint(),this.visible_&&this.isEditable_&&this.radiusCenter_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircleRadius-Point",i={markerType:"ellipse",markerFill:"#fff",markerWidth:15,markerHeight:15,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0};this.radiusPointInstance_=new Fn(this.radiusCenter_,{id:t,symbol:i,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:10}).addTo(e),this.radiusPointInstance_.on("dragging",this.radiusPointDragging),this.radiusPointInstance_.on("dragend",this.pointDragend),this.radiusPointInstance_.on("contextmenu",this.pointContextmenu)}};radiusPointDragging=e=>{this.radiusCenter_=[e.coordinate.x,e.coordinate.y];let t=ki(this.center_),i=ki(this.radiusCenter_);this.radius_=jn(t,i,{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw()};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearRadiusPolyline(),this.clearPoints(),this.clearRadiusPoint(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML(),this.center_=void 0,this.radiusCenter_=void 0,this.radius_=void 0};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("contextmenu",this.geometryContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearRadiusPolyline=()=>{this.radiusPolylineInstance_&&(this.radiusPolylineInstance_.remove(),this.radiusPolylineInstance_=void 0),this.radiusLabelInstance_&&(this.radiusLabelInstance_.remove(),this.radiusLabelInstance_=void 0)};clearPoints=()=>{this.pointInstance_&&(this.pointInstance_.off("dragging",this.pointDragging),this.pointInstance_.off("dragend",this.pointDragend),this.pointInstance_.off("contextmenu",this.pointContextmenu),this.pointInstance_.remove(),this.pointInstance_=void 0)};clearRadiusPoint=()=>{this.radiusPointInstance_&&(this.radiusPointInstance_.off("dragging",this.radiusPointDragging),this.radiusPointInstance_.off("dragend",this.pointDragend),this.radiusPointInstance_.off("contextmenu",this.pointContextmenu),this.radiusPointInstance_.remove(),this.radiusPointInstance_=void 0)};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2,polygonOpacity:.4})};mouseout=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t,polygonOpacity:.3})}}class T6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;defaultHeight_=void 0;isAutoZoom_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;let t=le.cloneDeep(e.coordinate);if(t){t={longitude:t.x,latitude:t.y,altitude:0},this.defaultHeight_&&(t.altitude=this.defaultHeight_);let i=this.data_?.coordinates;i&&i.length?(i[0].longitude=t.longitude,i[0].latitude=t.latitude,i[0].altitude=t.altitude??0):this.data_.coordinates=[t],this.reDraw(),this.emitGraphChanged("update"),setTimeout(()=>{this.reDrawCustomHTML()},0)}};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight,this.isAutoZoom_=this.data_?.isAutoZoom??!1;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-GraphicEditingIcon",n=this.data_?.zIndex??0,s=e[0],a=B.getDefaultPointBase64();this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(a=this.data_?.symbol?.image);let o=this.data_?.symbol?.markerWidth??10,l=this.data_?.symbol?.markerHeight??10,h=this.data_?.symbol?.markerDx??0,c=this.data_?.symbol?.markerDy??0,u=this.data_?.symbol?.markerRotation??0,f={markerFile:a,markerWidth:o,markerHeight:l,markerDx:h,markerDy:c,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerRotation:-u},d=[s.longitude,s.latitude],g=new Fn(d,{id:i,symbol:f,draggable:this.isEditable_,dragShadow:!1,editable:!1}),A;window.isGPUSupport?A=B.getPointLayer(this.containerID_):A=B.getVectorLayer(this.containerID_),t({PointLayer:A,position:d,symbol:f,zIndex:n,PointGeometry:g})}).then(t=>{this.center_=t.position,this.geometryInstance_||(this.geometryInstance_=t.PointGeometry.addTo(t.PointLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("dragging",this.pointDragging),this.geometryInstance_.on("dragend",this.pointDragend),this.geometryInstance_.on("contextmenu",this.pointContextmenu)),this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.config("draggable",this.isEditable_),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};pointDragging=e=>{this.data_.coordinates[0].longitude=e.coordinate.x,this.data_.coordinates[0].latitude=e.coordinate.y,this.data_.coordinates[0].altitude=e.coordinate.z??0,e.target.setCoordinates([this.data_.coordinates[0].longitude,this.data_.coordinates[0].latitude]),this.reDrawCustomLabel(),this.reDrawCustomHTML()};pointDragend=e=>{this.emitGraphChanged("update")};pointContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("dragging",this.pointDragging),this.geometryInstance_.off("dragend",this.pointDragend),this.geometryInstance_.off("contextmenu",this.pointContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=B.getDefaultPointBase64();this.data_?.symbol?.imageHighlight&&this.data_?.symbol?.imageHighlight.length&&(t=this.data_?.symbol?.imageHighlight),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFile:t})};mouseout=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=B.getDefaultPointBase64();this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(t=this.data_?.symbol?.image),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFile:t})}}class gte{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;defaultHeight_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick({ID:this.data_.ID,data:this.data_,class:this.dataClass_})};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(i)};emitGraphRemoved=()=>{B.emitGraphRemoved({ID:this.data_.ID,data:this.data_,class:this.dataClass_})};mouseClick=e=>{if(console.log(123),B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;let t=le.cloneDeep(e.coordinate);if(t){t={longitude:t.x,latitude:t.y,altitude:0},this.defaultHeight_&&(t.altitude=this.defaultHeight_);let i=this.data_?.coordinates;i&&i.length?(i[0].longitude=t.longitude,i[0].latitude=t.latitude,i[0].altitude=t.altitude??0):this.data_.coordinates=[t],this.reDraw(),this.emitGraphChanged("update"),setTimeout(()=>{this.reDrawCustomHTML()},0)}};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-GraphicEditingPoint",n=this.data_?.zIndex??0,s=e[0],a="#fff";this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(a=this.data_?.symbol?.pointColor);let o=this.data_?.symbol?.pixelSize??20,l={markerType:"ellipse",markerFill:a,markerHeight:o,markerWidth:o,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0},h=[s.longitude,s.latitude],c=new Fn(h,{id:i,symbol:l,draggable:this.isEditable_,dragShadow:!1,editable:!1}),u;window.isGPUSupport?u=B.getPointLayer(this.containerID_):u=B.getVectorLayer(this.containerID_),t({PointLayer:u,position:h,symbol:l,zIndex:n,PointGeometry:c})}).then(t=>{this.center_=t.position,this.geometryInstance_||(this.geometryInstance_=t.PointGeometry.addTo(t.PointLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("dragging",this.pointDragging),this.geometryInstance_.on("dragend",this.pointDragend),this.geometryInstance_.on("contextmenu",this.pointContextmenu)),this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.updateSymbol(t.symbol),this.geometryInstance_.config("draggable",this.isEditable_),this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};pointDragging=e=>{this.data_.coordinates[0].longitude=e.coordinate.x,this.data_.coordinates[0].latitude=e.coordinate.y,this.data_.coordinates[0].altitude=e.coordinate.z??0,e.target.setCoordinates([this.data_.coordinates[0].longitude,this.data_.coordinates[0].latitude]),this.reDrawCustomLabel(),this.reDrawCustomHTML()};pointDragend=e=>{this.emitGraphChanged("update")};pointContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw()})};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("dragging",this.pointDragging),this.geometryInstance_.off("dragend",this.pointDragend),this.geometryInstance_.off("contextmenu",this.pointContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t="#fff";this.data_?.symbol?.pointColorHighlight&&this.data_?.symbol?.pointColorHighlight.length&&(t=this.data_?.symbol?.pointColorHighlight),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFill:t})};mouseout=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t="#fff";this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(t=this.data_?.symbol?.pointColor),this.geometryInstance_&&this.geometryInstance_.updateSymbol({markerFill:t})}}class Ate{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryPolylineInstance_=void 0;pointInstances_=[];centerPointInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isCopy_=!1;isStartDraw_=!1;heightMode_=0;defaultHeight_=void 0;nodeMode_="billboard";isAutoDrawAirRoute_=!1;isContainTakeOffBillboard_=!1;TakeOffBillboard_=void 0;TakeOffBillboardDistanceLabel_=void 0;TakeOffBillboardCoordinate_=void 0;polylineCoordinates_=[];startCoordinate_=void 0;isDistanceVisible_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDrawTakeOffBillboard(),this.reDraw(),this.reDrawPoints(),this.isStartDraw_||this.reDrawPolyline()};emitGraphClick=()=>{this.isEditable_&&!window.EditElement||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphNodeClick=e=>{B.emitGraphNodeClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_,index:e}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?this.dataClass_==="AirRoutes"?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,takeOffBillboardCoordinate:this.TakeOffBillboardCoordinate_,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:this.dataClass_==="AirRoutes"?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,takeOffBillboardCoordinate:this.TakeOffBillboardCoordinate_,class:this.dataClass_,type:e}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=(e,t)=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;if(this.isContainTakeOffBillboard_&&!this.TakeOffBillboardCoordinate_){this.TakeOffBillboardCoordinate_={longitude:e.coordinate.x,latitude:e.coordinate.y,altitude:0},this.reDrawTakeOffBillboard(),this.reDraw(),this.isStartDraw_||this.reDrawPolyline(),this.emitGraphChanged("setTakeOffPoint"),B.recoverCursor(this.containerID_,"custom-cursor");return}let i=this.data_?.coordinates??[],n=le.cloneDeep(e.coordinate);if(n){n={longitude:n.x,latitude:n.y,altitude:0},this.defaultHeight_&&(n.altitude=this.defaultHeight_);let s=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_){if(t&&t.length){let a=i.length-2,o=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon-Point-"+a;if(t.find(h=>h?.layer==="ZYWLGIS-GL-Point"||h?.layer==="ZYWLGIS-GL-LineString"||h?.layer==="ZYWLGIS-GL-Polygon"?h.geometry.getId()===o:h.getId()===o)){this.isStartDraw_=!1,i.splice(i.length-1,1),this.reDraw(),this.reDrawPoints(),!this.isStartDraw_&&this.dataClass_==="AirRoutes"?this.reDrawPolyline():this.emitGraphChanged("complete"),s.off("mousemove",this.mousemove);return}}i.push(le.cloneDeep(n))}else if(!i.length)i.push(le.cloneDeep(n)),i.push(le.cloneDeep(n)),this.isStartDraw_=!0,s.on("mousemove",this.mousemove);else if(t&&t.length){let a=!1;for(let o=0;o<t.length;o++){let l=t[o];(l?.layer==="ZYWLGIS-GL-Point"||l?.layer==="ZYWLGIS-GL-LineString"||l?.layer==="ZYWLGIS-GL-Polygon")&&(l=l.geometry);let h=l.getId();if(h.includes("-&-ZYWL-&-GraphicEditingPolygon-CenterPoint-")){a=!0;let c=B.extractionIndex(h),u=l.getCoordinates();if(u){let f={longitude:u.x,latitude:u.y,altitude:0};this.defaultHeight_&&(f.altitude=this.defaultHeight_),i.splice(c+1,0,f),setTimeout(()=>{this.reDrawCustomHTML()},0),!this.isStartDraw_&&this.dataClass_==="AirRoutes"?this.reDrawPolyline():this.emitGraphChanged("update"),this.reDraw(),this.reDrawPoints();break}}}a||(this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited());return}else this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited()}this.reDraw(),this.reDrawPoints(),this.emitGraphChanged("update")};mousemove=e=>{if(!this.isStartDraw_)return;let t=this.data_?.coordinates;t[t.length-1].longitude=e.coordinate.x,t[t.length-1].latitude=e.coordinate.y,this.defaultHeight_?t[t.length-1].altitude=this.defaultHeight_:t[t.length-1].altitude=e.coordinate.z,this.reDraw()};reDrawTakeOffBillboard=()=>{if(!this.TakeOffBillboardCoordinate_){this.clearTakeOffBillboardHeightLabel();return}let e=this.data_.ID,t;window.isGPUSupport?t=B.getPointLayer(this.containerID_):t=B.getVectorLayer(this.containerID_);let i=[this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude];if(this.TakeOffBillboard_?(this.TakeOffBillboard_.setCoordinates(i),this.TakeOffBillboard_.config("draggable",this.isEditable_)):(this.TakeOffBillboard_=new Fn(i,{id:e+"-&-ZYWL-&-TakeOffBillboard",symbol:{markerFile:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAABHNCSVQICAgIfAhkiAAADBpJREFUeF7dnO1OHNcZxwfbTUhCCgTXNG9lCZYtO7KBRK3aD5WXKyhWv0bKcgVe30AM6gUYX4Gxqn6GXAGLKrVqowRIWlu24njJa43iGBISO65d+vyO50wOhzOzZ3ZmZ8CPNNq32TnP+c/zfp4zXUGJtL29XZHhh+QYk6MvZKUavvKZ76EVOTbC943wlc98v9bV1dUsaxpdRQ8soAHK23IAlAYoKxsACbBXBEzeF0YdB1AAQ5LOyDEZHlrSOjVJJHMhPJYEUC25HRmvowAKeBeE67ocsaAtbX4XrGz9EGw8fKQm2Ph2S73yme+hsZ5ng75DB9X76s971Cuf+f5M7/NJwADerIA40xH05KIdAVCAQ0Wn5ajYjK/dfxA0BLSFOxvqyIMmB/oCjqqAOdT9lOuSTfgRIK/kMZ55jVwBFOCqcvHLNnCANnf762Dhm81IqvKeiL4eUjn5Qm9QGzzsAhMgpwTIRl7j5wJg6BguomEmY5uihvVPPlfglUGAOPvaK0FvqP4GDwB4Pg+HkxlAAQ/ngNRFdg7gZr+4Hcx+uR7ZtjIAZExsZf2lI0H95UEbSOzH2azSmAlAAe+cMDFrgnNJgJv+9KvSgbNvGEBO/+rF4JwAaREqPdfuDW4bQAEPqavpgbFzk9dudtzGtTtR00YunBix7eOcgDjVzrVTAxjGdYsyWBQEr37/Q1D98Maek7o4QJDGxuljwehzz5qnYBdR6VShQSoAQ2cxLwNV9MhXbt8Jajea7dy80v8zd6wSvD04YPJBFoNKe2cz3gCGkrdsgndePCzOYj8TzuWieGqDAG/CVxLTAAh4Sm3xskhdXoFw2TeAIBxpNMKdhgA44cOXF4C2wzh79eYTA54GCRDnT46YmHk5lpYACnjksgTJip4EtY2TLIc6twxxEgEMg2SchqL97DB81JFzHI4Fe9iI+38sgKHHJVxRGQahytgH13z5yHxez4EDwR9/0a9uWtG08sYJM8QhrAFEp2dOAhDwqjBPkDy2fLWwOK/v4MFgcfR4MPbcM5JH3wmmCg6TiBNXxk+awXasU3ECGFZVAFDR+PK1wjIMEzw9fhkgUtVZHj9hCr9TleMAvCX/rPBvclsqKkWQC7wyQaSSY+TOK6LG4zYOuwAU6avJSeS5Kt6rvPdRIaqbBF5ZIKLKzV+fMuPDXV7ZBWAkfTNrX6rKSqfJBzzNA8H71PVmsPHo8RJAp4kKzoWhl/QwTZHCYXPMHQCK9E3Lj6xjFCZ9laefCuZfP6ochi+tfH8vmFi9XgiIDimcERDBSVEEYJjrIn0qbJm6sdbxSjKgLZ4+Hi0Y+QLIeUWCSGX78jGWrxUR1gzrXNkEkMqyCpoJW7B9naQs4Gm+igQRW2gsWFH2Yul0hwTOyWdW04KibJ99g7Z//2biPVva3JK64/VO3tfYa1u28IoAWLMBvKvVt8i4z+R4LwNoxYUbAmB/BGCYtlGuKkR9427zXgYQni01Hie9UzZQAGRhiAWiUgsGex1Aq9BwSQCsawCjYmmZtT46C5Jo4+FD5X3LIqtmqDKTrrDFjPBFUddf3y+Lv30xrqUlwwBYFc5V4YBGH1bXyqLZ114NRnviA+rVrXuSl39WFntqXFbzjIamCQCMKs5FFg5cKDQkqD7T+7j7ykVlhjGaH6vAcB4Ap+VHlb6VFf9p5vYDgFY8OLMDwLLXO1Bh4q04ol+wbBV2AdgQhukgDSY+uhE0Nr4r1cbs9cGrfc8Hi6eOaTaXkMDSAMTe9R86FC2RplHhC1Jmav74IGje/zHAuRRV3nIBGNX/ht/7l2KoE0TZ6ozcPWIp1JTPkOkY0gBoB92AifbQ/bokr3zuBFkp3QoSuK0HyjsGBCRK4pOH+yLA7EnlBaB9XQBc+HpDLUnkDaZ58zoCIA07LFL7FElNANM4kVZpnwko2Qs9PHktkdoANmUwVS3MqsKo58WRV2OlTU9qVSaER30sJXfbSs+Q7kr30wE2ife8DoVmIU51GW9alimyAGmp8GouToQ1jfnXR1SXfBy9G3blY6fyVik9pgaSG/kHOeIoy7pK7l44qbK8Ft5xbJHLSwL8uZeP7JjnTItFLLyvSUiT64ZwbWzvtCwIuSSTfSgTUpxNW5xwARiVstIG0nHgbcqKWf3mZ6qrIInqAt5FCZ6joMqj4mx76vOSG89+sZ44Tk1s8qyYll4B1aR2QEzMRNKkcnHgoao1z2XH5TdO7nA0Ps1LOBpTapG+4X+2Xr9BIueOV3apNiCOf3DV26y4AGyrmLAoVQnb5vkAoCWAGwCAJiGxrfaUTA70i4ffqfYA4KuKju4rFTtOeFahXMWEqkwiVTnrtEx+1Zo89m7sfWlA8lzwtiUpS9Cb5sYhiStvSuOQ5bFHJIn4xCOJcJWzKsJ8qoLqW0deCP58fMcCveqgamXzTJBu/eZUy3DHF1TUsP/v3n3hSoJN28s4b12/Ffxl/ZvEIVlkv/u7aHOCivx0SZ/RR/nGp6T/jni2GcsbogKogg852ml9/pZ4TpobiOnBBJn0jsSHf2oRAVh8r0pJf6ytRSUXgD7Aa4ZddgjP3fc3PylqivTaKojzmpTebR9y3UAfAC2+VYuHBhC5VMuaTelKGG7RleBi4JKEEj61OmwQ6qv3/+oJpwHAdQOUPok39gnSXfbXRwBuSXdC5afttD8tazK41BTo+ejlfauF9cGfHQr+81ul8TvIxxsSk12WLQU2+cRz+j9ZruFSX647+I8Pg/UH/40VYCuF2xTpU6mO2RszJ5+9Wztcd5G7f/bfHyeGFGQGrpSvfvNT71AEKV6Qji6bKMUl7ZqKi119tMentSNqLvJRYybRkD7mUastDY+INKXxyD52K+s5SC2e1zYdFDbGJI5sRZb6OpuLEMmmVmOf9rY4EGEGjzyz9pW3Z241gXZ/R9ovDL3olHrAq3r0GVrtbZvCS2VXexsMmit0SBLORD8MIm4CcSmSPl/X4t6NKSi0C0zS/+CJmmTtl4dja5K+KScSi/QZkutusNQMCYhIoaoPpsmNCU6xb3bCbk6UMhJ1QFV2l8JBnsT6CtKmnpmQUMoiXKIm2KoAoXmzbN+aSF7F5DuxydxXCvUFufOAaJeo4oBCOjH8+rEnK7KZxyQNsr3YPib7fPVjTyiq+lS+uS7OAvB8002H9LVuMg9VOZLCdroVALL+yqA8OWOgZZU4Tyl0XYscHYc2+/ltb+D0dax4U2Ue9hgd32gTPdPFo+SeF5iARuUb4HzTS3vsTBttQilsyKtacCesGc9hqxeqBmPaVtkhULsA6jUWwMIc+Ja24sZDdZdlq5eRdSyJ9FVd57fabAiIKjuBMTKUvOmo2LCegweCo890q1dIfe7u3jGUaR+3Hv0v+Pje/UC9epSg0vLMFi+jxYSwpZp6s2EohaAe7ZkrY89a2slnPZ80E9ttkHOPnP7dZ8N1TU5WW7+gtOsmWSdU5P9z33CtmZfYcE7eqzwZ8qlcFDnxPMZyVJiirQxJ128pgQaIDXmvnArxIQXMJ+mhE6iukW3EOg0bzDQAkitT8Yz2PLENljhxPxO9OywUGbQq73EaXg/g8QaQAcL9JGxxikDcz47F4TAArxbncV2CkgrAEEQkERCVOkOEODRntio87BVJRVVpkrS6YZeEv0lfydNzSQ2gYRPn5H3kWAi2z+6Th4/Ny8PHjCCZKXk5jFwk0LyIubtdf08bGf0te00akToKqlaMB9u7CgRpNKVtCTQksRqqtMpYIMDj4Ys4mLKBBDgcBQ9htKrRZBiobCMNYPa5mQHkgqFzoUkpsosaSFbqsvTjZZkcRVXWbuwyvlwTe1dP4yzi+MgFQEsasY2Rl+Y37OPc+p2AKrB+tHEWYJL+i2OgN7B2ZMC2c/wNLwtwmaTOHD9XAA0ga/J+2gZSg6kfgwygWQnpYuuVfgyy5Rz05dfgR4Dj5uZKHQHQABIQ6f6K7KPNvS5BbUhlBdL7VCi9mw/i1ksFNDhCfVKx0aWxBESwczyIGz46Qh0FEI7Dh1lU5S3LphyxYOY0Q0AjTuXgkU3ZxTyBsY4DaI8dOpyafA+ou9sb2kMR26ZAy8MxpGGhcABN5sK9yhX5jrUG3RUOsBCfNcAApCWpEf7OZ3JzHobTTDPpPM/9PzBFc7J0xwYvAAAAAElFTkSuQmCC",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Dr&&Dr.tagName.toUpperCase()==="SCRIPT"&&Dr.src||new URL("ZYWLGIS.umd.js",document.baseURI).href).href,markerWidth:35,markerHeight:35,markerDx:0,markerDy:0,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle"},draggable:this.isEditable_,dragShadow:!1,editable:!1}).addTo(t),this.TakeOffBillboard_.on("dragging",this.takeOffDragging),this.TakeOffBillboard_.on("dragend",this.takeOffDragend)),this.TakeOffBillboard_.setZIndex(999),this.visible_?this.TakeOffBillboard_.show():this.TakeOffBillboard_.hide(),this.polylineCoordinates_&&this.polylineCoordinates_.length){let n=ki(i),s=ki([this.polylineCoordinates_[0].longitude,this.polylineCoordinates_[0].latitude]),a=Mh(n,s),l=jn(n,s,{units:"meters"}),h;if(l>1e3?(l=l/1e3,l=Number(l.toFixed(2)),h=`${l}km`):(l=Number(l.toFixed(2)),h=`${l}m`),l===0)this.clearTakeOffBillboardHeightLabel();else{let c={textDx:0,textDy:0,textHorizontalAlignment:"middle",textVerticalAlignment:"middle",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:h};this.TakeOffBillboardDistanceLabel_?(this.TakeOffBillboardDistanceLabel_.setCoordinates(a.geometry.coordinates),this.TakeOffBillboardDistanceLabel_.updateSymbol(c)):this.TakeOffBillboardDistanceLabel_=new Fn(a.geometry.coordinates,{id:e+"-&-ZYWL-&-TakeOffBillboardDistanceLabel",symbol:c,draggable:!1,dragShadow:!1,editable:!1}).addTo(t),this.TakeOffBillboardDistanceLabel_.setZIndex(999),this.visible_?this.TakeOffBillboardDistanceLabel_.show():this.TakeOffBillboardDistanceLabel_.hide()}}else this.clearTakeOffBillboardHeightLabel()};takeOffDragging=e=>{this.TakeOffBillboardCoordinate_.longitude=e.coordinate.x,this.TakeOffBillboardCoordinate_.latitude=e.coordinate.y,this.reDrawTakeOffBillboard(),this.reDraw(),this.isStartDraw_||this.reDrawPolyline()};takeOffDragend=e=>{this.emitGraphChanged("setTakeOffPoint")};takeOffDistancePoint=()=>{if(this.TakeOffBillboardCoordinate_&&this.polylineCoordinates_.length){this.polylineCoordinates_[0];let e=this.polylineCoordinates_[this.polylineCoordinates_.length-1],t=ki([this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude]),i=ki([this.startCoordinate_.longitude,this.startCoordinate_.latitude]),n=ki([e.longitude,e.latitude]),s={units:"meters"},a=jn(t,i,s),o=jn(t,n,s);a>o&&this.polylineCoordinates_.reverse()}};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isDelete_=this.data_?.isDelete??!1,this.isCopy_=this.data_?.isCopy??!1,this.heightMode_=this.data_?.heightMode??1,this.defaultHeight_=this.data_?.defaultHeight??1,this.nodeMode_=this.data_?.nodeMode??"billboard",this.isAutoDrawAirRoute_=this.data_?.isAutoDrawAirRoute??!1,this.isContainTakeOffBillboard_=this.data_?.isContainTakeOffBillboard??!1,new Promise(e=>{let t=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon";this.isContainTakeOffBillboard_&&!this.TakeOffBillboard_&&!this.TakeOffBillboardCoordinate_&&(this.TakeOffBillboardCoordinate_=this.data_?.takeOffBillboardCoordinate,this.TakeOffBillboardCoordinate_||B.setCustomCursor(this.containerID_,"custom-cursor"));let i=this.data_?.coordinates;if(Array.isArray(i)&&i.length){let n=this.data_?.zIndex??0,s=i.map(f=>[f.longitude,f.latitude]),a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o="#fff";this.data_?.symbol?.polygonColor&&this.data_?.symbol?.polygonColor.length&&(o=this.data_?.symbol?.polygonColor);let l=this.data_?.symbol?.lineWidth??2,h={lineColor:a,lineWidth:l,polygonFill:o,polygonOpacity:.3},c=new or(s,{id:t,symbol:h}),u;window.isGPUSupport?u=B.getPolygonLayer(this.containerID_):u=B.getVectorLayer(this.containerID_),e({positions:s,symbol:h,zIndex:n,coordinates:i,PolygonLayer:u,PolygonGeometry:c})}else e({coordinates:void 0})}).then(e=>{if(Array.isArray(e.coordinates)&&e.coordinates.length){let t=bh(e.positions),i=Pf(t);this.center_=i.geometry.coordinates,this.geometryInstance_||(this.geometryInstance_=e.PolygonGeometry.addTo(e.PolygonLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("contextmenu",this.geometryContextmenu)),this.geometryInstance_.setCoordinates(e.positions),this.geometryInstance_.updateSymbol(e.symbol),this.geometryInstance_.setZIndex(e.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide()}else this.clearGeometry();this.reDrawCenterPoints(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};geometryContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw(),this.reDrawPoints(),this.reDrawTakeOffBillboard(),this.isStartDraw_||this.reDrawPolyline()})};reDrawPolyline=()=>{this.clearPolyline();let e=this.data_?.lineOptions;if(this.isAutoDrawAirRoute_&&e&&this.data_?.coordinates&&this.data_?.coordinates.length>2){const t=e?.margin??0,i=e?.direction??0,n=e?.overlapW??80,s=e?.height??100,a=e?.altitudeOptimization??!1,o=this.data_?.cameraType??"M3TD";B.AlgorithmForGeneratingPlanarRoutes(this.containerID_.split("-maptalks")[0],this.TakeOffBillboardCoordinate_,this.data_.coordinates,{lineOptions:{margin:t,direction:i,overlapW:n,height:s,altitudeOptimization:a},cameraType:o},this.heightMode_,this.defaultHeight_,l=>{this.polylineCoordinates_=l.coordinates,this.startCoordinate_=l.start,this.reDrawTakeOffBillboard(),this.emitGraphChanged("update"),this.TakeOffBillboardCoordinate_&&(this.polylineCoordinates_=[this.TakeOffBillboardCoordinate_,...this.polylineCoordinates_]),this.geometryPolylineInstance_||(this.geometryPolylineInstance_=new fte(this.containerID_,"AirRoutes"),this.geometryPolylineInstance_.DataProcessing({ID:this.data_.ID,type:2,visible:!0,isClampToGround:!1,isHighlight:!0,zIndex:0,symbol:{lineWidth:2,lineColor:"#0aed8b"},coordinates:this.polylineCoordinates_}))})}};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&this.isEditable_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_?.coordinates,i=this.data_?.zIndex??0;if(Array.isArray(t))for(let n=0;n<t.length;n++){let s=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon-Point-"+n,a=t[n],o=a?.symbol;o||(o=this.data_?.symbol);let l;if(this.nodeMode_==="point"){if(this.isStartDraw_&&n===t.length-1)break;let u=20,f="#fff";o&&(u=o?.pixelSize??20,f=o?.pointColor??"#fff"),l={markerType:"ellipse",markerFill:f,markerWidth:u,markerHeight:u,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0}}else{let u=B.getPointIcon(!1,!1),f=20,d=20,g=0,A=0;if(o&&(u=o?.image??B.getPointIcon(!1,!1),f=o?.markerWidth??20,d=o?.markerHeight??20,g=o?.markerDx??0,A=o?.markerDy??0),this.isStartDraw_){if(n===t.length-1)break;t.length>2&&n===t.length-2&&(u=B.getPointIcon(!1,!0))}l={markerFile:u,markerWidth:f,markerHeight:d,markerDx:g,markerDy:A,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle"}}let h=[a.longitude,a.latitude],c=new Fn(h,{id:s,symbol:l,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:i+1}).addTo(e);c.on("dragging",this.pointDragging),c.on("dragend",this.pointDragend),c.on("click",this.pointClick),c.on("contextmenu",this.pointContextmenu),this.pointInstances_.push({ID:s,index:n,point:c})}}};pointDragging=e=>{let i=e.target.getId(),n=B.extractionIndex(i),s=this.data_.coordinates;s[n].longitude=e.coordinate.x,s[n].latitude=e.coordinate.y,s[n].altitude=0,this.defaultHeight_&&(s[n].altitude=this.defaultHeight_),this.reDraw()};pointDragend=e=>{let i=e.target.getId(),n=B.extractionIndex(i);!this.isStartDraw_&&this.dataClass_==="AirRoutes"?this.reDrawPolyline():this.emitGraphChanged("update",n)};pointClick=e=>{if(this.isStartDraw_)return;let i=e.target.getId(),n=B.extractionIndex(i);this.emitGraphNodeClick(n)};pointContextmenu=e=>{if(this.data_.coordinates.length<=3)return;let t=e.target,i=t.getId(),n=B.extractionIndex(i),s=this.containerID_.split("-maptalks")[0];B.getMenu(s,e.containerPoint,"删除端点",this.isDelete_,()=>{B.removeMenu(s),this.data_.coordinates.splice(n,1),this.pointInstances_.splice(n,1),t.remove(),this.emitGraphChanged("delete",n),this.reDraw(),this.isStartDraw_||this.reDrawPolyline()},this.isCopy_,()=>{B.removeMenu(s),this.emitGraphChanged("copy",n)},!1)};reDrawCenterPoints=()=>{if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_?.coordinates;if(t?.length!==this.centerPointInstances_?.length&&this.clearCenterPoints(),t&&t.length>=2)for(let i=0;i<t.length;i++){let n=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon-CenterPoint-"+i,s,a;i===t.length-1?(s=t[i],a=t[0]):(s=t[i],a=t[i+1]);let o=ki([s.longitude,s.latitude]),l=ki([a.longitude,a.latitude]),h=Mh(o,l),u=jn(o,l,{units:"meters"}),f;u>1e3?(u=u/1e3,u=Number(u.toFixed(2)),f=`${u}km`):(u=Number(u.toFixed(2)),f=`${u}m`);let d;!this.isStartDraw_&&this.isEditable_?d={markerType:"ellipse",markerFill:"#fff",markerWidth:12,markerHeight:12,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:1,markerLineColor:"#000",textDx:0,textDy:-24,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:f}:d={textDx:0,textDy:0,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:f};let g=this.centerPointInstances_.find(A=>A.ID===n);if(g)g.point.setCoordinates(h.geometry.coordinates),g.point.updateSymbol(d);else{let A=new Fn(h.geometry.coordinates,{id:n,symbol:d,draggable:!1,dragShadow:!1,editable:!1}).addTo(e);this.centerPointInstances_.push({ID:n,index:i,point:A})}}}else this.clearCenterPoints()};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates?.length!==this.customLabelInstances_?.length&&this.clearCustomLabel();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+e,n=this.customLabelInstances_.find(s=>s.getId()===i);n?(n.setCoordinates([t.longitude,t.latitude]),n.setContent(t?.customLabel?.content??"")):(n=B.reDrawLabel(this.containerID_,i,t,[t.longitude,t.latitude]),n&&this.customLabelInstances_.push(n))}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates.length!==this.customHTMLInstances_?.length&&this.clearCustomHTML();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,n=this.customHTMLInstances_.find(s=>s.marker.getId()===i);if(!n)n=B.reDrawHTML(this.containerID_,i,t,[t.longitude,t.latitude]),n&&(n.presentationMode===0||n.presentationMode===2?n.infoWindow.hide():n.infoWindow.show(),this.customHTMLInstances_.push(n));else{let a=t?.customHTML?.presentationMode??0;n.marker.setCoordinates([t.longitude,t.latitude]),a===0||a===2?n.infoWindow.hide():n.infoWindow.show()}}}else this.clearCustomHTML()};clear=()=>{B.recoverCursor(this.containerID_,"custom-cursor"),this.clearTakeOffBillboard(),this.clearGeometry(),this.clearPolyline(),this.clearPoints(),this.clearCenterPoints(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearTakeOffBillboard=()=>{this.TakeOffBillboard_&&(this.TakeOffBillboard_.off("dragging",this.takeOffDragging),this.TakeOffBillboard_.off("dragend",this.takeOffDragend),this.TakeOffBillboard_.remove()),this.TakeOffBillboard_=void 0,this.TakeOffBillboardCoordinate_=void 0,this.clearTakeOffBillboardHeightLabel()};clearTakeOffBillboardHeightLabel=()=>{this.TakeOffBillboardDistanceLabel_&&this.TakeOffBillboardDistanceLabel_.remove(),this.TakeOffBillboardDistanceLabel_=void 0};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("contextmenu",this.geometryContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearPolyline=()=>{this.geometryPolylineInstance_&&this.geometryPolylineInstance_.clear(),this.geometryPolylineInstance_=void 0,this.polylineCoordinates_=[]};clearPoints=()=>{for(let e=0;e<this.pointInstances_.length;e++){let t=this.pointInstances_[e];t.point.off("dragging",this.pointDragging),t.point.off("dragend",this.pointDragend),t.point.off("click",this.pointClick),t.point.off("contextmenu",this.pointContextmenu),t.point.remove()}this.pointInstances_=[]};clearCenterPoints=()=>{for(let e=0;e<this.centerPointInstances_.length;e++)this.centerPointInstances_[e].point.remove();this.centerPointInstances_=[]};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2,polygonOpacity:.4})};mouseout=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t,polygonOpacity:.3})}}class fF{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;pointInstances_=[];isPointNumberVisible_=!1;centerPointInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isCopy_=!1;isStartDraw_=!1;defaultHeight_=void 0;nodeMode_="billboard";isContainTakeOffBillboard_=!1;TakeOffBillboard_=void 0;TakeOffBillboardDistanceLabel_=void 0;TakeOffBillboardCoordinate_=void 0;PointOfInterest_=void 0;PointOfInterestCoordinate_=void 0;isDistanceVisible_=!1;waypointType_=2;airRouteGeometryInstance_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.data_?.isOpenSecondaryEditing&&this.data_?.coordinates.length&&this.data_?.isEditable&&!this.isStartDraw_&&(this.isStartDraw_=!0),this.reDrawTakeOffBillboard(),this.reDrawPointOfInterest(),this.reDraw(),this.reDrawPoints()};emitNoReturnNode=e=>{B.emitNoReturnNode({index:e})};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphNodeClick=e=>{B.emitGraphNodeClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_,index:e}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?this.dataClass_==="AirRoutes"?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,takeOffBillboardCoordinate:this.TakeOffBillboardCoordinate_,pointOfInterestCoordinate:this.PointOfInterestCoordinate_,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:this.dataClass_==="AirRoutes"?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,takeOffBillboardCoordinate:this.TakeOffBillboardCoordinate_,pointOfInterestCoordinate:this.PointOfInterestCoordinate_,class:this.dataClass_,type:e}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};copyPoint=(e,t)=>{if(e!==void 0){const i=this.data_?.coordinates?.length,n=le.cloneDeep(this.data_?.coordinates[e]),s=ki([n.longitude,n.latitude]);let a={units:"meters"},o=0,l=100;switch(t){case"front":{if(e===0)if(this.TakeOffBillboardCoordinate_){const u=ki([this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude]);o=va(s,u),l=jn(s,u,a)}else if(this.data_?.coordinates?.length>1){const u=le.cloneDeep(this.data_?.coordinates[e+1]),f=ki([u.longitude,u.latitude]);o=va(f,s),l=jn(f,s,a)}else o=0,l=100;else{const u=le.cloneDeep(this.data_?.coordinates[e-1]),f=ki([u.longitude,u.latitude]);o=va(s,f),l=jn(s,f,a)}const h=rs(s,l*.5,o,a),c=Ko(h);this.data_?.coordinates.splice(e,0,{longitude:c[0],latitude:c[1],altitude:n?.altitude+1})}break;case"after":{if(e===0)if(this.TakeOffBillboardCoordinate_){const u=ki([this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude]);o=va(u,s),l=jn(u,s,a)}else if(this.data_?.coordinates?.length>1){const u=le.cloneDeep(this.data_?.coordinates[e+1]),f=ki([u.longitude,u.latitude]);o=va(s,f),l=jn(s,f,a)}else o=0,l=100;else if(e===i-1){const u=le.cloneDeep(this.data_?.coordinates[e-1]),f=ki([u.longitude,u.latitude]);o=va(f,s),l=jn(f,s,a)}else{const u=le.cloneDeep(this.data_?.coordinates[e+1]),f=ki([u.longitude,u.latitude]);o=va(s,f),l=jn(s,f,a)}const h=rs(s,l*.5,o,a),c=Ko(h);this.data_?.coordinates.splice(e+1,0,{longitude:c[0],latitude:c[1],altitude:n?.altitude+1})}break}this.reDrawTakeOffBillboard(),this.reDraw(),this.emitGraphChanged("copy",e)}};mouseClick=(e,t)=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;if(window.isPointOfInterestOpen&&!this.PointOfInterestCoordinate_){this.PointOfInterestCoordinate_={longitude:e.coordinate.x,latitude:e.coordinate.y,altitude:0},this.reDrawPointOfInterest(),this.emitGraphChanged("setPointOfInterest");return}if(this.isContainTakeOffBillboard_&&!this.TakeOffBillboardCoordinate_){this.TakeOffBillboardCoordinate_={longitude:e.coordinate.x,latitude:e.coordinate.y,altitude:0},this.reDrawTakeOffBillboard(),this.reDraw(),this.emitGraphChanged("setTakeOffPoint"),B.recoverCursor(this.containerID_,"custom-cursor");return}const i=this.data_?.isSurroundModeEnabled??!1,n=this.data_?.surroundRadius??200,s=this.data_?.steps??8,a=this.data_?.isClockwise??!1;let o=this.data_?.coordinates??[],l=le.cloneDeep(e.coordinate);if(l){l={longitude:l.x,latitude:l.y,altitude:0},this.defaultHeight_&&(l.altitude=this.defaultHeight_);let h=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_){if(t&&t.length){let c=o.length-1,u=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-Point-"+c;if(t.find(d=>d?.layer==="ZYWLGIS-GL-Point"||d?.layer==="ZYWLGIS-GL-LineString"||d?.layer==="ZYWLGIS-GL-Polygon"?d.geometry.getId()===u:d.getId()===u)){this.isStartDraw_=!1,this.reDraw(),this.reDrawPoints(),this.emitGraphChanged("complete"),h.off("mousemove",this.mousemove);return}}i?B.calculateSurroundPoints(l,n,s,a).forEach(u=>{o.push(le.cloneDeep(u))}):o.push(le.cloneDeep(l))}else if(!o.length)i?B.calculateSurroundPoints(l,n,s,a).forEach(u=>{o.push(le.cloneDeep(u))}):o.push(le.cloneDeep(l)),this.isStartDraw_=!0;else if(t&&t.length){let c=!1;for(let u=0;u<t.length;u++){let f=t[u];(f?.layer==="ZYWLGIS-GL-Point"||f?.layer==="ZYWLGIS-GL-LineString"||f?.layer==="ZYWLGIS-GL-Polygon")&&(f=f.geometry);let d=f.getId();if(d.includes("-&-ZYWL-&-GraphicEditingPolyline-CenterPoint-")){c=!0;let g=B.extractionIndex(d),A=f.getCoordinates();if(A){let m={longitude:A.x,latitude:A.y,altitude:0};this.defaultHeight_&&(m.altitude=this.defaultHeight_),o.splice(g+1,0,m),setTimeout(()=>{this.reDrawCustomHTML()},0),this.reDraw(),this.reDrawPoints(),this.emitGraphChanged("update");break}}}if(!c){this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited(),this.reDrawTakeOffBillboard(),this.reDrawPointOfInterest();let u=this.containerID_.split("-maptalks")[0];B.removeMenu(u)}return}else{this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited(),this.reDrawTakeOffBillboard(),this.reDrawPointOfInterest();let c=this.containerID_.split("-maptalks")[0];B.removeMenu(c)}}this.isContainTakeOffBillboard_&&this.data_?.coordinates.length&&this.reDrawTakeOffBillboard(),this.reDraw(),this.reDrawPoints(),this.emitGraphChanged("update")};mousemove=e=>{if(!this.isStartDraw_)return;let t=this.data_?.coordinates;t[t.length-1].longitude=e.coordinate.x,t[t.length-1].latitude=e.coordinate.y,this.defaultHeight_?t[t.length-1].altitude=this.defaultHeight_:t[t.length-1].altitude=e.coordinate.z,this.reDraw()};reDrawPointOfInterest=()=>{if(!this.PointOfInterestCoordinate_)return;let e=this.data_.ID,t=[this.PointOfInterestCoordinate_.longitude,this.PointOfInterestCoordinate_.latitude];if(this.PointOfInterest_)this.PointOfInterest_.setCoordinates(t),this.PointOfInterest_.config("draggable",this.isEditable_);else{let i;window.isGPUSupport?i=B.getPointLayer(this.containerID_):i=B.getVectorLayer(this.containerID_),this.PointOfInterest_=new Fn(t,{id:e+"-&-ZYWL-&-PointOfInterest",symbol:{markerFile:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABQCAYAAACkoQMCAAAABHNCSVQICAgIfAhkiAAACW9JREFUeF7dnHtsHFcVh8/sxI7j2rEhoYE2TZxArFI3iWOvCS1+rVpUNQUSoSpVS9UkgKiEKjCogEAFGspDAqI6VNDykHCECq0KSiooalPA3rWTpsysnUfTtJZInBCTJmrVmDyaOt49/M5sFnvX+5jHnfHj/mGtd+8959xvztx7z7l3RqOgyr5982lMX0vJUB1x8nrS6EPEtAjqF5KmvT/LjFP47U189wYRD6LuaxTSDlMZvUzh8MUgTNZ8VRIduJkocRd0RNC5lUp0MZuQ9Q8ifQe1NryqRGYOIerB7N07jy6X3Acv+CL0rfLL8JRc3ksc+hm1NT6tWo86MHv6l1Ii8WVi7bO4olWqDS0oj/kNXIjHKUG/oEhYbkHPxTsY0yynC/RDXL0HYJzu2SJPAvgdXJit1Nr4U9iS8CLKG5iosY5I+xU85FovRihvy/wKhUKbqaUx7la2OzDd3XMoVLkNQL7kVnEA7S7jon0d3tPpRpdzMN0HFlNodCdcNexGYeBtmHaSXrGJmq8/50S3MzB9/WEMsM8DygInSqa+Lr8O715HLU1H7dpiH0yvcTcGtt/bFTz96vF/iUIbcWu9YMc2e2Ci8U+Txs9AYMiO0Glbh3mMdHhOc9OLxWwsDqbP+DjWB3/F7TOnmLAZ8TvzJdL1FmpuMAvZWxjMHuNGSmgvQ0D5jOi0XSOZRqhUr6eb1gzla5IfjLW0Lz1oBXuzsTDvp9ZwON9CMD+YqPk0oGwMiklbVSWNJBK0/3wgwfOVbvGj1Nr01Vx9zA0mGt+IwVZ5YJYP8s4bPkgbFlRbP3edfou2DOb1cPXXKam1Untjb7bgyWAkbzKqH8Oq8b3qrZgscfOihfTb2qUZP0QODVLPWUfrMfemMg3RVVSLPA9WyuNlMpiY2YWfN7nX5KzlwJoPU31F5tjeM3KOIgcHnQnyVvtHGG++lR+MlTpIwlswugRQ2qsrqXtlbU5Ny4xXaOjSuwFYYam4SFrpYmpZ9XZaYSaAqPEERun7g7Kme1UttWPQzVV2YKzZHORYw/Rtagt/fzKY7oFq0hOn8UNpEGAKeUtaf6Bew3yaFpYvobq6UdE/7jEx85v4HwmnYMouzETrr8xE+TQG7zXavUiTPpkNZghfZE4PPjGqKZtLx5putCX9PS/tp7NjnpJxtvRYlRhJ9rbwLeNg+swIJSXzHkzpqq2hTYvsZS62Hv8PPXziVDCGCZoSfbmECqlbKWr+HDeVZPV9KzIlV+k6ydjy8JIP2NYj3iJgZEV84MJF/72H6UF4zbYUmJjxOoab3POm7S4QVc/RafVV5da6RD63V1VQzdy5VFOmdjyXdY4A23/hHQuYfI7iOyWFkUloC9+hUaz/fUTJM16Fygr20eWLLSBTUQSOrJg9x1pM55HMqtYoGr8LcdFTXjtzrGmlcs9watPQpVFaZhxy2mxyfeYGeIy5Fb98x6s0bmn0KsJz+xF4TTVmMc+F6TPwGDXpBSczjWfD8wjYPnyaOo6eVCH+ewBjDCAMqPcqTcaWHizxZfCdiiKDb7uywJOfEo85qWoncargyDQuUBQuBHsEzNsAk8oSKShBw/EBilA4KIMvK+CRISIoOD5BwfqXT/oCRij5Dcc3KKlLfEbADOGDL8GjwBnC+qZK8aLPZygSMR0SMPsAZq3q2yktT8IDSV+qLGsGjnhf4RY26AUBsxN1Nqg0fKIsP8AEkIroAhjjMQSQD/gFRrZFZHtEZQlgF+ERma7vwXRtZa38KJJi+O7Sa5SK3jJ4HPtPSo7a5bZL027XyDSrkCM/q9TyCcLspDCd6vY5eTWKnfqKK/kYU86qNTg10E79XPtGdtoVqvPsW2dpw6v/8iomT3t+Htu28BgpMVOS4JIMV178iLrVxkVZXWbqQKJqewpMT/9NFEruVU3FjxkpbaPW6/pAZuFulujLxnO+UlVRlD1Rq529I0s1IuN0wrtrRQ0ttZEK9WnKfg5btZ8Qm8b3laKGHHPfodJris1IaSDZG/iSJu1EmrTQitmXKZu1W7CvZO2WjINh1jHWDAOOPBGipOQDcxwpyI6j/6ZdGETzFQknOq65mjquXZQTkA9gDsJbVv//Vs0wLGo+BFSPKKECIdm3kgCRW8bJGkQAdS6/btI+lPLtW43vw3HX3+UG020uJJ1PwJHmqYTTPr+Cht697AhItn7ZvRQPlK2YzuEzBb3Nhe0n4C0ZgXSO8zHxryG8/LEL4TO4Cd+JtcufJnZgMpjUcwJHZu2hxEmXj/8OKLdmf537gFCvcStOgRc9JDyDXSRlOjNOC5SuoLbVclgqo+Q/ORUz/4ya1pw+awvTNqxyH8zVv/xgeo3lOAFxGNN32SwFc4oS82opUnfeGRipHTXuB5gnZiGYJJ7K/Rg1N0r2MmcpfghR0U7ltILL/BC1Nf2gkE3Fwcy2o/NMuzGu3FbsQhUHY91ScWSzk/0zfrxhGsZh5zocdh5RA0akxMzP4++viwmctr/Ls0qathYr3H47NtrzmLSkmClgBNAMLNoWHAjqsmu4MzDMIYrF/4ZVccSugulRjzuxuv2KE1ucgRHJfa9VUuLcAbjlMieKpqwu04vwlNtgr6M9eudgrMF4YAVpY3h0Tps/ZR22o5jpCAbbsJs3iLgDI0b1Gu1YGeO2murXFuQhJK9ZKZlTTzfXD9thmF3HPRgLTvwLCMR+6Uaxr21sPhBayAZvYERyzMAKUst41sfXThcTLhGzpq3HtPxcsar+grHGHPM3mKk+58UQdW35bsxAno/nevcY6RGznJrYhSv1KXUddCOJvwEoSrKPasBIH0yzBHvgsvXQ7KZLntswbUcM1OFZzhUB6sCIwO7DFRS6+BI8x94zN6p6QfQHjCn3qBPnx7OPew5cTYnLBoxcotLQvLIkWm5tvB0XI6lSn1qPSVsW/ed1YB71f3WMRPaC8nXpx/WmPxhrGreeaunBpxtUGjxB1rMITe6kSGTMD/n+eEza0tShpBj+Vf3at2fw/ik8NeMs/nEC0F8wYokVdJ7fjXXOR50YVqDukxho71UkK68Y/8FYs9WxMtLf/AvGHetBTA/lcUDx9RHFtG3BgLHgYIdTr/wjPq13B8Z5TsWdnlSr4MCkrXT1NgDrtW0/8dJRp22DByMWRg3EVXjDYbEXC0o+hawzcbuddsxr/akBk7a6N/5JSibvwL8fAagVCLrkLRfymto+vH0Vx74aol476Lb9/wDIdARP5ISdlQAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Dr&&Dr.tagName.toUpperCase()==="SCRIPT"&&Dr.src||new URL("ZYWLGIS.umd.js",document.baseURI).href).href,markerWidth:35,markerHeight:40,markerDx:0,markerDy:0,markerHorizontalAlignment:"middle",markerVerticalAlignment:"top"},draggable:this.isEditable_,dragShadow:!1,editable:!1}).addTo(i),this.PointOfInterest_.on("dragging",this.pointOfInterestDragging),this.PointOfInterest_.on("dragend",this.pointOfInterestDragend),this.PointOfInterest_.on("contextmenu",this.pointOfInterestContextmenu)}this.PointOfInterest_&&(this.PointOfInterest_.setZIndex(999),this.visible_?this.PointOfInterest_.show():this.PointOfInterest_.hide())};pointOfInterestDragging=e=>{this.PointOfInterestCoordinate_.longitude=e.coordinate.x,this.PointOfInterestCoordinate_.latitude=e.coordinate.y};pointOfInterestDragend=e=>{this.emitGraphChanged("setPointOfInterest")};pointOfInterestContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除兴趣点",this.isDelete_,()=>{B.removeMenu(t),window.isPointOfInterestOpen=!1;let i=document.getElementById(`${t}-MapEnginePointOfInterest`);i&&(i.src=new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAABHNCSVQICAgIfAhkiAAAA3VJREFUWEftmT9MGlEcx3+6OHl2MTb1LjpzienSiA1J00UNLrVqwypYHAv+2aqxrorgSgTTuJCqcTPFSRNSMZ1hNoGhxqWck4Np7/v0kRMOfXccBqMvIQHu3ft93vf3e7/fD66F9KG8Uj60trZ+0d++1l8v8F2TjMMruvpWLBYPW24g95oEzBRDh33f0iP3HOpX3zUzqM52BNB/TQ4JvL+PBZSeQZ0Op6enqCRJ1C61U4fUwcQsaSW60C5I0zRHxK1LUcBNBiZpcGiQVFU1BcrlcnSQPqD16HpdwLZB3QNuWomskKIoDAAw+XyeioUi+ywrMrlcLrYJjEKhQPOz85Q9ztoCtgU6PjFOq2urzGAsGqPkRrKmi6G6f8pPoXCIzZ+bmaOd7R3LsJZBOSRizzfhYyqKDKib2k4RwO3AWgKVZZkyxxmmXi3I0My1crG1WBU/hyW9FnqHvaQ3GyJ7ZHMsgcY34izmainCN4KFPQMeUxDuEbgf64gOYdCul1108vuEstksU9NsLC4tkj/gL8eumaq4CK9gU/1v+unsz5kQqzDo2PgYRaKRKjUB1i13k0t1kepSSeqQmGGtpFEun2OnHO83k5tlINyDTc2GZ2l3Z9dZ0Oh6lEY/jt5yKWJuP70vZMg75C0fPB4iW9+3aOHrgtD9wopy0F6l99bCxlRVy6JZTJ8WTmlvd4/CofDDgMKKMTYrrSLPmsVqw0H71L6q5I4qlfqRMlXG6HI+oaGur3WYYPwu9/s++arKJp/fkMPE0xOajJHhkVvqIcmjRKIQJBNJdg0nG1XIzPUNTU8wjvoONYJTQdaE8AHX42Ws+XAvNoB5xrkNT/iAgnGWjvQS6HnrsdxrQuHMr4xeD/USqqerhpVQ7lKc8vTPNE1/nhZKLXwSmhK3203LS8vlEBFdQDiPGhfkBmulHjPjPI4RBggdq8MWKFyIEEAoiLRsPC7REqJPsPPzxBYo1DD2l5WHy6iW3f61UnHboEZYHC7ky8ommhcCq022WVjUBVqprDEMnFKSQ9cNWgmb2EiwtQNTgTt/CTzIYTIzgpiNJ+LsgGEgRwYDQeHfVPeBO6IoN9LW1kadnZ3s4/n5OV1eXt5nX/i6o6DCVm1MfAa1Idqdtzwr6rCipcfzsOHRPL6Bi25g8acRHohd/xPbHONIf8a0hAdi/wE4HOL7jLvAuQAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Dr&&Dr.tagName.toUpperCase()==="SCRIPT"&&Dr.src||new URL("ZYWLGIS.umd.js",document.baseURI).href).href),this.clearPointOfInterest(),this.emitGraphChanged("delete",99999)})};reDrawTakeOffBillboard=()=>{if(!this.TakeOffBillboardCoordinate_)return;let e=this.data_.ID,t=[this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude],i;if(window.isGPUSupport?i=B.getPointLayer(this.containerID_):i=B.getVectorLayer(this.containerID_),this.TakeOffBillboard_?(this.TakeOffBillboard_.setCoordinates(t),this.TakeOffBillboard_.config("draggable",this.isEditable_)):(this.TakeOffBillboard_=new Fn(t,{id:e+"-&-ZYWL-&-TakeOffBillboard",symbol:{markerFile:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAABHNCSVQICAgIfAhkiAAADBpJREFUeF7dnO1OHNcZxwfbTUhCCgTXNG9lCZYtO7KBRK3aD5WXKyhWv0bKcgVe30AM6gUYX4Gxqn6GXAGLKrVqowRIWlu24njJa43iGBISO65d+vyO50wOhzOzZ3ZmZ8CPNNq32TnP+c/zfp4zXUGJtL29XZHhh+QYk6MvZKUavvKZ76EVOTbC943wlc98v9bV1dUsaxpdRQ8soAHK23IAlAYoKxsACbBXBEzeF0YdB1AAQ5LOyDEZHlrSOjVJJHMhPJYEUC25HRmvowAKeBeE67ocsaAtbX4XrGz9EGw8fKQm2Ph2S73yme+hsZ5ng75DB9X76s971Cuf+f5M7/NJwADerIA40xH05KIdAVCAQ0Wn5ajYjK/dfxA0BLSFOxvqyIMmB/oCjqqAOdT9lOuSTfgRIK/kMZ55jVwBFOCqcvHLNnCANnf762Dhm81IqvKeiL4eUjn5Qm9QGzzsAhMgpwTIRl7j5wJg6BguomEmY5uihvVPPlfglUGAOPvaK0FvqP4GDwB4Pg+HkxlAAQ/ngNRFdg7gZr+4Hcx+uR7ZtjIAZExsZf2lI0H95UEbSOzH2azSmAlAAe+cMDFrgnNJgJv+9KvSgbNvGEBO/+rF4JwAaREqPdfuDW4bQAEPqavpgbFzk9dudtzGtTtR00YunBix7eOcgDjVzrVTAxjGdYsyWBQEr37/Q1D98Maek7o4QJDGxuljwehzz5qnYBdR6VShQSoAQ2cxLwNV9MhXbt8Jajea7dy80v8zd6wSvD04YPJBFoNKe2cz3gCGkrdsgndePCzOYj8TzuWieGqDAG/CVxLTAAh4Sm3xskhdXoFw2TeAIBxpNMKdhgA44cOXF4C2wzh79eYTA54GCRDnT46YmHk5lpYACnjksgTJip4EtY2TLIc6twxxEgEMg2SchqL97DB81JFzHI4Fe9iI+38sgKHHJVxRGQahytgH13z5yHxez4EDwR9/0a9uWtG08sYJM8QhrAFEp2dOAhDwqjBPkDy2fLWwOK/v4MFgcfR4MPbcM5JH3wmmCg6TiBNXxk+awXasU3ECGFZVAFDR+PK1wjIMEzw9fhkgUtVZHj9hCr9TleMAvCX/rPBvclsqKkWQC7wyQaSSY+TOK6LG4zYOuwAU6avJSeS5Kt6rvPdRIaqbBF5ZIKLKzV+fMuPDXV7ZBWAkfTNrX6rKSqfJBzzNA8H71PVmsPHo8RJAp4kKzoWhl/QwTZHCYXPMHQCK9E3Lj6xjFCZ9laefCuZfP6ochi+tfH8vmFi9XgiIDimcERDBSVEEYJjrIn0qbJm6sdbxSjKgLZ4+Hi0Y+QLIeUWCSGX78jGWrxUR1gzrXNkEkMqyCpoJW7B9naQs4Gm+igQRW2gsWFH2Yul0hwTOyWdW04KibJ99g7Z//2biPVva3JK64/VO3tfYa1u28IoAWLMBvKvVt8i4z+R4LwNoxYUbAmB/BGCYtlGuKkR9427zXgYQni01Hie9UzZQAGRhiAWiUgsGex1Aq9BwSQCsawCjYmmZtT46C5Jo4+FD5X3LIqtmqDKTrrDFjPBFUddf3y+Lv30xrqUlwwBYFc5V4YBGH1bXyqLZ114NRnviA+rVrXuSl39WFntqXFbzjIamCQCMKs5FFg5cKDQkqD7T+7j7ykVlhjGaH6vAcB4Ap+VHlb6VFf9p5vYDgFY8OLMDwLLXO1Bh4q04ol+wbBV2AdgQhukgDSY+uhE0Nr4r1cbs9cGrfc8Hi6eOaTaXkMDSAMTe9R86FC2RplHhC1Jmav74IGje/zHAuRRV3nIBGNX/ht/7l2KoE0TZ6ozcPWIp1JTPkOkY0gBoB92AifbQ/bokr3zuBFkp3QoSuK0HyjsGBCRK4pOH+yLA7EnlBaB9XQBc+HpDLUnkDaZ58zoCIA07LFL7FElNANM4kVZpnwko2Qs9PHktkdoANmUwVS3MqsKo58WRV2OlTU9qVSaER30sJXfbSs+Q7kr30wE2ife8DoVmIU51GW9alimyAGmp8GouToQ1jfnXR1SXfBy9G3blY6fyVik9pgaSG/kHOeIoy7pK7l44qbK8Ft5xbJHLSwL8uZeP7JjnTItFLLyvSUiT64ZwbWzvtCwIuSSTfSgTUpxNW5xwARiVstIG0nHgbcqKWf3mZ6qrIInqAt5FCZ6joMqj4mx76vOSG89+sZ44Tk1s8qyYll4B1aR2QEzMRNKkcnHgoao1z2XH5TdO7nA0Ps1LOBpTapG+4X+2Xr9BIueOV3apNiCOf3DV26y4AGyrmLAoVQnb5vkAoCWAGwCAJiGxrfaUTA70i4ffqfYA4KuKju4rFTtOeFahXMWEqkwiVTnrtEx+1Zo89m7sfWlA8lzwtiUpS9Cb5sYhiStvSuOQ5bFHJIn4xCOJcJWzKsJ8qoLqW0deCP58fMcCveqgamXzTJBu/eZUy3DHF1TUsP/v3n3hSoJN28s4b12/Ffxl/ZvEIVlkv/u7aHOCivx0SZ/RR/nGp6T/jni2GcsbogKogg852ml9/pZ4TpobiOnBBJn0jsSHf2oRAVh8r0pJf6ytRSUXgD7Aa4ZddgjP3fc3PylqivTaKojzmpTebR9y3UAfAC2+VYuHBhC5VMuaTelKGG7RleBi4JKEEj61OmwQ6qv3/+oJpwHAdQOUPok39gnSXfbXRwBuSXdC5afttD8tazK41BTo+ejlfauF9cGfHQr+81ul8TvIxxsSk12WLQU2+cRz+j9ZruFSX647+I8Pg/UH/40VYCuF2xTpU6mO2RszJ5+9Wztcd5G7f/bfHyeGFGQGrpSvfvNT71AEKV6Qji6bKMUl7ZqKi119tMentSNqLvJRYybRkD7mUastDY+INKXxyD52K+s5SC2e1zYdFDbGJI5sRZb6OpuLEMmmVmOf9rY4EGEGjzyz9pW3Z241gXZ/R9ovDL3olHrAq3r0GVrtbZvCS2VXexsMmit0SBLORD8MIm4CcSmSPl/X4t6NKSi0C0zS/+CJmmTtl4dja5K+KScSi/QZkutusNQMCYhIoaoPpsmNCU6xb3bCbk6UMhJ1QFV2l8JBnsT6CtKmnpmQUMoiXKIm2KoAoXmzbN+aSF7F5DuxydxXCvUFufOAaJeo4oBCOjH8+rEnK7KZxyQNsr3YPib7fPVjTyiq+lS+uS7OAvB8002H9LVuMg9VOZLCdroVALL+yqA8OWOgZZU4Tyl0XYscHYc2+/ltb+D0dax4U2Ue9hgd32gTPdPFo+SeF5iARuUb4HzTS3vsTBttQilsyKtacCesGc9hqxeqBmPaVtkhULsA6jUWwMIc+Ja24sZDdZdlq5eRdSyJ9FVd57fabAiIKjuBMTKUvOmo2LCegweCo890q1dIfe7u3jGUaR+3Hv0v+Pje/UC9epSg0vLMFi+jxYSwpZp6s2EohaAe7ZkrY89a2slnPZ80E9ttkHOPnP7dZ8N1TU5WW7+gtOsmWSdU5P9z33CtmZfYcE7eqzwZ8qlcFDnxPMZyVJiirQxJ128pgQaIDXmvnArxIQXMJ+mhE6iukW3EOg0bzDQAkitT8Yz2PLENljhxPxO9OywUGbQq73EaXg/g8QaQAcL9JGxxikDcz47F4TAArxbncV2CkgrAEEQkERCVOkOEODRntio87BVJRVVpkrS6YZeEv0lfydNzSQ2gYRPn5H3kWAi2z+6Th4/Ny8PHjCCZKXk5jFwk0LyIubtdf08bGf0te00akToKqlaMB9u7CgRpNKVtCTQksRqqtMpYIMDj4Ys4mLKBBDgcBQ9htKrRZBiobCMNYPa5mQHkgqFzoUkpsosaSFbqsvTjZZkcRVXWbuwyvlwTe1dP4yzi+MgFQEsasY2Rl+Y37OPc+p2AKrB+tHEWYJL+i2OgN7B2ZMC2c/wNLwtwmaTOHD9XAA0ga/J+2gZSg6kfgwygWQnpYuuVfgyy5Rz05dfgR4Dj5uZKHQHQABIQ6f6K7KPNvS5BbUhlBdL7VCi9mw/i1ksFNDhCfVKx0aWxBESwczyIGz46Qh0FEI7Dh1lU5S3LphyxYOY0Q0AjTuXgkU3ZxTyBsY4DaI8dOpyafA+ou9sb2kMR26ZAy8MxpGGhcABN5sK9yhX5jrUG3RUOsBCfNcAApCWpEf7OZ3JzHobTTDPpPM/9PzBFc7J0xwYvAAAAAElFTkSuQmCC",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Dr&&Dr.tagName.toUpperCase()==="SCRIPT"&&Dr.src||new URL("ZYWLGIS.umd.js",document.baseURI).href).href,markerWidth:35,markerHeight:35,markerDx:0,markerDy:0,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle"},draggable:this.isEditable_,dragShadow:!1,editable:!1}).addTo(i),this.TakeOffBillboard_.on("dragging",this.takeOffDragging),this.TakeOffBillboard_.on("dragend",this.takeOffDragend)),this.TakeOffBillboard_&&(this.TakeOffBillboard_.setZIndex(999),this.visible_?this.TakeOffBillboard_.show():this.TakeOffBillboard_.hide()),this.data_?.coordinates&&this.data_?.coordinates.length){let n=ki(t),s=ki([this.data_.coordinates[0].longitude,this.data_.coordinates[0].latitude]),a=Mh(n,s),l=jn(n,s,{units:"meters"}),h;l>1e3?(l=l/1e3,l=Number(l.toFixed(2)),h=`${l}km`):(l=Number(l.toFixed(2)),h=`${l}m`);let c={textDx:0,textDy:0,textHorizontalAlignment:"middle",textVerticalAlignment:"middle",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:h};this.TakeOffBillboardDistanceLabel_?(this.TakeOffBillboardDistanceLabel_.setCoordinates(a.geometry.coordinates),this.TakeOffBillboardDistanceLabel_.updateSymbol(c)):this.TakeOffBillboardDistanceLabel_=new Fn(a.geometry.coordinates,{id:e+"-&-ZYWL-&-TakeOffBillboardDistanceLabel",symbol:c,draggable:!1,dragShadow:!1,editable:!1}).addTo(i),this.TakeOffBillboardDistanceLabel_&&(this.TakeOffBillboardDistanceLabel_.setZIndex(999),this.visible_?this.TakeOffBillboardDistanceLabel_.show():this.TakeOffBillboardDistanceLabel_.hide())}else this.clearTakeOffBillboardHeightLabel()};takeOffDragging=e=>{this.TakeOffBillboardCoordinate_.longitude=e.coordinate.x,this.TakeOffBillboardCoordinate_.latitude=e.coordinate.y,this.reDrawTakeOffBillboard(),this.reDraw()};takeOffDragend=e=>{this.emitGraphChanged("setTakeOffPoint")};douglasPeucker=()=>{this.reDraw()};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isPointNumberVisible_=this.data_?.isPointNumberVisible??!1,this.waypointType_=this.data_?.waypointType??2,this.isDelete_=this.data_?.isDelete??!1,this.isCopy_=this.data_?.isCopy??!1,this.defaultHeight_=this.data_?.defaultHeight??1,this.nodeMode_=this.data_?.nodeMode??"billboard",this.isContainTakeOffBillboard_=this.data_?.isContainTakeOffBillboard??!1,new Promise(e=>{let t=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline";this.isContainTakeOffBillboard_&&!this.TakeOffBillboard_&&!this.TakeOffBillboardCoordinate_&&(this.TakeOffBillboardCoordinate_=this.data_?.takeOffBillboardCoordinate,!this.TakeOffBillboardCoordinate_&&this.isEditable_&&B.setCustomCursor(this.containerID_,"custom-cursor"));let i=this.data_?.coordinates;if(Array.isArray(i)&&(i.length>0&&this.isContainTakeOffBillboard_||i.length>1&&!this.isContainTakeOffBillboard_)){let n=this.data_?.zIndex??0,s=i.map(u=>[u.longitude,u.latitude]),a="#fff";this.data_?.symbol?.lineColor&&this.data_?.symbol?.lineColor.length&&(a=this.data_?.symbol?.lineColor);let o=this.data_?.symbol?.lineWidth??2,l={lineColor:a,lineWidth:o};this.dataClass_==="AirRoutes"&&(l.lineWidth=2,l.lineDasharray=[10,8]);let h;window.isGPUSupport?h=B.getLineStringLayer(this.containerID_):h=B.getVectorLayer(this.containerID_);let c;if(s.length>1&&(c=new Sr(s,{id:t,symbol:l})),this.dataClass_==="AirRoutes"){let u;this.data_.type===2?u={lineWidth:10,linePatternFile:B.getAirRouteTexture()}:u={lineColor:a,lineWidth:o};let d=B.setWaypointType(this.waypointType_,le.cloneDeep(i)).map(A=>[A.longitude,A.latitude]);this.TakeOffBillboardCoordinate_&&(d=[[this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude],...d]);const g=new Sr(d,{id:`${t}-&-AirRoute`,symbol:u});e({positions:s,symbol:l,LineStringLayer:h,zIndex:n,coordinates:i,LineStringGeometry:c,AirRouteLineStringGeometry:g,airRouteSymbol:u,airRoutePositions:d})}else e({positions:s,symbol:l,LineStringLayer:h,zIndex:n,coordinates:i,LineStringGeometry:c})}else e({coordinates:void 0})}).then(e=>{if(Array.isArray(e.coordinates)&&e.coordinates.length){if(e?.positions.length){let t=V0(e.positions),i=Pf(t);this.center_=i.geometry.coordinates}e?.LineStringGeometry&&(this.geometryInstance_||(this.dataClass_!=="AirRoutes"||this.dataClass_==="AirRoutes"&&this.waypointType_!==2)&&(this.geometryInstance_=e.LineStringGeometry.addTo(e.LineStringLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("contextmenu",this.geometryContextmenu)),this.geometryInstance_&&(this.geometryInstance_.setCoordinates(e.positions),this.geometryInstance_.updateSymbol(e.symbol),this.geometryInstance_.setZIndex(e.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide())),e?.AirRouteLineStringGeometry&&(this.airRouteGeometryInstance_||(this.airRouteGeometryInstance_=e.AirRouteLineStringGeometry.addTo(e.LineStringLayer),this.airRouteGeometryInstance_.on("mouseover",this.mouseover),this.airRouteGeometryInstance_.on("mouseout",this.mouseout),this.airRouteGeometryInstance_.on("click",this.emitGraphClick),this.airRouteGeometryInstance_.on("contextmenu",this.geometryContextmenu)),this.airRouteGeometryInstance_&&(this.airRouteGeometryInstance_.setCoordinates(e?.airRoutePositions),this.airRouteGeometryInstance_.updateSymbol(e?.airRouteSymbol),this.airRouteGeometryInstance_.setZIndex(e.zIndex+1),this.visible_?this.airRouteGeometryInstance_.show():this.airRouteGeometryInstance_.hide()))}else this.clearGeometry();this.reDrawCenterPoints(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};geometryContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw(),this.reDrawPoints(),this.reDrawTakeOffBillboard()})};reDrawPoints=()=>{if(this.clearPoints(),this.visible_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_?.coordinates,i=this.data_?.zIndex??0;if(Array.isArray(t))for(let n=0;n<t.length;n++){let s=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-Point-"+n,a=t[n],o=a?.show??!1;if(!this.isEditable_&&!o)continue;let l=a?.symbol;l||(l=this.data_?.symbol);let h;if(this.nodeMode_==="point"){let f=25,d="#fff";l&&(f=l?.pixelSize??25,d=l?.pointColor??"#fff"),this.isPointNumberVisible_?h={markerType:"ellipse",markerFill:d,markerWidth:f,markerHeight:f,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0,textDx:0,textDy:-1,textHorizontalAlignment:"middle",textVerticalAlignment:"middle",textFaceName:"sans-serif",textSize:14,textFill:"#009BCC",textName:`${n+1}`}:h={markerType:"ellipse",markerFill:d,markerWidth:f,markerHeight:f,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0},this.dataClass_==="AirRoutes"&&(h.markerLineColor="#009BCC",h.markerLineWidth=2)}else{let f=B.getPointIcon(!1,!1),d=20,g=20,A=0,m=0;l&&(f=l?.image??B.getPointIcon(!1,!1),d=l?.markerWidth??20,g=l?.markerHeight??20,A=l?.markerDx??0,m=l?.markerDy??0),this.isStartDraw_&&t.length>2&&n===t.length-1&&(f=B.getPointIcon(!1,!0)),h={markerFile:f,markerWidth:d,markerHeight:g,markerDx:A,markerDy:m,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle"}}let c=[a.longitude,a.latitude],u=new Fn(c,{id:s,symbol:h,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:i+1}).addTo(e);u.on("dragging",this.pointDragging),u.on("dragend",this.pointDragend),u.on("click",this.pointClick),u.on("contextmenu",this.pointContextmenu),this.pointInstances_.push({ID:s,index:n,point:u})}}};pointDragging=e=>{let t=this.containerID_.split("-maptalks")[0];B.removeMenu(t);let n=e.target.getId(),s=B.extractionIndex(n),a=this.data_.coordinates;a[s].longitude=e.coordinate.x,a[s].latitude=e.coordinate.y,a[s].altitude=0,this.defaultHeight_&&(a[s].altitude=this.defaultHeight_),this.reDrawTakeOffBillboard(),this.reDraw()};pointDragend=e=>{let i=e.target.getId(),n=B.extractionIndex(i);this.emitGraphChanged("update",n)};pointClick=e=>{if(this.isStartDraw_)return;let i=e.target.getId(),n=B.extractionIndex(i);this.emitGraphNodeClick(n)};pointContextmenu=e=>{let t=this.isDelete_;this.data_.coordinates.length<2&&(t=!1);let i=e.target,n=i.getId(),s=B.extractionIndex(n),a=this.containerID_.split("-maptalks")[0];B.getMenu(a,e.containerPoint,"删除端点",t,()=>{B.removeMenu(a),this.data_.coordinates.splice(s,1),this.pointInstances_.splice(s,1),i.remove(),this.emitGraphChanged("delete",s),this.reDraw()},this.isCopy_,o=>{B.removeMenu(a),this.copyPoint(s,o)},this.dataClass_==="AirRoutes"?s:void 0,this.dataClass_==="AirRoutes",o=>{B.removeMenu(a),console.log("设置禁止返回点",o),this.emitNoReturnNode(o)})};reDrawCenterPoints=()=>{if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_?.coordinates;if(t?.length!==this.centerPointInstances_?.length+1&&this.clearCenterPoints(),t&&t.length>=2)for(let i=0;i<t.length-1;i++){let n=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-CenterPoint-"+i,s=t[i],a=t[i+1],o=ki([s.longitude,s.latitude]),l=ki([a.longitude,a.latitude]),h=Mh(o,l),u=jn(o,l,{units:"meters"}),f;u>1e3?(u=u/1e3,u=Number(u.toFixed(2)),f=`${u}km`):(u=Number(u.toFixed(2)),f=`${u}m`);let d;!this.isStartDraw_&&this.isEditable_?(d={markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",textDx:0,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:f},this.dataClass_==="AirRoutes"?(d.markerFile=B.getDotPitchIcon(),d.markerWidth=18,d.markerHeight=18,d.textDy=-26):(d.markerType="ellipse",d.markerFill="#fff",d.markerWidth=15,d.markerHeight=15,d.markerLineWidth=1,d.markerLineColor="#000",d.textDy=-24)):d={textDx:0,textDy:0,textHorizontalAlignment:"middle",textVerticalAlignment:"middle",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:f};let g=this.centerPointInstances_.find(A=>A.ID===n);if(g)g.point.setCoordinates(h.geometry.coordinates),g.point.updateSymbol(d);else{let A=new Fn(h.geometry.coordinates,{id:n,symbol:d,draggable:!1,dragShadow:!1,editable:!1}).addTo(e);this.centerPointInstances_.push({ID:n,index:i,point:A})}}}else this.clearCenterPoints()};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates?.length!==this.customLabelInstances_?.length&&this.clearCustomLabel();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+e,n=this.customLabelInstances_.find(s=>s.getId()===i);n?(n.setCoordinates([t.longitude,t.latitude]),n.setContent(t?.customLabel?.content??"")):(n=B.reDrawLabel(this.containerID_,i,t,[t.longitude,t.latitude]),n&&this.customLabelInstances_.push(n))}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates.length!==this.customHTMLInstances_?.length&&this.clearCustomHTML();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,n=this.customHTMLInstances_.find(s=>s.marker.getId()===i);if(!n)n=B.reDrawHTML(this.containerID_,i,t,[t.longitude,t.latitude]),n&&(n.presentationMode===0||n.presentationMode===2?n.infoWindow.hide():n.infoWindow.show(),this.customHTMLInstances_.push(n));else{let a=t?.customHTML?.presentationMode??0;n.marker.setCoordinates([t.longitude,t.latitude]),a===0||a===2?n.infoWindow.hide():n.infoWindow.show()}}}else this.clearCustomHTML()};clear=()=>{B.recoverCursor(this.containerID_,"custom-cursor"),this.clearPointOfInterest(),this.clearTakeOffBillboard(),this.clearGeometry(),this.clearPoints(),this.clearCenterPoints(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearPointOfInterest=()=>{this.PointOfInterest_&&(this.PointOfInterest_.off("dragging",this.pointOfInterestDragging),this.PointOfInterest_.off("dragend",this.pointOfInterestDragend),this.PointOfInterest_.off("contextmenu",this.pointOfInterestContextmenu),this.PointOfInterest_.remove()),this.PointOfInterest_=void 0,this.PointOfInterestCoordinate_=void 0};clearTakeOffBillboard=()=>{this.TakeOffBillboard_&&(this.TakeOffBillboard_.off("dragging",this.takeOffDragging),this.TakeOffBillboard_.off("dragend",this.takeOffDragend),this.TakeOffBillboard_.remove()),this.TakeOffBillboard_=void 0,this.TakeOffBillboardCoordinate_=void 0,this.clearTakeOffBillboardHeightLabel()};clearTakeOffBillboardHeightLabel=()=>{this.TakeOffBillboardDistanceLabel_&&this.TakeOffBillboardDistanceLabel_.remove(),this.TakeOffBillboardDistanceLabel_=void 0};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("contextmenu",this.geometryContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0,this.airRouteGeometryInstance_&&(this.airRouteGeometryInstance_.off("mouseover",this.mouseover),this.airRouteGeometryInstance_.off("mouseout",this.mouseout),this.airRouteGeometryInstance_.off("click",this.emitGraphClick),this.airRouteGeometryInstance_.off("contextmenu",this.geometryContextmenu),this.airRouteGeometryInstance_.removeInfoWindow(),this.airRouteGeometryInstance_.remove()),this.airRouteGeometryInstance_=void 0};clearPoints=()=>{for(let e=0;e<this.pointInstances_.length;e++){let t=this.pointInstances_[e];t.point.off("dragging",this.pointDragging),t.point.off("dragend",this.pointDragend),t.point.off("click",this.pointClick),t.point.off("contextmenu",this.pointContextmenu),t.point.remove()}this.pointInstances_=[]};clearCenterPoints=()=>{for(let e=0;e<this.centerPointInstances_.length;e++)this.centerPointInstances_[e].point.remove();this.centerPointInstances_=[]};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.show();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.dataClass_==="AirRoutes"?this.airRouteGeometryInstance_&&(this.data_.type===2?this.airRouteGeometryInstance_.updateSymbol({linePatternFile:B.getAirRouteTexture(!0)}):this.airRouteGeometryInstance_.updateSymbol({lineWidth:t+2})):this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t+2})};mouseout=e=>{if(this.isEditable_)return;if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let i=0;i<this.customHTMLInstances_.length;i++)this.customHTMLInstances_[i].presentationMode===2&&this.customHTMLInstances_[i].infoWindow.hide();if(!this.isHighlight_)return;let t=this.data_?.symbol?.lineWidth??2;this.dataClass_==="AirRoutes"?this.airRouteGeometryInstance_&&(this.data_.type===2?this.airRouteGeometryInstance_.updateSymbol({linePatternFile:B.getAirRouteTexture()}):this.airRouteGeometryInstance_.updateSymbol({lineWidth:t})):this.geometryInstance_&&this.geometryInstance_.updateSymbol({lineWidth:t})}}class M6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;displayGeometryInstance_=void 0;displayGeometryOutlineInstance_=void 0;options_=void 0;outlineOptions_=void 0;highlightPrimitive_=void 0;highlightOutlinePrimitive_=void 0;radiusPolylineInstance_=void 0;radiusLabelInstance_=void 0;pointInstance_=void 0;radiusPointInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;radiusCenter_=void 0;radius_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;defaultHeight_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMoveStartDraw=e=>{let t=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){if(this.isClampTo3DTILE_){B.pickPosition(t,e.endPosition,this.classificationType_).then(n=>{this.handleMoveStartDrawPosition(n)});return}let i=B.getClampToGroundPosition(t,e.endPosition,this.isClampToGround_,this.radiusCenter_,void 0,void 0,!1);this.handleMoveStartDrawPosition(i)}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||this.isStartDraw_)&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(i,e.endPosition,this.classificationType_).then(s=>{this.handleMovePosition(s,t)});return}let n=B.getClampToGroundPosition(i,e.endPosition,this.isClampToGround_,this.data_.coordinates[0],void 0,void 0,!1);this.handleMovePosition(n,t)}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=t.scene.pick(e.position),s=le.cloneDeep(i.coordinate);if(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(s.altitude+=this.defaultHeight_),this.isStartDraw_){if(n&&typeof n.id=="string"){let a=n.id;if(n.primitive instanceof Cesium.PointPrimitive&&a.includes("-&-ZYWL-&-GraphicEditingCircleRadius-Point")){this.isStartDraw_=!1,this.screenSpaceHandler_&&(this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0),this.reDraw(),this.emitGraphChanged("complete");return}}}else if(this.data_.coordinates.length){this.isEditable_=!1,this.emitGraphEdited();return}else{this.data_.coordinates.push(le.cloneDeep(s)),this.center_=B.transformCartesian3(this.data_.coordinates[0]),this.radiusCenter_=B.transformCartesian3(this.data_.coordinates[0]);let a=B.transformCoordinate(this.center_),o=B.transformCoordinate(this.radiusCenter_);this.radius_=jn(ki([a.longitude,a.latitude]),ki([o.longitude,o.latitude]),{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(this.mouseMoveStartDraw,Cesium.ScreenSpaceEventType.MOUSE_MOVE)}this.reDraw(),this.emitGraphChanged("update")}};handleMoveStartDrawPosition=e=>{e&&e.coordinate&&(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(e.coordinate.altitude+=this.defaultHeight_),this.radiusCenter_=B.transformCartesian3(e.coordinate),this.radius_=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw())};handleMovePosition=(e,t)=>{if(e&&e.coordinate){if(t===0)this.data_.coordinates[0].longitude=e.coordinate.longitude,this.data_.coordinates[0].latitude=e.coordinate.latitude,this.data_.coordinates[0].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[0].altitude+=this.defaultHeight_),this.center_=e.cartesian3,this.radiusCenter_=B.offsetHeadingPitch2Position(this.center_,90,0,this.radius_).cartesian3;else if(t===1){this.radiusCenter_=e.cartesian3;let i=B.transformCoordinate(this.center_),n=B.transformCoordinate(this.radiusCenter_);this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(i.altitude+=this.defaultHeight_,n.altitude+=this.defaultHeight_),this.radius_=jn(ki([i.longitude,i.latitude]),ki([n.longitude,n.latitude]),{units:"meters"})}this.reDraw()}};mouseRightClick=e=>{this.isDelete_&&(this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw())};async reDraw(){if(this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.radius_||(this.radius_=this.data_?.symbol?.radius??.01);const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_&&!this.isClampTo3DTILE_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.center_=i,!this.radiusCenter_&&this.radius_&&(this.radiusCenter_=B.offsetHeadingPitch2Position(this.center_,90,0,this.radius_).cartesian3),this.isEditable_&&this.clearGeometry(),this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polygon",isClampToGround:le.cloneDeep(this.isClampToGround_)?le.cloneDeep(this.isClampToGround_):le.cloneDeep(this.isClampTo3DTILE_)},this.outlineOptions_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:le.cloneDeep(this.isClampToGround_)?le.cloneDeep(this.isClampToGround_):le.cloneDeep(this.isClampTo3DTILE_)},this.createPrimitive(e,t),this.reDrawRadiusPolyline(),this.reDrawRadiusLabel(),this.reDrawCenterPoint(),this.reDrawRadiusPoint(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=(e,t)=>{const i=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircle",n=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircleOutline",s=t?.altitude??100,a=this.data_?.symbol?.lineWidth??2,o=B.getCircleOutlinePositions(this.center_,this.radius_,s);if(o.length)if(this.isEditable_){this.clearDisplayGeometry();const f=e.scene.primitives,d=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})});var c,u;const g=new Cesium.GeometryInstance({id:i,geometry:new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(o),perPositionHeight:!0})});this.isClampToGround_||this.isClampTo3DTILE_?c=new Cesium.GroundPrimitive({geometryInstances:g,appearance:d,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):c=new Cesium.Primitive({geometryInstances:g,appearance:d,show:this.visible_,asynchronous:!1});const A=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})});if(this.isClampToGround_||this.isClampTo3DTILE_){const m=new Cesium.GeometryInstance({id:n,geometry:new Cesium.GroundPolylineGeometry({positions:o,width:a})});u=new Cesium.GroundPolylinePrimitive({geometryInstances:m,appearance:A,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN})}else{const m=new Cesium.GeometryInstance({id:n,geometry:new Cesium.PolylineGeometry({positions:o,width:a})});u=new Cesium.Primitive({geometryInstances:m,appearance:A,show:this.visible_,asynchronous:!1})}this.geometryInstance_&&f.remove(this.geometryInstance_),c&&(this.geometryInstance_=f.add(c)),this.geometryOutlineInstance_&&f.remove(this.geometryOutlineInstance_),u&&(this.geometryOutlineInstance_=f.add(u))}else{this.clearGeometry();const f=new Cesium.ShowGeometryInstanceAttribute(this.visible_),d=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)),g=B.getGeometryInstances(this.options_);var l;if(this.isClampToGround_||this.isClampTo3DTILE_?l=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(o),perPositionHeight:!1}):l=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(o),perPositionHeight:!0}),!this.displayGeometryInstance_)this.displayGeometryInstance_=new Cesium.GeometryInstance({id:i,geometry:l,attributes:{color:d,show:f}}),g.push(this.displayGeometryInstance_);else{this.displayGeometryInstance_.geometry=l,this.displayGeometryInstance_.attributes.color=d,this.displayGeometryInstance_.attributes.show=f;const p=g.findIndex(C=>C.id===this.displayGeometryInstance_.id);p!==-1&&(g[p]=this.displayGeometryInstance_)}const A=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")),m=B.getGeometryInstances(this.outlineOptions_);var h;if(this.isClampToGround_?h=new Cesium.GroundPolylineGeometry({positions:o,width:a}):h=new Cesium.PolylineGeometry({positions:o,width:a}),!this.displayGeometryOutlineInstance_)this.displayGeometryOutlineInstance_=new Cesium.GeometryInstance({id:n,geometry:h,attributes:{color:A,show:f}}),m.push(this.displayGeometryOutlineInstance_);else{this.displayGeometryOutlineInstance_.geometry=h,this.displayGeometryOutlineInstance_.attributes.color=A,this.displayGeometryOutlineInstance_.attributes.show=f;const p=m.findIndex(C=>C.id===this.displayGeometryOutlineInstance_.id);p!==-1&&(m[p]=this.displayGeometryOutlineInstance_)}this.updatePrimitive(g,m)}};reDrawRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);if(e){this.clearRadiusPolyline();let t=this.data_?.coordinates;if(this.center_&&this.radiusCenter_&&this.isEditable_&&t&&t.length){let i=this.data_.ID;if(!this.radiusPolylineInstance_){let n;this.isClampToGround_||this.isClampTo3DTILE_?n=new Cesium.GroundPolylineGeometry({positions:[this.center_,this.radiusCenter_],width:2}):n=new Cesium.PolylineGeometry({positions:[this.center_,this.radiusCenter_],width:2,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND});let s=new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-GraphicEditingCircleRadiusPolyline",geometry:n}),a;this.isClampToGround_||this.isClampTo3DTILE_?(a=new Cesium.GroundPolylinePrimitive({geometryInstances:s,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}),this.radiusPolylineInstance_=e.scene.groundPrimitives.add(a)):(a=new Cesium.Primitive({geometryInstances:s,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1}),this.radiusPolylineInstance_=e.scene.primitives.add(a))}}}};reDrawRadiusLabel=()=>{this.clearRadiusLabel();const e=this.data_.ID+"-&-ZYWL-&-RadiusLabel",t=this.data_?.coordinates;if(this.center_&&this.radiusCenter_&&this.isEditable_&&t&&t.length){let i=Cesium.Cartesian3.midpoint(this.center_,this.radiusCenter_,new Cesium.Cartesian3),n=B.transformCoordinate(this.center_),s=B.transformCoordinate(this.radiusCenter_),a=jn(ki([n.longitude,n.latitude]),ki([s.longitude,s.latitude]),{units:"meters"});this.radius_&&(a=le.cloneDeep(this.radius_));let o;a>1e3?(a=a/1e3,a=Number(a.toFixed(2)),o=`${a}km`):(a=Number(a.toFixed(2)),o=`${a}m`),this.radiusLabelInstance_=new xn(this.containerID_),this.radiusLabelInstance_.DataProcessing({ID:e,center:i,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${o}</div>`,dx:0,dy:0,presentationMode:a<1?0:1}})}};reDrawCenterPoint=()=>{this.clearCenterPoint();let e=this.data_?.coordinates;if(this.center_&&this.isEditable_&&e&&e.length){let t=B.getPointPrimitiveCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircleCenter-Point";this.pointInstance_||(this.pointInstance_=t.add(new Cesium.PointPrimitive({position:this.center_,id:i,show:this.visible_,color:Cesium.Color.WHITE,pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})))}};reDrawRadiusPoint=()=>{this.clearRadiusPoint();let e=this.data_?.coordinates;if(this.radiusCenter_&&this.isEditable_&&e&&e.length){let t=B.getPointPrimitiveCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-GraphicEditingCircleRadius-Point";this.radiusPointInstance_||(this.radiusPointInstance_=t.add(new Cesium.PointPrimitive({position:this.radiusCenter_,id:i,show:this.visible_,color:Cesium.Color.WHITE,pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})))}};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let e=B.getLabelCollection(this.containerID_),i=this.data_.coordinates[0]?.customLabel;if(i){let n=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",s=i?.show??!1,a=i?.content??"",o=i?.showBackground??!1,l=i?.dx??0,h=i?.dy??0,c=this.customLabelInstances_.find(u=>u.ID===n);if(c)c.primitive.position=this.center_,c.primitive.show=s,c.primitive.text=a,c.primitive.showBackground=o,c.primitive.pixelOffset=new Cesium.Cartesian2(l,h),c.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let u=e.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:n,index:0,primitive:u})}}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=this.data_.coordinates[0]?.customHTML;if(t){let i=new xn(this.containerID_);i.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:t}),this.customHTMLInstances_.push(i)}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||this.isEditable_||(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearDisplayGeometry(),this.clearRadiusPolyline(),this.clearRadiusLabel(),this.clearCenterPoint(),this.clearRadiusPoint(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{const e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearDisplayGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.displayGeometryInstance_){const o=e.findIndex(l=>l.id===this.displayGeometryInstance_.id);o!==-1&&(e.splice(o,1),t=!0)}var i;this.outlineOptions_&&(i=B.getGeometryInstances(this.outlineOptions_));var n=!1;if(this.displayGeometryOutlineInstance_){const o=i.findIndex(l=>l.id===this.displayGeometryOutlineInstance_.id);o!==-1&&(i.splice(o,1),n=!0)}t&&n&&this.updatePrimitive(e,i),this.displayGeometryInstance_=void 0,this.displayGeometryOutlineInstance_=void 0;const a=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&a.remove(this.highlightPrimitive_),this.highlightOutlinePrimitive_&&a.remove(this.highlightOutlinePrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_=void 0};clearRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);this.radiusPolylineInstance_&&e&&e?.scene&&e?.scene?.primitives&&(this.isClampToGround_||this.isClampTo3DTILE_?e.scene.groundPrimitives.remove(this.radiusPolylineInstance_):e.scene.primitives.remove(this.radiusPolylineInstance_)),this.radiusPolylineInstance_=void 0};clearRadiusLabel=()=>{this.radiusLabelInstance_&&this.radiusLabelInstance_.clear(),this.radiusLabelInstance_=void 0};clearCenterPoint=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.pointInstance_&&e&&e.remove(this.pointInstance_),this.pointInstance_=void 0};clearRadiusPoint=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.radiusPointInstance_&&e&&e.remove(this.radiusPointInstance_),this.radiusPointInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=(e,t)=>{const n=B.getMapEngineInstance(this.containerID_).scene.primitives;var s;this.options_&&(s=B.getGeometryPrimitive(this.options_)),s&&(n.remove(s),B.removeGeometryPrimitive(this.options_));var a;this.outlineOptions_&&(a=B.getGeometryPrimitive(this.outlineOptions_)),a&&(n.remove(a),B.removeGeometryPrimitive(this.outlineOptions_)),e?.length&&this.options_&&(this.isClampToGround_||this.isClampTo3DTILE_?s=new Cesium.GroundPrimitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):s=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(s),this.options_.primitive=s,B.addGeometryPrimitive(this.options_)),t?.length&&this.outlineOptions_&&(this.isClampToGround_||this.isClampTo3DTILE_?a=new Cesium.GroundPolylinePrimitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):a=new Cesium.Primitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(a),this.outlineOptions_.primitive=a,B.addGeometryPrimitive(this.outlineOptions_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&i.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_&&i.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0,e&&(this.isClampToGround_||this.isClampTo3DTILE_?(this.displayGeometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.GroundPrimitive({geometryInstances:this.displayGeometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}))),this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.GroundPolylinePrimitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN})))):(this.displayGeometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.displayGeometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1}))),this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1})))))}}class S6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;defaultHeight_=void 0;isAutoZoom_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMove=e=>{if(this.isEditable_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(t,e.endPosition,this.classificationType_).then(i=>{this.handleMovePosition(i,0)});return}B.getClampToGroundPositionCallBack(t,e.endPosition,this.isClampToGround_,this.center_,void 0,void 0,i=>{this.handleMovePosition(i,0)})}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=le.cloneDeep(i.coordinate);this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(n.altitude+=this.defaultHeight_);let s=this.data_?.coordinates;s&&s.length?(s[0].longitude=n.longitude,s[0].latitude=n.latitude,s[0].altitude=n.altitude):this.data_.coordinates=[n],this.reDraw(),this.emitGraphChanged("update"),setTimeout(()=>{this.reDrawCustomHTML()},0)}};handleMovePosition=(e,t)=>{e&&e.coordinate&&(this.data_.coordinates[t].longitude=e.coordinate.longitude,this.data_.coordinates[t].latitude=e.coordinate.latitude,this.data_.coordinates[t].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[t].altitude+=this.defaultHeight_),this.reDraw())};mouseRightClick=()=>{this.isDelete_&&(this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw())};async reDraw(){if(this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,this.isAutoZoom_=this.data_?.isAutoZoom??!1,!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_&&!this.isClampTo3DTILE_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.center_=i,this.createPrimitive(e),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=e=>{let t=this.data_.ID,i=B.getDefaultPointBase64();this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(i=this.data_?.symbol?.image);let n=this.data_?.symbol?.markerWidth??10,s=this.data_?.symbol?.markerHeight??10,a=this.data_?.symbol?.markerDx??0,o=this.data_?.symbol?.markerDy??0,l=this.data_?.symbol?.markerRotation??0;if(this.geometryInstance_)this.geometryInstance_.position=this.center_,this.geometryInstance_.show=this.visible_,this.geometryInstance_.image=i,this.geometryInstance_.pixelOffset=new Cesium.Cartesian2(a,o),this.geometryInstance_.width=n,this.geometryInstance_.height=s,this.geometryInstance_.rotation=Cesium.Math.toRadians(-l);else{let h=B.getBillboardCollection(this.containerID_),c;if(this.isAutoZoom_){const u=this.containerID_.split("-cesium")[0],f=B.transformCoordinate(this.center_),d=B.getMapHeightByZoom(u,10,f),g=B.getMapHeightByZoom(u,3,f);c=new Cesium.Billboard({position:this.center_,id:t+"-&-ZYWL-&-GraphicEditingIcon",show:this.visible_,image:i,pixelOffset:new Cesium.Cartesian2(a,o),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:n,height:s,rotation:Cesium.Math.toRadians(-l),disableDepthTestDistance:Number.POSITIVE_INFINITY,scaleByDistance:new Cesium.NearFarScalar(d,1,g,.1)},h)}else c=new Cesium.Billboard({position:this.center_,id:t+"-&-ZYWL-&-GraphicEditingIcon",show:this.visible_,image:i,pixelOffset:new Cesium.Cartesian2(a,o),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:n,height:s,rotation:Cesium.Math.toRadians(-l),disableDepthTestDistance:Number.POSITIVE_INFINITY},h);this.geometryInstance_=h.add(c)}};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let e=B.getLabelCollection(this.containerID_),i=this.data_.coordinates[0]?.customLabel;if(i){let n=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",s=i?.show??!1,a=i?.content??"",o=i?.showBackground??!1,l=i?.dx??0,h=i?.dy??0,c=this.customLabelInstances_.find(u=>u.ID===n);if(c)c.primitive.position=this.center_,c.primitive.show=s,c.primitive.text=a,c.primitive.showBackground=o,c.primitive.pixelOffset=new Cesium.Cartesian2(l,h),c.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let u=e.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:n,index:0,primitive:u})}}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=this.data_.coordinates[0]?.customHTML;if(t){let i=new xn(this.containerID_);i.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:t}),this.customHTMLInstances_.push(i)}}};primitivesHighlighted=(e,t,i)=>{if(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!(!this.isHighlight_||this.isEditable_)&&this.geometryInstance_){let n=B.getDefaultPointBase64();e?this.data_?.symbol?.imageHighlight&&this.data_?.symbol?.imageHighlight.length&&(n=this.data_?.symbol?.imageHighlight):this.data_?.symbol?.image&&this.data_?.symbol?.image.length&&(n=this.data_?.symbol?.image),this.geometryInstance_.image=n}};clear=()=>{window.EditElement=void 0,this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getBillboardCollection(this.containerID_);this.geometryInstance_&&e&&e.remove(this.geometryInstance_),this.geometryInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class mte{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;defaultHeight_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMove=e=>{if(this.isEditable_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(t,e.endPosition,this.classificationType_).then(i=>{this.handleMovePosition(i,0)});return}B.getClampToGroundPositionCallBack(t,e.endPosition,this.isClampToGround_,this.center_,void 0,void 0,i=>{this.handleMovePosition(i,0)})}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=le.cloneDeep(i.coordinate);this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(n.altitude+=this.defaultHeight_),Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length?(this.data_.coordinates[0].longitude=n.longitude,this.data_.coordinates[0].latitude=n.latitude,this.data_.coordinates[0].altitude=n.altitude):this.data_.coordinates=[n],this.reDraw(),this.emitGraphChanged("update"),setTimeout(()=>{this.reDrawCustomHTML()},0)}};handleMovePosition=(e,t)=>{e&&e.coordinate&&(this.data_.coordinates[t].longitude=e.coordinate.longitude,this.data_.coordinates[t].latitude=e.coordinate.latitude,this.data_.coordinates[t].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[t].altitude+=this.defaultHeight_),this.reDraw())};mouseRightClick=()=>{this.isDelete_&&(this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw())};async reDraw(){if(this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight,!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_&&!this.isClampTo3DTILE_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.center_=i,this.createPrimitive(e),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=e=>{let t=this.data_.ID,i=B.getPointPrimitiveCollection(this.containerID_),n="#fff";this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(n=this.data_?.symbol?.pointColor),n=Cesium.Color.fromCssColorString(n);let s=this.data_?.symbol?.pixelSize??10;this.geometryInstance_?(this.geometryInstance_.position=this.center_,this.geometryInstance_.show=this.visible_,this.geometryInstance_.color=n,this.geometryInstance_.pixelSize=s):this.geometryInstance_=i.add(new Cesium.PointPrimitive({position:this.center_,id:t+"-&-ZYWL-&-GraphicEditingPoint",show:this.visible_,color:n,pixelSize:s,disableDepthTestDistance:Number.POSITIVE_INFINITY}))};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let e=B.getLabelCollection(this.containerID_),i=this.data_.coordinates[0]?.customLabel;if(i){let n=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",s=i?.show??!1,a=i?.content??"",o=i?.showBackground??!1,l=i?.dx??0,h=i?.dy??0,c=this.customLabelInstances_.find(u=>u.ID===n);if(c)c.primitive.position=this.center_,c.primitive.show=s,c.primitive.text=a,c.primitive.showBackground=o,c.primitive.pixelOffset=new Cesium.Cartesian2(l,h),c.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let u=e.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:n,index:0,primitive:u})}}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=this.data_.coordinates[0]?.customHTML;if(t){let i=new xn(this.containerID_);i.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:t}),this.customHTMLInstances_.push(i)}}};primitivesHighlighted=(e,t,i)=>{if(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!(!this.isHighlight_||this.isEditable_)&&this.geometryInstance_){let n="#fff";e?this.data_?.symbol?.pointColorHighlight&&this.data_?.symbol?.pointColorHighlight.length&&(n=this.data_?.symbol?.pointColorHighlight):this.data_?.symbol?.pointColor&&this.data_?.symbol?.pointColor.length&&(n=this.data_?.symbol?.pointColor),n=Cesium.Color.fromCssColorString(n),this.geometryInstance_.color=n}};clear=()=>{window.EditElement=void 0,this.clearGeometry(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.geometryInstance_&&e&&e.remove(this.geometryInstance_),this.geometryInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class B6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;displayGeometryInstance_=void 0;displayGeometryOutlineInstance_=void 0;options_=void 0;outlineOptions_=void 0;highlightPrimitive_=void 0;highlightOutlinePrimitive_=void 0;primitiveInstances_=[];pointInstances_=[];distanceLabelInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;defaultHeight_=void 0;nodeMode_="billboard";positions_=[];isDistanceVisible_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMoveStartDraw=e=>{if(this.isStartDraw_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.endPosition,this.classificationType_).then(i=>{this.handleMoveStartDrawPosition(i)})}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||this.isStartDraw_)&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(i,e.endPosition,this.classificationType_).then(n=>{this.handleMovePosition(n,t)});return}B.getClampToGroundPositionCallBack(i,e.endPosition,this.isClampToGround_,this.data_.coordinates[t],void 0,void 0,n=>{this.handleMovePosition(n,t)})}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=t.scene.pick(e.position),s=this.data_?.coordinates??[],a=le.cloneDeep(i.coordinate);if(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(a.altitude+=this.defaultHeight_),this.isStartDraw_){if(n&&typeof n.id=="string"){let o=n.id;if((n.primitive instanceof Cesium.Billboard||n.primitive instanceof Cesium.PointPrimitive)&&o.includes("-&-ZYWL-&-GraphicEditingPolygon-Point-")&&Number(o.split("-&-ZYWL-&-GraphicEditingPolygon-Point-")[1])===s.length-2){s.length>3&&(this.isStartDraw_=!1,s.splice(s.length-1,1),this.screenSpaceHandler_&&(this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0),this.reDraw(),this.emitGraphChanged("complete"));return}}s.push(le.cloneDeep(a))}else if(!s.length)s.push(le.cloneDeep(a)),s.push(le.cloneDeep(a)),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(this.mouseMoveStartDraw,Cesium.ScreenSpaceEventType.MOUSE_MOVE);else if(n&&typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&n.id.includes("-&-ZYWL-&-GraphicEditingPolygon-CenterPoint-")){let o=B.extractionIndex(n.id),l=n.primitive.position;l&&(s.splice(o+1,0,B.transformCoordinate(l)),setTimeout(()=>{this.reDrawCustomHTML()},0))}else{this.isEditable_=!1,this.emitGraphEdited();return}this.reDraw(),this.emitGraphChanged("update")}};handleMoveStartDrawPosition=e=>{e&&e.coordinate&&(this.data_.coordinates[this.data_.coordinates.length-1].longitude=e.coordinate.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=e.coordinate.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[this.data_.coordinates.length-1].altitude+=this.defaultHeight_),this.reDraw())};handleMovePosition=(e,t)=>{e&&e.coordinate&&(this.data_.coordinates[t].longitude=e.coordinate.longitude,this.data_.coordinates[t].latitude=e.coordinate.latitude,this.data_.coordinates[t].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[t].altitude+=this.defaultHeight_),this.reDraw())};mouseRightClick=e=>{this.isDelete_&&(e!==void 0?(this.data_.coordinates.splice(e,1),this.emitGraphChanged("delete",e)):(this.data_.coordinates=[],this.emitGraphRemoved()),this.clearDistanceLabels(),this.reDraw())};async reDraw(){const e=B.getMapEngineInstance(this.containerID_);this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,this.nodeMode_=this.data_?.nodeMode??"billboard";let t=this.data_?.coordinates;if(!Array.isArray(t)||Array.isArray(t)&&!t?.length){this.clear();return}if(this.positions_=[],this.isClampToGround_&&!this.isClampTo3DTILE_){const i=await B.getTerrainHeights(e,t);this.positions_=le.cloneDeep(i.positions)}else for(const i of t)this.positions_.push(B.transformCartesian3(i));this.positions_.length>1?this.center_=Cesium.Cartesian3.divideByScalar(this.positions_.reduce((i,n)=>Cesium.Cartesian3.add(i,n,new Cesium.Cartesian3)),this.positions_.length,new Cesium.Cartesian3):this.positions_.length===1&&(this.center_=this.positions_[0]),this.isEditable_&&this.clearGeometry(),this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polygon",isClampToGround:this.isClampToGround_||this.isClampTo3DTILE_},this.outlineOptions_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:this.isClampToGround_||this.isClampTo3DTILE_},this.positions_.length>1&&this.createPrimitive(e,this.positions_),this.reDrawPoints(),this.reDrawCenterPoints(this.positions_),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=(e,t)=>{const i=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon",n=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygonOutline",s=this.data_?.symbol?.lineWidth??2,a=le.cloneDeep(t);a.push(a[0]);const o=e.scene.primitives;if(this.isEditable_){this.clearDisplayGeometry();var c,u;if(t.length>2){const d=new Cesium.MaterialAppearance({flat:!0,material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})}),g=new Cesium.GeometryInstance({id:i,geometry:new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!0})});this.isClampToGround_||this.isClampTo3DTILE_?c=new Cesium.GroundPrimitive({geometryInstances:g,appearance:d,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):c=new Cesium.Primitive({geometryInstances:g,appearance:d,show:this.visible_,asynchronous:!1})}const f=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})});if(this.isClampToGround_||this.isClampTo3DTILE_){const d=new Cesium.GeometryInstance({id:n,geometry:new Cesium.GroundPolylineGeometry({positions:a,width:s})});u=new Cesium.GroundPolylinePrimitive({geometryInstances:d,appearance:f,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN})}else{const d=new Cesium.GeometryInstance({id:n,geometry:new Cesium.PolylineGeometry({positions:a,width:s})});u=new Cesium.Primitive({geometryInstances:d,appearance:f,show:this.visible_,asynchronous:!1})}this.geometryInstance_&&o.remove(this.geometryInstance_),c&&(this.geometryInstance_=o.add(c)),this.geometryOutlineInstance_&&o.remove(this.geometryOutlineInstance_),u&&(this.geometryOutlineInstance_=o.add(u))}else{this.clearGeometry();const f=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)),d=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")),g=new Cesium.ShowGeometryInstanceAttribute(this.visible_),A=B.getGeometryInstances(this.options_);var l;if(this.isClampToGround_||this.isClampTo3DTILE_?l=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!1}):l=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!0}),!this.displayGeometryInstance_)this.displayGeometryInstance_=new Cesium.GeometryInstance({id:i,geometry:l,attributes:{color:f,show:g}}),A.push(this.displayGeometryInstance_);else{this.displayGeometryInstance_.geometry=l,this.displayGeometryInstance_.attributes.color=f,this.displayGeometryInstance_.attributes.show=g;const p=A.findIndex(C=>C.id===this.displayGeometryInstance_.id);p!==-1&&(A[p]=this.displayGeometryInstance_)}const m=B.getGeometryInstances(this.outlineOptions_);var h;if(this.isClampToGround_||this.isClampTo3DTILE_?h=new Cesium.GroundPolylineGeometry({positions:a,width:s}):h=new Cesium.PolylineGeometry({positions:a,width:s}),!this.displayGeometryOutlineInstance_)this.displayGeometryOutlineInstance_=new Cesium.GeometryInstance({id:n,geometry:h,attributes:{color:d,show:g}}),m.push(this.displayGeometryOutlineInstance_);else{this.displayGeometryOutlineInstance_.geometry=h,this.displayGeometryOutlineInstance_.geometry.width=s,this.displayGeometryOutlineInstance_.attributes.color=d,this.displayGeometryOutlineInstance_.attributes.show=g;const p=m.findIndex(C=>C.id===this.displayGeometryOutlineInstance_.id);p!==-1&&(m[p]=this.displayGeometryOutlineInstance_)}this.updatePrimitive(A,m)}};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&this.isEditable_&&Array.isArray(this.positions_)&&this.positions_.length){let e;if(this.nodeMode_==="point"?e=B.getPointPrimitiveCollection(this.containerID_):e=B.getBillboardCollection(this.containerID_),this.positions_.length===this.data_.coordinates.length)for(let t=0;t<this.positions_.length&&!(this.isStartDraw_&&t===this.data_.coordinates.length-1);t++){let i=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon-Point-"+t,n=this.positions_[t],a=this.data_.coordinates[t]?.symbol;a||(a=this.data_?.symbol),console.log(n);let o;if(this.nodeMode_==="point"){let l=15,h="#fff";a&&(l=a?.pixelSize??15,h=a?.pointColor??"#fff"),h=Cesium.Color.fromCssColorString(h),o=e.add(new Cesium.PointPrimitive({position:n,id:i,show:this.visible_,color:h,pixelSize:l,disableDepthTestDistance:Number.POSITIVE_INFINITY}))}else{let l=B.getPointIcon(!1,!1),h=20,c=20,u=0,f=0;a&&(l=a?.image??B.getPointIcon(!1,!1),h=a?.markerWidth??20,c=a?.markerHeight??20,u=a?.markerDx??0,f=a?.markerDy??0),this.isStartDraw_&&this.data_.coordinates.length>2&&t===this.data_.coordinates.length-2&&(l=a?.imageFinish??B.getPointIcon(!1,!0)),o=e.add(new Cesium.Billboard({position:n,id:i,show:this.visible_,image:l,horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:h,height:c,pixelOffset:new Cesium.Cartesian2(u,f),disableDepthTestDistance:Number.POSITIVE_INFINITY},e))}this.primitiveInstances_.push({ID:i,index:t,primitive:o})}}};async reDrawCenterPoints(e){if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)&&e.length>=3){let t=[],i=[];for(let o=0;o<e.length;o++){let l,h;if(o===e.length-1?(l=e[o],h=e[0]):(l=e[o],h=e[o+1]),l&&h){t.push(Cesium.Cartesian3.midpoint(l,h,new Cesium.Cartesian3));let c=Cesium.Cartesian3.distance(l,h),u;c>1e3?(c=c/1e3,c=Number(c.toFixed(2)),u=`${c}km`):(c=Number(c.toFixed(2)),u=`${c}m`),i.push({content:u,distance:c})}}let n=B.getMapEngineInstance(this.containerID_),s=await B.obtainGroundCartesian3s(n,t,this.classificationType_);this.clearCenterPoints(),this.clearDistanceLabels();let a=B.getPointPrimitiveCollection(this.containerID_);for(const[o,l]of s.entries()){if(!this.isStartDraw_&&this.isEditable_){let d=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon-CenterPoint-"+o,g=a.add(new Cesium.PointPrimitive({position:l,id:d,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.pointInstances_.push({ID:d,index:o,primitive:g})}let h=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolygon-DistanceLabel-"+o,c=i[o],u=new xn(this.containerID_),f=0;this.visible_&&this.isEditable_&&!this.isStartDraw_&&(f=-20),u.DataProcessing({ID:h,center:l,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${c.content}</div>`,dx:0,dy:f,presentationMode:c.distance<1?0:1}}),this.distanceLabelInstances_.push(u)}}else this.clearCenterPoints(),this.clearDistanceLabels()}reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.positions_)&&this.positions_.length){let e=B.getLabelCollection(this.containerID_);if(this.positions_.length!==this.customLabelInstances_.length&&this.clearCustomLabel(),this.positions_.length===this.data_.coordinates.length)for(let t=0;t<this.positions_.length;t++){let i=this.positions_[t],s=this.data_.coordinates[t]?.customLabel;if(s){let a=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+t,o=s?.show??!1,l=s?.content??"",h=s?.showBackground??!1,c=s?.dx??0,u=s?.dy??0,f=this.customLabelInstances_.find(d=>d.ID===a);if(f)f.primitive.position=i,f.primitive.show=o,f.primitive.text=l,f.primitive.showBackground=h,f.primitive.pixelOffset=new Cesium.Cartesian2(c,u),f.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let d=e.add(new Cesium.Label({position:i,id:a,show:o,text:l,font:"18px sans-serif",showBackground:h,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(c,u),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:a,index:t,primitive:d})}}}else this.clearCustomLabel()}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(this.positions_)&&this.positions_.length&&this.positions_.length===this.data_.coordinates.length)for(let e=0;e<this.positions_.length;e++){let t=this.positions_[e],n=this.data_.coordinates[e]?.customHTML;if(n){let s=new xn(this.containerID_);s.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,center:t,customHTML:n}),this.customHTMLInstances_.push(s)}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||this.isEditable_||(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearDisplayGeometry(),this.clearPoints(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML(),this.positions_=[]};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{const e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearDisplayGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.displayGeometryInstance_){const o=e.findIndex(l=>l.id===this.displayGeometryInstance_.id);o!==-1&&(e.splice(o,1),t=!0)}var i;this.outlineOptions_&&(i=B.getGeometryInstances(this.outlineOptions_));var n=!1;if(this.displayGeometryOutlineInstance_){const o=i.findIndex(l=>l.id===this.displayGeometryOutlineInstance_.id);o!==-1&&(i.splice(o,1),n=!0)}t&&n&&this.updatePrimitive(e,i),this.displayGeometryInstance_=void 0,this.displayGeometryOutlineInstance_=void 0;const a=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&a.remove(this.highlightPrimitive_),this.highlightOutlinePrimitive_&&a.remove(this.highlightOutlinePrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_=void 0};clearPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_),t=B.getBillboardCollection(this.containerID_);if(this.primitiveInstances_&&(e||t))for(let i=0;i<this.primitiveInstances_.length;i++){let n=this.primitiveInstances_[i];n.primitive instanceof Cesium.PointPrimitive?e.remove(n.primitive):t.remove(n.primitive)}this.primitiveInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.pointInstances_&&e)for(let t=0;t<this.pointInstances_.length;t++){let i=this.pointInstances_[t];e.remove(i.primitive)}this.pointInstances_=[]};clearDistanceLabels=()=>{for(const e of this.distanceLabelInstances_)e.clear();this.distanceLabelInstances_=[]};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=(e,t)=>{const n=B.getMapEngineInstance(this.containerID_).scene.primitives;var s;this.options_&&(s=B.getGeometryPrimitive(this.options_)),s&&(n.remove(s),B.removeGeometryPrimitive(this.options_));var a;this.outlineOptions_&&(a=B.getGeometryPrimitive(this.outlineOptions_)),a&&(n.remove(a),B.removeGeometryPrimitive(this.outlineOptions_)),e?.length&&this.options_&&(this.isClampToGround_||this.isClampTo3DTILE_?s=new Cesium.GroundPrimitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):s=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(s),this.options_.primitive=s,B.addGeometryPrimitive(this.options_)),t?.length&&this.outlineOptions_&&(this.isClampToGround_||this.isClampTo3DTILE_?a=new Cesium.GroundPolylinePrimitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):a=new Cesium.Primitive({geometryInstances:t,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(a),this.outlineOptions_.primitive=a,B.addGeometryPrimitive(this.outlineOptions_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&i.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0,this.highlightOutlinePrimitive_&&i.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0,e&&(this.isClampToGround_||this.isClampTo3DTILE_?(this.displayGeometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.GroundPrimitive({geometryInstances:this.displayGeometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}))),this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.GroundPolylinePrimitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN})))):(this.displayGeometryInstance_&&(this.highlightPrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.displayGeometryInstance_,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})}),asynchronous:!1,releaseGeometryInstances:!1}))),this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1})))))}}class pte{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;options_=void 0;displayGeometryInstance_=void 0;highlightPrimitive_=void 0;primitiveInstances_=[];pointInstances_=[];groundPointsInstances_=[];groundVerticalLinesInstances_=[];distanceLabelInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;defaultHeight_=void 0;nodeMode_="billboard";positions_=[];groundPositions_=[];isDistanceVisible_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMoveStartDraw=e=>{if(this.isStartDraw_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.endPosition,this.classificationType_).then(i=>{this.handleMoveStartDrawPosition(i)})}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||this.isStartDraw_)&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(i,e.endPosition,this.classificationType_).then(n=>{this.handleMovePosition(n,t)});return}B.getClampToGroundPositionCallBack(i,e.endPosition,this.isClampToGround_,this.data_.coordinates[t],void 0,void 0,n=>{this.handleMovePosition(n,t)})}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=t.scene.pick(e.position),s=this.data_?.coordinates??[],a=le.cloneDeep(i.coordinate);if(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(a.altitude+=this.defaultHeight_),this.isStartDraw_){if(n&&typeof n.id=="string"){let o=n.id;if((n.primitive instanceof Cesium.Billboard||n.primitive instanceof Cesium.PointPrimitive)&&(o.includes("-&-ZYWL-&-GraphicEditingPolyline-Point-")||o.includes("-&-ZYWL-&-GraphicEditingPolyline-GroundPoint-"))){let l=B.extractionIndex(o);if(s.length>2&&l===s.length-2){this.isStartDraw_=!1,s.splice(s.length-1,1),this.screenSpaceHandler_&&(this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0),this.reDraw(),this.emitGraphChanged("complete");return}}}s.push(le.cloneDeep(a))}else if(!s.length)s.push(le.cloneDeep(a)),s.push(le.cloneDeep(a)),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(this.mouseMoveStartDraw,Cesium.ScreenSpaceEventType.MOUSE_MOVE);else if(n&&typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&n.id.includes("-&-ZYWL-&-GraphicEditingPolyline-CenterPoint-")){let o=B.extractionIndex(n.id),l=n.primitive.position;l&&(s.splice(o+1,0,B.transformCoordinate(l)),setTimeout(()=>{this.reDrawCustomHTML()},0))}else{this.isEditable_=!1,this.emitGraphEdited();return}this.reDraw(),this.emitGraphChanged("update")}};handleMoveStartDrawPosition=e=>{e&&e.coordinate&&(this.data_.coordinates[this.data_.coordinates.length-1].longitude=e.coordinate.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=e.coordinate.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[this.data_.coordinates.length-1].altitude+=this.defaultHeight_),this.reDraw())};handleMovePosition=(e,t)=>{e&&e.coordinate&&(this.data_.coordinates[t].longitude=e.coordinate.longitude,this.data_.coordinates[t].latitude=e.coordinate.latitude,this.data_.coordinates[t].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[t].altitude+=this.defaultHeight_),this.reDraw())};mouseRightClick=e=>{this.isDelete_&&(e!==void 0?(this.data_.coordinates.splice(e,1),this.emitGraphChanged("delete",e)):(this.data_.coordinates=[],this.emitGraphRemoved()),this.clearDistanceLabels(),this.reDraw())};douglasPeucker=()=>{this.reDraw()};async reDraw(){const e=B.getMapEngineInstance(this.containerID_);this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,this.nodeMode_=this.data_?.nodeMode??"billboard";let t=this.data_?.coordinates;if(!Array.isArray(t)||Array.isArray(t)&&!t?.length){this.clear();return}if(this.positions_=[],this.isClampToGround_&&!this.isClampTo3DTILE_){const i=await B.getTerrainHeights(e,t);this.positions_=le.cloneDeep(i.positions)}else for(const i of t)this.positions_.push(B.transformCartesian3(i));this.positions_.length>1?this.center_=Cesium.Cartesian3.divideByScalar(this.positions_.reduce((i,n)=>Cesium.Cartesian3.add(i,n,new Cesium.Cartesian3)),this.positions_.length,new Cesium.Cartesian3):this.positions_.length===1&&(this.center_=this.positions_[0]),this.isEditable_&&this.clearGeometry(),this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:this.isClampToGround_||this.isClampTo3DTILE_},this.positions_.length>1&&this.createPrimitive(e,this.positions_),this.reDrawPoints(),this.reDrawGroundPoints(),this.reDrawCenterPoints(this.positions_),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=(e,t)=>{const i=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline",n=this.data_?.symbol?.lineWidth??2,s=e.scene.primitives;if(this.isEditable_){this.clearDisplayGeometry();const l=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})});var o;this.isClampToGround_||this.isClampTo3DTILE_?o=new Cesium.GroundPolylinePrimitive({geometryInstances:new Cesium.GeometryInstance({id:i,geometry:new Cesium.GroundPolylineGeometry({positions:t,width:n})}),appearance:l,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):o=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:i,geometry:new Cesium.PolylineGeometry({positions:t,width:n})}),appearance:l,show:this.visible_,asynchronous:!1}),this.geometryInstance_&&s.remove(this.geometryInstance_),this.geometryInstance_=s.add(o)}else{this.clearGeometry();const l=Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")),h=new Cesium.ShowGeometryInstanceAttribute(this.visible_),c=B.getGeometryInstances(this.options_);var a;if(this.isClampToGround_||this.isClampTo3DTILE_?a=new Cesium.GroundPolylineGeometry({positions:t,width:n}):a=new Cesium.PolylineGeometry({positions:t,width:n}),!this.displayGeometryInstance_)this.displayGeometryInstance_=new Cesium.GeometryInstance({id:i,geometry:a,attributes:{color:l,show:h}}),c.push(this.displayGeometryInstance_);else{this.displayGeometryInstance_.geometry=a,this.displayGeometryInstance_.attributes.color=l,this.displayGeometryInstance_.attributes.show=h;const u=c.findIndex(f=>f.id===this.displayGeometryInstance_.id);u!==-1&&(c[u]=this.displayGeometryInstance_)}this.updatePrimitive(c)}};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&Array.isArray(this.positions_)&&this.positions_.length){let e;if(this.nodeMode_==="point"?e=B.getPointPrimitiveCollection(this.containerID_):e=B.getBillboardCollection(this.containerID_),this.positions_.length===this.data_.coordinates.length)for(let t=0;t<this.positions_.length&&!(this.isStartDraw_&&t===this.data_.coordinates.length-1);t++){let i=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-Point-"+t,n=this.positions_[t],s=this.data_.coordinates[t],a=s?.show??!1;if(!this.isEditable_&&!a)continue;let o=s?.symbol;o||(o=this.data_?.symbol);let l;if(this.nodeMode_==="point"){let h=15,c="#fff";o&&(h=o?.pixelSize??15,c=o?.pointColor??"#fff"),c=Cesium.Color.fromCssColorString(c),l=e.add(new Cesium.PointPrimitive({position:n,id:i,show:this.visible_,color:c,pixelSize:h,disableDepthTestDistance:Number.POSITIVE_INFINITY}))}else{let h=B.getPointIcon(!1,!1),c=20,u=20,f=0,d=0;o&&(h=o?.image??B.getPointIcon(!1,!1),c=o?.markerWidth??20,u=o?.markerHeight??20,f=o?.markerDx??0,d=o?.markerDy??0),this.isStartDraw_&&this.data_.coordinates.length>2&&t===this.data_.coordinates.length-2&&(h=o?.imageFinish??B.getPointIcon(!1,!0)),l=e.add(new Cesium.Billboard({position:n,id:i,show:this.visible_,image:h,horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:c,height:u,pixelOffset:new Cesium.Cartesian2(f,d),disableDepthTestDistance:Number.POSITIVE_INFINITY},e))}this.primitiveInstances_.push({ID:i,index:t,primitive:l})}}};async reDrawGroundPoints(){let e=this.data_?.isGroundPointVisible??!1,t=this.data_?.isGroundVerticalLineVisible??!1;if(this.visible_&&e&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.groundPositions_=await B.obtainGroundCartesian3s(i,this.data_.coordinates,Cesium.ClassificationType.TERRAIN),this.clearGroundPoints(),this.clearGroundVerticalLines(),this.groundPositions_.length===this.data_.coordinates.length){let n=B.getPointPrimitiveCollection(this.containerID_);for(let s=0;s<this.groundPositions_.length;s++){let a=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-GroundPoint-"+s,o=this.groundPositions_[s];if(this.groundPointsInstances_.push({ID:a,index:s,primitive:n.add(new Cesium.PointPrimitive({position:o,id:a,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:8}))}),t){let l=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-VerticalLine-"+s,h=this.data_.coordinates[s],c=new Cesium.PolylineGeometry({positions:[B.transformCartesian3(h),this.groundPositions_[s]],width:2}),u=new Cesium.GeometryInstance({id:l,geometry:c}),f=new Cesium.Primitive({geometryInstances:u,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString("#fff"),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString("#fff"),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1});this.groundVerticalLinesInstances_.push({ID:a,index:s,primitive:i.scene.primitives.add(f)})}}}}else this.clearGroundPoints(),this.clearGroundVerticalLines()}async reDrawCenterPoints(e){if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)&&e.length>=2){let t=[],i=[];for(let o=0;o<e.length-1;o++){if(o===e.length-1&&this.isStartDraw_)continue;let l=e[o],h=e[o+1];if(l&&h){t.push(Cesium.Cartesian3.midpoint(l,h,new Cesium.Cartesian3));let c=Cesium.Cartesian3.distance(l,h),u;c>1e3?(c=c/1e3,c=Number(c.toFixed(2)),u=`${c}km`):(c=Number(c.toFixed(2)),u=`${c}m`),i.push({content:u,distance:c})}}let n=B.getMapEngineInstance(this.containerID_),s=await B.obtainGroundCartesian3s(n,t,this.classificationType_);this.clearCenterPoints(),this.clearDistanceLabels();let a=B.getPointPrimitiveCollection(this.containerID_);for(const[o,l]of s.entries()){if(!this.isStartDraw_&&this.isEditable_){let d=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-CenterPoint-"+o,g=a.add(new Cesium.PointPrimitive({position:l,id:d,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.pointInstances_.push({ID:d,index:o,primitive:g})}let h=this.data_.ID+"-&-ZYWL-&-GraphicEditingPolyline-DistanceLabel-"+o,c=i[o],u=new xn(this.containerID_),f=0;this.visible_&&this.isEditable_&&!this.isStartDraw_&&(f=-20),u.DataProcessing({ID:h,center:l,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${c.content}</div>`,dx:0,dy:f,presentationMode:c.distance<1?0:1}}),this.distanceLabelInstances_.push(u)}}else this.clearCenterPoints(),this.clearDistanceLabels()}reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.positions_)&&this.positions_.length){let e=B.getLabelCollection(this.containerID_);if(this.positions_.length!==this.customLabelInstances_.length&&this.clearCustomLabel(),this.positions_.length===this.data_.coordinates.length)for(let t=0;t<this.positions_.length;t++){let i=this.positions_[t],s=this.data_.coordinates[t]?.customLabel;if(s){let a=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+t,o=s?.show??!1,l=s?.content??"",h=s?.showBackground??!1,c=s?.dx??0,u=s?.dy??0,f=this.customLabelInstances_.find(d=>d.ID===a);if(f)f.primitive.position=i,f.primitive.show=o,f.primitive.text=l,f.primitive.showBackground=h,f.primitive.pixelOffset=new Cesium.Cartesian2(c,u),f.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let d=e.add(new Cesium.Label({position:i,id:a,show:o,text:l,font:"18px sans-serif",showBackground:h,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(c,u),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:a,index:t,primitive:d})}}}else this.clearCustomLabel()}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(this.positions_)&&this.positions_.length&&this.positions_.length===this.data_.coordinates.length)for(let e=0;e<this.positions_.length;e++){let t=this.positions_[e],n=this.data_.coordinates[e]?.customHTML;if(n){let s=new xn(this.containerID_);s.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,center:t,customHTML:n}),this.customHTMLInstances_.push(s)}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||this.isEditable_||(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearDisplayGeometry(),this.clearPoints(),this.clearGroundPoints(),this.clearGroundVerticalLines(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML(),this.positions_=[],this.groundPositions_=[]};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{const e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryInstance_=void 0};clearDisplayGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.displayGeometryInstance_){const s=e.findIndex(a=>a.id===this.displayGeometryInstance_.id);s!==-1&&(e.splice(s,1),t=!0)}t&&this.updatePrimitive(e),this.displayGeometryInstance_=void 0;const n=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightPrimitive_&&n.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0};clearPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_),t=B.getBillboardCollection(this.containerID_);if(this.primitiveInstances_&&(e||t))for(let i=0;i<this.primitiveInstances_.length;i++){let n=this.primitiveInstances_[i];n.primitive instanceof Cesium.PointPrimitive?e.remove(n.primitive):t.remove(n.primitive)}this.primitiveInstances_=[]};clearGroundPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.groundPointsInstances_&&e)for(let t=0;t<this.groundPointsInstances_.length;t++){let i=this.groundPointsInstances_[t];e.remove(i.primitive)}this.groundPointsInstances_=[]};clearGroundVerticalLines=()=>{let e=B.getMapEngineInstance(this.containerID_);if(this.groundVerticalLinesInstances_&&e&&e?.scene&&e?.scene?.primitives)for(let t=0;t<this.groundVerticalLinesInstances_.length;t++)e.scene.primitives.remove(this.groundVerticalLinesInstances_[t].primitive);this.groundVerticalLinesInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.pointInstances_&&e)for(let t=0;t<this.pointInstances_.length;t++){let i=this.pointInstances_[t];e.remove(i.primitive)}this.pointInstances_=[]};clearDistanceLabels=()=>{for(const e of this.distanceLabelInstances_)e.clear();this.distanceLabelInstances_=[]};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;var n;this.options_&&(n=B.getGeometryPrimitive(this.options_)),n&&(i.remove(n),B.removeGeometryPrimitive(this.options_)),e?.length&&this.options_&&(this.isClampToGround_||this.isClampTo3DTILE_?n=new Cesium.GroundPolylinePrimitive({geometryInstances:e,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):n=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),i.add(n),this.options_.primitive=n,B.addGeometryPrimitive(this.options_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;if(this.highlightPrimitive_&&i.remove(this.highlightPrimitive_),this.highlightPrimitive_=void 0,e&&this.displayGeometryInstance_){let n;this.isClampToGround_||this.isClampTo3DTILE_?n=new Cesium.GroundPolylinePrimitive({geometryInstances:this.displayGeometryInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):n=new Cesium.Primitive({geometryInstances:this.displayGeometryInstance_,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:3}}})}),asynchronous:!1,releaseGeometryInstances:!1}),this.highlightPrimitive_=i.add(n)}}}var o0={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},P6e=(function(){var e=function(n){this._coordinator={},this._data=[],this._radi=[],this._min=10,this._max=1,this._xField=n.xField||n.defaultXField,this._yField=n.yField||n.defaultYField,this._valueField=n.valueField||n.defaultValueField,n.radius&&(this._cfgRadius=n.radius)},t=o0.defaultRadius;return e.prototype={_organiseData:function(i,n){var s=i[this._xField],a=i[this._yField],o=this._radi,l=this._data,h=this._max,c=this._min,u=i[this._valueField]||1,f=i.radius||this._cfgRadius||t;l[s]||(l[s]=[],o[s]=[]),l[s][a]?l[s][a]+=u:(l[s][a]=u,o[s][a]=f);var d=l[s][a];return d>h?(n?this.setDataMax(d):this._max=d,!1):d<c?(n?this.setDataMin(d):this._min=d,!1):{x:s,y:a,value:u,radius:f,min:c,max:h}},_unOrganizeData:function(){var i=[],n=this._data,s=this._radi;for(var a in n)for(var o in n[a])i.push({x:a,y:o,radius:s[a][o],value:n[a][o]});return{min:this._min,max:this._max,data:i}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(){if(arguments[0].length>0)for(var i=arguments[0],n=i.length;n--;)this.addData.call(this,i[n]);else{var s=this._organiseData(arguments[0],!0);s&&this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[s]})}return this},setData:function(i){var n=i.data,s=n.length;this._data=[],this._radi=[];for(var a=0;a<s;a++)this._organiseData(n[a],!1);return this._max=i.max,this._min=i.min||0,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},removeData:function(){},setDataMax:function(i){return this._max=i,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setDataMin:function(i){return this._min=i,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setCoordinator:function(i){this._coordinator=i},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}},e})(),D6e=(function(){var e=function(s){var a=s.gradient||s.defaultGradient,o=document.createElement("canvas"),l=o.getContext("2d");o.width=256,o.height=1;var h=l.createLinearGradient(0,0,256,1);for(var c in a)h.addColorStop(c,a[c]);return l.fillStyle=h,l.fillRect(0,0,256,1),l.getImageData(0,0,256,1).data},t=function(s,a){var o=document.createElement("canvas"),l=o.getContext("2d"),h=s,c=s;if(o.width=o.height=s*2,a==1)l.beginPath(),l.arc(h,c,s,0,2*Math.PI,!1),l.fillStyle="rgba(0,0,0,1)",l.fill();else{var u=l.createRadialGradient(h,c,s*a,h,c,s);u.addColorStop(0,"rgba(0,0,0,1)"),u.addColorStop(1,"rgba(0,0,0,0)"),l.fillStyle=u,l.fillRect(0,0,2*s,2*s)}return o},i=function(c){for(var a=[],o=c.min,l=c.max,h=c.radi,c=c.data,u=Object.keys(c),f=u.length;f--;)for(var d=u[f],g=Object.keys(c[d]),A=g.length;A--;){var m=g[A],p=c[d][m],C=h[d][m];a.push({x:d,y:m,value:p,radius:C})}return{min:o,max:l,data:a}};function n(s){var a=s.container,o=this.shadowCanvas=document.createElement("canvas"),l=this.canvas=s.canvas||document.createElement("canvas");this._renderBoundaries=[1e4,1e4,0,0];var h=getComputedStyle(s.container)||{};l.className="heatmap-canvas",this._width=l.width=o.width=s.width||+h.width.replace(/px/,""),this._height=l.height=o.height=s.height||+h.height.replace(/px/,""),this.shadowCtx=o.getContext("2d"),this.ctx=l.getContext("2d"),l.style.cssText=o.style.cssText="position:absolute;left:0;top:0;",a.style.position="relative",a.appendChild(l),this._palette=e(s),this._templates={},this._setStyles(s)}return n.prototype={renderPartial:function(s){s.data.length>0&&(this._drawAlpha(s),this._colorize())},renderAll:function(s){this._clear(),this._drawAlpha(i(s)),this._colorize()},_updateGradient:function(s){this._palette=e(s)},updateConfig:function(s){s.gradient&&this._updateGradient(s),this._setStyles(s)},setDimensions:function(s,a){this._width=s,this._height=a,this.canvas.width=this.shadowCanvas.width=s,this.canvas.height=this.shadowCanvas.height=a},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height),this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(s){this._blur=s.blur==0?0:s.blur||s.defaultBlur,s.backgroundColor&&(this.canvas.style.backgroundColor=s.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=s.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=s.height||this._height,this._opacity=(s.opacity||0)*255,this._maxOpacity=(s.maxOpacity||s.defaultMaxOpacity)*255,this._minOpacity=(s.minOpacity||s.defaultMinOpacity)*255,this._useGradientOpacity=!!s.useGradientOpacity},_drawAlpha:function(l){for(var a=this._min=l.min,o=this._max=l.max,l=l.data||[],h=l.length,c=1-this._blur;h--;){var u=l[h],f=u.x,d=u.y,g=u.radius,A=Math.min(u.value,o),m=f-g,p=d-g,C=this.shadowCtx,E;this._templates[g]?E=this._templates[g]:this._templates[g]=E=t(g,c);var x=(A-a)/(o-a);C.globalAlpha=x<.01?.01:x,C.drawImage(E,m,p),m<this._renderBoundaries[0]&&(this._renderBoundaries[0]=m),p<this._renderBoundaries[1]&&(this._renderBoundaries[1]=p),m+2*g>this._renderBoundaries[2]&&(this._renderBoundaries[2]=m+2*g),p+2*g>this._renderBoundaries[3]&&(this._renderBoundaries[3]=p+2*g)}},_colorize:function(){var s=this._renderBoundaries[0],a=this._renderBoundaries[1],o=this._renderBoundaries[2]-s,l=this._renderBoundaries[3]-a,h=this._width,c=this._height,u=this._opacity,f=this._maxOpacity,d=this._minOpacity,g=this._useGradientOpacity;s<0&&(s=0),a<0&&(a=0),s+o>h&&(o=h-s),a+l>c&&(l=c-a),o===0&&(o=30),l===0&&(l=30);for(var A=this.shadowCtx.getImageData(s,a,o,l),m=A.data,p=m.length,C=this._palette,E=3;E<p;E+=4){var x=m[E],w=x*4;if(w){var T;u>0?T=u:x<f?x<d?T=d:T=x:T=f,m[E-3]=C[w],m[E-2]=C[w+1],m[E-1]=C[w+2],m[E]=g?C[w+3]:T}}this.ctx.putImageData(A,s,a),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(s){var a,o=this.shadowCtx,l=o.getImageData(s.x,s.y,1,1),h=l.data[3],c=this._max,u=this._min;return a=Math.abs(c-u)*(h/255)>>0,a},getDataURL:function(){return this.canvas.toDataURL()}},n})(),L6e=(function(){var e=!1;return o0.defaultRenderer==="canvas2d"&&(e=D6e),e})(),_te={merge:function(){for(var r={},e=arguments.length,t=0;t<e;t++){var i=arguments[t];for(var n in i)r[n]=i[n]}return r}},R6e=(function(){var e=(function(){function s(){this.cStore={}}return s.prototype={on:function(a,o,l){var h=this.cStore;h[a]||(h[a]=[]),h[a].push(function(c){return o.call(l,c)})},emit:function(a,o){var l=this.cStore;if(l[a])for(var h=l[a].length,c=0;c<h;c++){var u=l[a][c];u(o)}}},s})(),t=function(n){var s=n._renderer,a=n._coordinator,o=n._store;a.on("renderpartial",s.renderPartial,s),a.on("renderall",s.renderAll,s),a.on("extremachange",function(l){n._config.onExtremaChange&&n._config.onExtremaChange({min:l.min,max:l.max,gradient:n._config.gradient||n._config.defaultGradient})}),o.setCoordinator(a)};function i(){var n=this._config=_te.merge(o0,arguments[0]||{});if(this._coordinator=new e,n.plugin){var s=n.plugin;if(o0.plugins[s]){var a=o0.plugins[s];this._renderer=new a.renderer(n),this._store=new a.store(n)}else throw new Error("Plugin '"+s+"' not found. Maybe it was not registered.")}else this._renderer=new L6e(n),this._store=new P6e(n);t(this)}return i.prototype={addData:function(){return this._store.addData.apply(this._store,arguments),this},removeData:function(){return this._store.removeData&&this._store.removeData.apply(this._store,arguments),this},setData:function(){return this._store.setData.apply(this._store,arguments),this},setDataMax:function(){return this._store.setDataMax.apply(this._store,arguments),this},setDataMin:function(){return this._store.setDataMin.apply(this._store,arguments),this},configure:function(n){return this._config=_te.merge(this._config,n),this._renderer.updateConfig(this._config),this._coordinator.emit("renderall",this._store._getInternalData()),this},repaint:function(){return this._coordinator.emit("renderall",this._store._getInternalData()),this},getData:function(){return this._store.getData()},getDataURL:function(){return this._renderer.getDataURL()},getValueAt:function(n){return this._store.getValueAt?this._store.getValueAt(n):this._renderer.getValueAt?this._renderer.getValueAt(n):null}},i})(),O6e={create:function(r){return new R6e(r)},register:function(r,e){o0.plugins[r]=e}};var yte={exports:{}};(function(r){function e(t){if(!(this instanceof e))return new e(t);this._canvas=t=typeof t=="string"?document.getElementById(t):t,this._ctx=t.getContext("2d"),this._width=t.width,this._height=t.height,this._max=1,this._data=[]}yte.exports=e,e.prototype={defaultRadius:25,defaultGradient:{.4:"blue",.6:"cyan",.7:"lime",.8:"yellow",1:"red"},data:function(t){return this._data=t,this},max:function(t){return this._max=t,this},add:function(t){return this._data.push(t),this},clear:function(){return this._data=[],this},radius:function(t,i){i=i===void 0?15:i;var n=this._circle=this._createCanvas(),s=n.getContext("2d"),a=this._r=t+i;return n.width=n.height=2*a,s.shadowOffsetX=s.shadowOffsetY=2*a,s.shadowBlur=i,s.shadowColor="black",s.beginPath(),s.arc(-a,-a,t,0,2*Math.PI,!0),s.closePath(),s.fill(),this},resize:function(){this._width=this._canvas.width,this._height=this._canvas.height},gradient:function(t){var i=this._createCanvas(),n=i.getContext("2d"),s=n.createLinearGradient(0,0,0,256);for(var a in i.width=1,i.height=256,t)s.addColorStop(+a,t[a]);return n.fillStyle=s,n.fillRect(0,0,1,256),this._grad=n.getImageData(0,0,1,256).data,this},draw:function(t){this._circle||this.radius(this.defaultRadius),this._grad||this.gradient(this.defaultGradient);var i=this._ctx;i.clearRect(0,0,this._width,this._height);for(var n,s=0,a=this._data.length;s<a;s++)n=this._data[s],i.globalAlpha=Math.max(n[2]/this._max,t===void 0?.05:t),i.drawImage(this._circle,n[0]-this._r,n[1]-this._r);var o=i.getImageData(0,0,this._width,this._height);return this._colorize(o.data,this._grad),i.putImageData(o,0,0),this},_colorize:function(t,i){for(var n,s=0,a=t.length;s<a;s+=4)(n=4*t[s+3])&&(t[s]=i[n],t[s+1]=i[n+1],t[s+2]=i[n+2])},_createCanvas:function(){return typeof document<"u"?document.createElement("canvas"):new this._canvas.constructor}}})();var k6e=yte.exports;const vte={max:1,gradient:{.4:"blue",.6:"cyan",.7:"lime",.8:"yellow",1:"red"},radius:25,blur:15,heatValueScale:1,minOpacity:.05};class l0 extends Ca{constructor(e,t,i){Array.isArray(t)||(i=t,t=null),super(e,i),this._heats=t||[]}getData(){return this._heats}setData(e){return this._heats=e||[],this.redraw()}addPoint(e){return e?(e[0]&&Array.isArray(e[0])?mn.pushIn(this._heats,e):this._heats.push(e),this.redraw()):this}onConfig(e){for(const t in e)if(vte[t])return this.redraw();return this}redraw(){const e=this._getRenderer();return e&&(e.clearHeatCache(),e.setToRedraw()),this}isEmpty(){return!this._heats.length}clear(){return this._heats=[],this.redraw(),this.fire("clear"),this}toJSON(e){e||(e={});const t={type:this.getJSONType(),id:this.getId(),options:this.config()},i=this.getData();if(e.clipExtent){let n=new er(e.clipExtent);const s=this._getHeatRadius();s&&(n=n._expand(s));const a=[];for(let o=0,l=i.length;o<l;o++)n.contains(new Ct(i[o][0],i[o][1]))&&a.push(i[o]);t.data=a}else t.data=i;return t}static fromJSON(e){return e&&e.type==="HeatLayer"?new l0(e.id,e.data,e.options):null}_getHeatRadius(){return this._getRenderer()?this._getRenderer()._heatRadius:null}}l0.mergeOptions(vte),l0.registerJSONType("HeatLayer"),l0.registerRenderer("canvas",class extends ko.CanvasRenderer{draw(){const r=this.getMap(),e=this.layer,t=r.getContainerExtent();let i=this.prepareCanvas(),n=t;if(i){if(i=i.convertTo((o=>r._pointToContainerPoint(o))),!i.intersects(t))return void this.completeRender();n=t.intersection(i)}this._heater||(this._heater=k6e(this.canvas)),this._heater.radius(e.options.radius||this._heater.defaultRadius,e.options.blur),e.options.gradient&&this._heater.gradient(e.options.gradient),this._heater.max(e.options.max),this._heatViews||(this._heatViews=[]);const s=e.getData();if(s.length===0)return void this.completeRender();const a=this._heatData(s,n);this._heater.data(a).draw(e.options.minOpacity),this.completeRender()}drawOnInteracting(){this.draw()}_heatData(r,e){const t=this.getMap(),i=this.layer,n=t.getProjection(),s=[],a=this._heater._r,o=i.options.max===void 0?1:i.options.max,l=a/2,h=[],c=t.offsetPlatform(),u=c.x%l,f=c.y%l;let d,g,A,m,p,C;e=e.expand(a).convertTo((E=>new ut(t._containerPointToPrj(E)))),this._heatRadius=a;for(let E=0,x=r.length;E<x;E++)d=r[E],this._heatViews[E]||(this._heatViews[E]=n.project(new Ct(d[0],d[1]))),g=this._heatViews[E],e.contains(g)&&(g=t._prjToContainerPoint(g),m=Math.floor((g.x-u)/l)+2,p=Math.floor((g.y-f)/l)+2,C=(d[2]!==void 0?+d[2]:.1)*i.options.heatValueScale,h[p]=h[p]||[],A=h[p][m],A?(A[0]=(A[0]*A[2]+g.x*C)/(A[2]+C),A[1]=(A[1]*A[2]+g.y*C)/(A[2]+C),A[2]+=C):h[p][m]=[g.x,g.y,C]);for(let E=0,x=h.length;E<x;E++)if(h[E])for(let w=0,T=h[E].length;w<T;w++)A=h[E][w],A&&s.push([Math.round(A[0]),Math.round(A[1]),Math.min(A[2],o)]);return s}onZoomEnd(){delete this._heatViews,super.onZoomEnd.apply(this,arguments)}onResize(){super.onResize.apply(this,arguments),this.canvas&&(this._heater._width=this.canvas.width,this._heater._height=this.canvas.height)}onRemove(){this.clearHeatCache(),delete this._heater}clearHeatCache(){delete this._heatViews}}),typeof console<"u"&&console.log("maptalks.heatmap v0.6.2");class Cte{containerID_=void 0;dataClass_=void 0;data_=void 0;bounds_=void 0;heatMapInstance_=void 0;heatMapPrimitive_=void 0;heatMapEntity_=void 0;rectangle_=void 0;url_;vectorSource_=void 0;imageMaterialProperty_=void 0;colorLegendBGDiv=void 0;colorLegendDiv=void 0;colorLegendMaxDiv=void 0;colorLegendMinDiv=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{new Promise(t=>{this.data_=le.cloneDeep(e),t(this.data_)}).then(()=>{this.reDraw()})};reDraw=()=>{let e=this.data_.ID+"-&-ZYWL-&-HeatMap",t=this.data_?.visible??!0;this.createColorLegend();let i=this.data_?.coordinates??[],n=this.data_?.heatDataOptions?.min??1,s=this.data_?.heatDataOptions?.max??10,a=this.data_?.gradient??{".2":"#00FFFF",".4":"#63EB68",".6":"#E2DB1D",".8":"#FF0000"},o=B.getMapEngineInstance(this.containerID_);if(o&&this.containerID_.includes("-cesium")&&new Promise(l=>{let h=i.map(u=>({x:u.longitude,y:u.latitude,value:u.value}));if(h.length){const{container:u,width:f,height:d}=this.createContainer(o);this.bounds_=this.getBounds(h,f/d);let g=[];for(let A in h){const m=h[A],p=(m.x-this.bounds_[0])/(this.bounds_[2]-this.bounds_[0])*f,C=(this.bounds_[3]-m.y)/(this.bounds_[3]-this.bounds_[1])*d,E={x:p,y:C,value:m.value,radius:this.getRadius()};g.push(E)}var c={container:u,radius:this.getRadius(),maxOpacity:1,minOpacity:.1,blur:.85,gradient:a};l({nuConfig:c,datas:g})}}).then(l=>{this.heatMapInstance_||(this.heatMapInstance_=O6e.create(l.nuConfig)),this.heatMapInstance_.setData({max:s,min:n,data:l.datas}),this.createEntity()}),o&&this.containerID_.includes("-openlayers")){let l=B.getMapEngineInstance(this.containerID_),h=B.getOLLayerByID(l,this.dataClass_);new Promise(c=>{let u=[];for(let A in a)a.hasOwnProperty(A)&&u.push([(A*100).toString(),a[A]]);a=le.cloneDeep(u);let f=i.map(A=>{let m=new qc({geometry:new hl(gT([A.longitude,A.latitude]))});return m.setProperties({number:A.value??0},!0),m}),d=1/a.length*100,g=[];for(let A=0;A<a.length;A++)g.push(d*(A+1));a=a.map(A=>A[1]),c({features:f,bisections:g,gradient:a})}).then(c=>{this.vectorSource_||(this.vectorSource_=new WT),this.vectorSource_.clear(),this.vectorSource_.addFeatures(c.features),this.heatMapInstance_?this.heatMapInstance_.setVisible(t):(this.heatMapInstance_=new DFe({source:this.vectorSource_,visible:t,zIndex:2,radius:25,blur:20,properties:{id:e},gradient:c.gradient,weight:function(u){let d=u.getProperties().number,g=0;for(let p=0,C=c.bisections.length;p<C;p++){let E=c.bisections[p];if(d<=E){g=p;break}}let A=0;for(let p=0,C=c.gradient.length;p<C;p++){let E=c.gradient[p][0];if(d<=E){A=p;break}}console.log(g===0?`0~${c.bisections[g]}`:`${c.bisections[g-1]}~${c.bisections[g]}`),console.log(A===0?`0~${c.gradient[A][0]}`:`${c.gradient[A-1][0]}~${c.gradient[A][0]}`);let m=0;return g===A?m=d:m=c.bisections[g-1],m>100?1:m/100}}),h.push(this.heatMapInstance_))})}o&&this.containerID_.includes("-maptalks")&&new Promise(l=>{let h=i.map(c=>[c.longitude,c.latitude,c.value]);h.length&&l({points2D:h})}).then(l=>{this.heatMapInstance_?(this.heatMapInstance_.config("max",s),this.heatMapInstance_.config("gradient",a),this.heatMapInstance_.setData(l.points2D),t?this.heatMapInstance_.show():this.heatMapInstance_.hide()):(this.heatMapInstance_=new l0(e,l.points2D,{visible:t,hitDetect:!1,max:s,radius:30,blur:25,minOpacity:0,gradient:a}),o.addLayer(this.heatMapInstance_)),this.heatMapInstance_.redraw()})};createColorLegend=()=>{let e=this.data_?.colorLegend;if(e){let t=Object.values(this.data_.gradient);t.reverse();let i=this.data_?.heatDataOptions?.min??1,n=this.data_?.heatDataOptions?.max??10,s=e?.show??!1,a=B.getMapEngineInstance(this.containerID_),o;a&&this.containerID_.includes("-cesium")?o=a.container:a&&this.containerID_.includes("-openlayers")?o=a.getTargetElement():a&&this.containerID_.includes("-maptalks")&&(o=a.getContainer()),this.colorLegendBGDiv||(this.colorLegendBGDiv=document.createElement("div"),this.colorLegendBGDiv.style.position="absolute",o.appendChild(this.colorLegendBGDiv)),this.colorLegendMaxDiv||(this.colorLegendMaxDiv=document.createElement("div"),this.colorLegendMaxDiv.style.position="absolute",this.colorLegendBGDiv.appendChild(this.colorLegendMaxDiv)),this.colorLegendMinDiv||(this.colorLegendMinDiv=document.createElement("div"),this.colorLegendMinDiv.style.position="absolute",this.colorLegendBGDiv.appendChild(this.colorLegendMinDiv)),this.colorLegendDiv||(this.colorLegendDiv=document.createElement("div"),this.colorLegendDiv.style.position="absolute",this.colorLegendBGDiv.appendChild(this.colorLegendDiv));let l=e?.width??20,h=e?.height??150,c=e?.left??10,u=e?.bottom??10;this.colorLegendBGDiv&&(this.colorLegendBGDiv.style.left=`${c}px`,this.colorLegendBGDiv.style.bottom=`${40+u}px`,this.colorLegendBGDiv.style.width=`${l}px`,this.colorLegendBGDiv.style.height=`${h}px`),this.colorLegendMaxDiv&&(this.colorLegendMaxDiv.style.left="0px",this.colorLegendMaxDiv.style.top="0px",this.colorLegendMaxDiv.style.width=`${l}px`,this.colorLegendMaxDiv.style.height="12px",this.colorLegendMaxDiv.textContent=`${n}`,this.colorLegendMaxDiv.style.fontSize="8px",this.colorLegendMaxDiv.style.alignContent="center",this.colorLegendMaxDiv.style.textAlign="center"),this.colorLegendMinDiv&&(this.colorLegendMinDiv.style.left="0px",this.colorLegendMinDiv.style.bottom="0px",this.colorLegendMinDiv.style.width=`${l}px`,this.colorLegendMinDiv.style.height="12px",this.colorLegendMinDiv.textContent=`${i}`,this.colorLegendMinDiv.style.fontSize="8px",this.colorLegendMinDiv.style.alignContent="center",this.colorLegendMinDiv.style.textAlign="center"),this.colorLegendDiv&&(this.colorLegendDiv.style.left="0px",this.colorLegendDiv.style.top="12px",this.colorLegendDiv.style.width=`${l}px`,this.colorLegendDiv.style.height=`${h-24}px`,this.colorLegendDiv.style.backgroundImage=`linear-gradient(${t.join(",")})`),s?(this.colorLegendBGDiv.style.display="block",this.colorLegendMaxDiv.style.display="block",this.colorLegendMinDiv.style.display="block",this.colorLegendDiv.style.display="block"):(this.colorLegendBGDiv.style.display="none",this.colorLegendMaxDiv.style.display="none",this.colorLegendMinDiv.style.display="none",this.colorLegendDiv.style.display="none")}else this.clearColorLegend()};getBounds=(e,t)=>{if(e&&e.length){let i=80,n=i/t,s=ki([e[0].x,e[0].y]),a=rs(s,n,0,{units:"kilometers"}),o=rs(s,i,90,{units:"kilometers"}),l=rs(s,n,180,{units:"kilometers"}),h=rs(s,i,-90,{units:"kilometers"}),c=a.geometry.coordinates,u=o.geometry.coordinates,f=l.geometry.coordinates,g=h.geometry.coordinates[0],A=f[1],m=u[0],p=c[1];return[g,A,m,p]}return[73.502355,3.39716187,135.09567,53.563269]};createContainer=e=>{const t=document.getElementById(this.containerID_.split("-cesium")[0]);let i=this.data_.ID+"-&-ZYWL-&-HeatMapHTML",n=document.getElementById(i);n||(n=document.createElement("div"),n.id=i,t.appendChild(n));let s=e.scene.canvas.width,a=e.scene.canvas.height;return n.setAttribute("style",`width:${s}px;height:${a}px;display:none;`),{container:n,width:s,height:a}};updateRadius=()=>{if(this.containerID_.includes("-cesium")&&this.heatMapInstance_){let e=this.heatMapInstance_.getData();for(let t in e.data){const i=e.data[t];i.radius=this.getRadius()}this.heatMapInstance_.setData(e),this.createEntity()}};getRadius=()=>{let e=this.containerID_.split("-cesium")[0],t=B.getZoom(e),i;switch(t){case 25:case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:case 15:i=1;break;case 14:i=3;break;case 13:i=6;break;case 12:i=15;break;case 11:i=20;break;case 10:i=30;break;case 9:i=40;break;default:i=80;break}return i};createEntity=()=>{let e=this.data_.ID+"-&-ZYWL-&-HeatMap",t=this.data_?.visible??!0,i=B.getMapEngineInstance(this.containerID_);this.heatMapInstance_&&(this.url_=this.heatMapInstance_.getDataURL(),this.imageMaterialProperty_||(this.imageMaterialProperty_=new Cesium.ImageMaterialProperty({image:new Cesium.CallbackProperty(()=>this.url_,!0)})),this.rectangle_=Cesium.Rectangle.fromDegrees(...this.bounds_),this.heatMapEntity_?this.heatMapEntity_.show=t:this.heatMapEntity_=i.entities.add({id:e,show:t,rectangle:{coordinates:new Cesium.CallbackProperty(()=>this.rectangle_,!0),material:this.imageMaterialProperty_}}))};clear=()=>{let e=B.getMapEngineInstance(this.containerID_);if(this.heatMapInstance_&&e)if(this.containerID_.includes("-cesium"))this.heatMapInstance_.removeData(),this.heatMapPrimitive_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.add(this.heatMapPrimitive_),this.heatMapEntity_&&e&&e?.entities&&e.entities.remove(this.heatMapEntity_),this.heatMapPrimitive_=void 0,this.heatMapEntity_=void 0;else if(this.containerID_.includes("-openlayers")){if(this.heatMapInstance_){let t=B.getMapEngineInstance(this.containerID_);B.getOLLayerByID(t,this.dataClass_).pop(this.heatMapInstance_)}}else this.containerID_.includes("-maptalks")&&this.heatMapInstance_.remove();this.vectorSource_=void 0,this.heatMapInstance_=void 0,this.clearColorLegend()};clearColorLegend=()=>{let e=B.getMapEngineInstance(this.containerID_),t;e&&this.containerID_.includes("-cesium")?t=e.container:e&&this.containerID_.includes("-openlayers")?t=e.getTargetElement():e&&this.containerID_.includes("-maptalks")&&(t=e.getContainer()),t&&this.colorLegendBGDiv&&t.removeChild(this.colorLegendBGDiv),this.colorLegendMaxDiv&&this.colorLegendBGDiv.removeChild(this.colorLegendMaxDiv),this.colorLegendMinDiv&&this.colorLegendBGDiv.removeChild(this.colorLegendMinDiv),this.colorLegendDiv&&this.colorLegendBGDiv.removeChild(this.colorLegendDiv),this.colorLegendBGDiv=void 0,this.colorLegendMaxDiv=void 0,this.colorLegendMinDiv=void 0,this.colorLegendDiv=void 0}}class Q6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;LineStringGeometryInstance_=void 0;radiusPolylineInstance_=void 0;pointInstance_=void 0;radiusPointInstance_=void 0;radiusLabelInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;radiusCenter_=void 0;radius_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;defaultHeight_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw(),this.reDrawPoints(),this.reDrawRadiusPoint()};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=(e,t)=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;let i=this.data_?.coordinates??[],n=le.cloneDeep(e.coordinate);if(n){n={longitude:n.x,latitude:n.y,altitude:0},this.defaultHeight_&&(n.altitude=this.defaultHeight_);let s=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_){if(t&&t.length){i.length-2;let a=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircleRadius-Point";if(t.find(l=>l?.layer==="ZYWLGIS-GL-Point"||l?.layer==="ZYWLGIS-GL-LineString"||l?.layer==="ZYWLGIS-GL-Polygon"?l.geometry.getId()===a:l.getId()===a)){this.isStartDraw_=!1,this.reDraw(),this.emitGraphChanged("complete"),s.off("mousemove",this.mousemove);return}}}else if(i.length)this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited();else{i.push(le.cloneDeep(n)),this.center_=[i[0].longitude,i[0].latitude],this.radiusCenter_=[le.cloneDeep(n).longitude,le.cloneDeep(n).latitude];let a=ki(this.center_),o=ki(this.radiusCenter_);this.radius_=jn(a,o,{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.isStartDraw_=!0,s.on("mousemove",this.mousemove)}}this.reDraw(),this.reDrawPoints(),this.reDrawRadiusPoint(),this.emitGraphChanged("update")};mousemove=e=>{if(!this.isStartDraw_)return;this.radiusCenter_[0]=e.coordinate.x,this.radiusCenter_[1]=e.coordinate.y;let t=ki(this.center_),i=ki(this.radiusCenter_);this.radius_=jn(t,i,{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw(),this.reDrawRadiusPoint()};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight;let e=this.data_?.coordinates;if(!Array.isArray(e)||Array.isArray(e)&&!e.length){this.clear();return}new Promise(t=>{let i=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircle",n=this.data_?.zIndex??0,s=e[0];if(this.center_=[s.longitude,s.latitude],this.radius_||(this.radius_=this.data_?.symbol?.radius),this.radiusCenter_){if(this.radiusCenter_&&this.center_){let c=ki(this.center_),u=ki(this.radiusCenter_);this.radius_=jn(c,u,{units:"meters"})}}else if(this.radius_){let c=ki(this.center_),u=rs(c,this.radius_,90,{units:"meters"});this.radiusCenter_=u.geometry.coordinates}let a=this.data_?.symbol?.polygonColor??"#f00",o=this.data_?.symbol?.lineWidth??10,l={linePatternFile:this.data_?.symbol?.appearance??B.getCustomNoFlyZoneIcon(),lineWidth:o,polygonFill:a,polygonOpacity:.3},h=new po(this.center_,this.radius_,{id:i,symbol:l});if(window.isGPUSupport){let c=B.getPolygonLayer(this.containerID_),u=h.toGeoJSON().geometry.coordinates[0],f=new or(u,{id:i,symbol:l});t({PolygonLayer:c,radius:this.radius_,position:this.center_,positions:u,symbol:l,zIndex:n,PolygonGeometry:f})}else{let c=B.getVectorLayer(this.containerID_);t({PolygonLayer:c,radius:this.radius_,position:this.center_,symbol:l,zIndex:n,PolygonGeometry:h})}}).then(t=>{this.geometryInstance_?(this.geometryInstance_.updateSymbol(t.symbol),window.isGPUSupport?this.geometryInstance_.setCoordinates(t.positions):(this.geometryInstance_.setCoordinates(this.center_),this.geometryInstance_.setRadius(t.radius))):(this.geometryInstance_=t.PolygonGeometry.addTo(t.PolygonLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("contextmenu",this.geometryContextmenu)),this.geometryInstance_&&(this.geometryInstance_.setZIndex(t.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide()),this.reDrawRadiusPolyline(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};geometryContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw(),this.reDrawPoints(),this.reDrawRadiusPoint()})};reDrawRadiusPolyline=()=>{if(this.visible_&&this.isEditable_&&this.center_&&this.radiusCenter_){let e=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircleRadiusPolyline",t=[this.center_,this.radiusCenter_],i,n;window.isGPUSupport?(i=B.getLineStringLayer(this.containerID_),n=B.getPointLayer(this.containerID_)):(i=B.getVectorLayer(this.containerID_),n=B.getVectorLayer(this.containerID_)),this.radiusPolylineInstance_?(this.radiusPolylineInstance_.setCoordinates(t),this.radiusPolylineInstance_.updateSymbol({lineColor:this.data_?.symbol?.lineColor??"#f00",lineWidth:2})):this.radiusPolylineInstance_=new Sr(t,{id:e,symbol:{lineColor:this.data_?.symbol?.lineColor??"#f00",lineWidth:2}}).addTo(i);let s=ki(this.center_),a=ki(this.radiusCenter_),o=Mh(s,a),h=jn(s,a,{units:"meters"}),c;h>1e3?(h=h/1e3,h=Number(h.toFixed(2)),c=`${h}km`):(h=Number(h.toFixed(2)),c=`${h}m`);let u=this.data_.ID+"-&-ZYWL-&-CustomRadiusLabel",f={textDx:0,textDy:-20,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:c};this.radiusLabelInstance_?(this.radiusLabelInstance_.setCoordinates(o.geometry.coordinates),this.radiusLabelInstance_.updateSymbol(f)):this.radiusLabelInstance_=new Fn(o.geometry.coordinates,{id:u,symbol:{textDx:0,textDy:-20,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:c},draggable:!1,dragShadow:!1,editable:!1}).addTo(n)}else this.clearRadiusPolyline()};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&this.isEditable_&&this.center_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCenter-Point",i={markerType:"ellipse",markerFill:"#fff",markerWidth:15,markerHeight:15,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0};this.pointInstance_=new Fn(this.center_,{id:t,symbol:i,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:10}).addTo(e),this.pointInstance_.on("dragging",this.pointDragging),this.pointInstance_.on("dragend",this.pointDragend),this.pointInstance_.on("contextmenu",this.pointContextmenu)}};pointDragging=e=>{this.center_=[e.coordinate.x,e.coordinate.y];let t=ki(this.center_),i=rs(t,this.radius_,90,{units:"meters"});this.radiusCenter_=i.geometry.coordinates;let n=this.data_.coordinates;n[0].longitude=this.center_[0],n[0].latitude=this.center_[1],n[0].altitude=0,this.defaultHeight_&&(n[0].altitude=this.defaultHeight_),this.reDraw(),this.reDrawRadiusPoint()};pointDragend=e=>{this.emitGraphChanged("update")};pointContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.center_=void 0,this.radiusCenter_=void 0,this.radius_=void 0,this.emitGraphRemoved(),this.reDraw()})};reDrawRadiusPoint=()=>{if(this.clearRadiusPoint(),this.visible_&&this.isEditable_&&this.radiusCenter_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircleRadius-Point",i={markerType:"ellipse",markerFill:"#fff",markerWidth:15,markerHeight:15,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0};this.radiusPointInstance_=new Fn(this.radiusCenter_,{id:t,symbol:i,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:10}).addTo(e),this.radiusPointInstance_.on("dragging",this.radiusPointDragging),this.radiusPointInstance_.on("dragend",this.pointDragend),this.radiusPointInstance_.on("contextmenu",this.pointContextmenu)}};radiusPointDragging=e=>{this.radiusCenter_=[e.coordinate.x,e.coordinate.y];let t=ki(this.center_),i=ki(this.radiusCenter_);this.radius_=jn(t,i,{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw()};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customLabelInstances_){let t=this.customLabelInstances_[0];t.setCoordinates([e.longitude,e.latitude]),t.setContent(e?.customLabel?.content??"")}else{const t=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomLabel-0",e,[e.longitude,e.latitude]);t&&this.customLabelInstances_.push(t)}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){const e=this.data_.coordinates[0];if(this.customHTMLInstances_?.length){let t=this.customHTMLInstances_[0];t.marker.setCoordinates([e.longitude,e.latitude]);let n=e?.customHTML?.presentationMode??0;n===0||n===2?t.infoWindow.hide():t.infoWindow.show()}else{const t=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CustomHTML-0",e,[e.longitude,e.latitude]);t&&(t.presentationMode===0||t.presentationMode===2?t.infoWindow.hide():t.infoWindow.show(),this.customHTMLInstances_.push(t))}}else this.clearCustomHTML()};clear=()=>{this.clearGeometry(),this.clearRadiusPolyline(),this.clearPoints(),this.clearRadiusPoint(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML(),this.center_=void 0,this.radiusCenter_=void 0,this.radius_=void 0};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("contextmenu",this.geometryContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearRadiusPolyline=()=>{this.radiusPolylineInstance_&&(this.radiusPolylineInstance_.remove(),this.radiusPolylineInstance_=void 0),this.radiusLabelInstance_&&(this.radiusLabelInstance_.remove(),this.radiusLabelInstance_=void 0)};clearPoints=()=>{this.pointInstance_&&(this.pointInstance_.off("dragging",this.pointDragging),this.pointInstance_.off("dragend",this.pointDragend),this.pointInstance_.off("contextmenu",this.pointContextmenu),this.pointInstance_.remove(),this.pointInstance_=void 0)};clearRadiusPoint=()=>{this.radiusPointInstance_&&(this.radiusPointInstance_.off("dragging",this.radiusPointDragging),this.radiusPointInstance_.off("dragend",this.pointDragend),this.radiusPointInstance_.off("contextmenu",this.pointContextmenu),this.radiusPointInstance_.remove(),this.radiusPointInstance_=void 0)};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(!this.isEditable_){if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let t=0;t<this.customHTMLInstances_.length;t++)this.customHTMLInstances_[t].presentationMode===2&&this.customHTMLInstances_[t].infoWindow.show();this.isHighlight_&&this.geometryInstance_&&this.geometryInstance_.updateSymbol({linePatternFile:this.data_?.symbol?.highlightAppearance??B.getCustomNoFlyZoneIcon(!0)})}};mouseout=e=>{if(!this.isEditable_){if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let t=0;t<this.customHTMLInstances_.length;t++)this.customHTMLInstances_[t].presentationMode===2&&this.customHTMLInstances_[t].infoWindow.hide();this.isHighlight_&&this.geometryInstance_&&this.geometryInstance_.updateSymbol({linePatternFile:this.data_?.symbol?.appearance??B.getCustomNoFlyZoneIcon()})}}}class F6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryPolylineInstance_=void 0;pointInstances_=[];centerPointInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isCopy_=!1;isStartDraw_=!1;heightMode_=0;defaultHeight_=void 0;nodeMode_="billboard";startCoordinate_=void 0;isDistanceVisible_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw(),this.reDrawPoints()};emitGraphClick=()=>{this.isEditable_&&!window.EditElement||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphNodeClick=e=>{B.emitGraphNodeClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_,index:e}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=(e,t)=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.coordinate)return;let i=this.data_?.coordinates??[],n=le.cloneDeep(e.coordinate);if(n){n={longitude:n.x,latitude:n.y,altitude:0},this.defaultHeight_&&(n.altitude=this.defaultHeight_);let s=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_){if(t&&t.length){let a=i.length-2,o=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon-Point-"+a;if(t.find(h=>h?.layer==="ZYWLGIS-GL-Point"||h?.layer==="ZYWLGIS-GL-LineString"||h?.layer==="ZYWLGIS-GL-Polygon"?h.geometry.getId()===o:h.getId()===o)){this.isStartDraw_=!1,i.splice(i.length-1,1),this.reDraw(),this.reDrawPoints(),this.emitGraphChanged("complete"),s.off("mousemove",this.mousemove);return}}i.push(le.cloneDeep(n))}else if(!i.length)i.push(le.cloneDeep(n)),i.push(le.cloneDeep(n)),this.isStartDraw_=!0,s.on("mousemove",this.mousemove);else if(t&&t.length){let a=!1;for(let o=0;o<t.length;o++){let l=t[o];(l?.layer==="ZYWLGIS-GL-Point"||l?.layer==="ZYWLGIS-GL-LineString"||l?.layer==="ZYWLGIS-GL-Polygon")&&(l=l.geometry);let h=l.getId();if(h.includes("-&-ZYWL-&-CustomGraphicEditingPolygon-CenterPoint-")){a=!0;let c=B.extractionIndex(h),u=l.getCoordinates();if(u){let f={longitude:u.x,latitude:u.y,altitude:0};this.defaultHeight_&&(f.altitude=this.defaultHeight_),i.splice(c+1,0,f),setTimeout(()=>{this.reDrawCustomHTML()},0),this.emitGraphChanged("update"),this.reDraw(),this.reDrawPoints();break}}}a||(this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited());return}else this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited()}this.reDraw(),this.reDrawPoints(),this.emitGraphChanged("update")};mousemove=e=>{if(!this.isStartDraw_)return;let t=this.data_?.coordinates;t[t.length-1].longitude=e.coordinate.x,t[t.length-1].latitude=e.coordinate.y,this.defaultHeight_?t[t.length-1].altitude=this.defaultHeight_:t[t.length-1].altitude=e.coordinate.z,this.reDraw()};reDraw=()=>{this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isDelete_=this.data_?.isDelete??!1,this.isCopy_=this.data_?.isCopy??!1,this.heightMode_=this.data_?.heightMode??1,this.defaultHeight_=this.data_?.defaultHeight??1,this.nodeMode_=this.data_?.nodeMode??"billboard",new Promise(e=>{let t=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon",i=this.data_?.coordinates;if(Array.isArray(i)&&i.length){let n=this.data_?.zIndex??0,s=i.map(u=>[u.longitude,u.latitude]),a=this.data_?.symbol?.polygonColor??"#f00",o=this.data_?.symbol?.lineWidth??10,l={linePatternFile:this.data_?.symbol?.appearance??B.getCustomNoFlyZoneIcon(),lineWidth:o,polygonFill:a,polygonOpacity:.3},h=new or(s,{id:t,symbol:l}),c;window.isGPUSupport?c=B.getPolygonLayer(this.containerID_):c=B.getVectorLayer(this.containerID_),e({positions:s,symbol:l,zIndex:n,coordinates:i,PolygonLayer:c,PolygonGeometry:h})}else e({coordinates:void 0})}).then(e=>{if(Array.isArray(e.coordinates)&&e.coordinates.length){let t=bh(e.positions),i=Pf(t);this.center_=i.geometry.coordinates,this.geometryInstance_||(this.geometryInstance_=e.PolygonGeometry.addTo(e.PolygonLayer),this.geometryInstance_.on("mouseover",this.mouseover),this.geometryInstance_.on("mouseout",this.mouseout),this.geometryInstance_.on("click",this.emitGraphClick),this.geometryInstance_.on("contextmenu",this.geometryContextmenu)),this.geometryInstance_.setCoordinates(e.positions),this.geometryInstance_.updateSymbol(e.symbol),this.geometryInstance_.setZIndex(e.zIndex),this.visible_?this.geometryInstance_.show():this.geometryInstance_.hide()}else this.clearGeometry();this.reDrawCenterPoints(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()})};geometryContextmenu=e=>{let t=this.containerID_.split("-maptalks")[0];B.getMenu(t,e.containerPoint,"删除图形",this.isDelete_,()=>{B.removeMenu(t),this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw(),this.reDrawPoints()})};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&this.isEditable_){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_?.coordinates,i=this.data_?.zIndex??0;if(Array.isArray(t))for(let n=0;n<t.length;n++){let s=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon-Point-"+n,a=t[n],o=a?.symbol;o||(o=this.data_?.symbol);let l;if(this.nodeMode_==="point"){if(this.isStartDraw_&&n===t.length-1)break;let u=20,f="#fff";o&&(u=o?.pixelSize??20,f=o?.pointColor??"#fff"),l={markerType:"ellipse",markerFill:f,markerWidth:u,markerHeight:u,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:0}}else{let u=B.getDrawPointIcon(!1),f=15,d=15,g=0,A=0;if(o&&(u=o?.image??B.getDrawPointIcon(!1),f=o?.markerWidth??15,d=o?.markerHeight??15,g=o?.markerDx??0,A=o?.markerDy??0),this.isStartDraw_){if(n===t.length-1)break;t.length>2&&n===t.length-2&&(u=B.getDrawPointIcon(!0))}l={markerFile:u,markerWidth:f,markerHeight:d,markerDx:g,markerDy:A,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle"}}let h=[a.longitude,a.latitude],c=new Fn(h,{id:s,symbol:l,draggable:this.isEditable_,dragShadow:!1,editable:!1,zIndex:i+1}).addTo(e);c.on("dragging",this.pointDragging),c.on("dragend",this.pointDragend),c.on("click",this.pointClick),c.on("contextmenu",this.pointContextmenu),this.pointInstances_.push({ID:s,index:n,point:c})}}};pointDragging=e=>{let i=e.target.getId(),n=B.extractionIndex(i),s=this.data_.coordinates;s[n].longitude=e.coordinate.x,s[n].latitude=e.coordinate.y,s[n].altitude=0,this.defaultHeight_&&(s[n].altitude=this.defaultHeight_),this.reDraw()};pointDragend=e=>{let i=e.target.getId(),n=B.extractionIndex(i);this.emitGraphChanged("update",n)};pointClick=e=>{if(this.isStartDraw_)return;let i=e.target.getId(),n=B.extractionIndex(i);this.emitGraphNodeClick(n)};pointContextmenu=e=>{if(this.data_.coordinates.length<=3)return;let t=e.target,i=t.getId(),n=B.extractionIndex(i),s=this.containerID_.split("-maptalks")[0];B.getMenu(s,e.containerPoint,"删除端点",this.isDelete_,()=>{B.removeMenu(s),this.data_.coordinates.splice(n,1),this.pointInstances_.splice(n,1),t.remove(),this.emitGraphChanged("delete",n),this.reDraw()},this.isCopy_,()=>{B.removeMenu(s),this.emitGraphChanged("copy",n)},!1)};reDrawCenterPoints=()=>{if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)){let e;window.isGPUSupport?e=B.getPointLayer(this.containerID_):e=B.getVectorLayer(this.containerID_);let t=this.data_?.coordinates;if(t?.length!==this.centerPointInstances_?.length&&this.clearCenterPoints(),t&&t.length>=2)for(let i=0;i<t.length;i++){let n=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon-CenterPoint-"+i,s,a;i===t.length-1?(s=t[i],a=t[0]):(s=t[i],a=t[i+1]);let o=ki([s.longitude,s.latitude]),l=ki([a.longitude,a.latitude]),h=Mh(o,l),u=jn(o,l,{units:"meters"}),f;u>1e3?(u=u/1e3,u=Number(u.toFixed(2)),f=`${u}km`):(u=Number(u.toFixed(2)),f=`${u}m`);let d;!this.isStartDraw_&&this.isEditable_?d={markerType:"ellipse",markerFill:"#fff",markerWidth:12,markerHeight:12,markerHorizontalAlignment:"middle",markerVerticalAlignment:"middle",markerLineWidth:1,markerLineColor:"#000",textDx:0,textDy:-24,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:f}:d={textDx:0,textDy:0,textHorizontalAlignment:"middle",textVerticalAlignment:"bottom",textFaceName:"sans-serif",textSize:12,textFill:"#34495e",textHaloFill:"#fff",textHaloRadius:2,textName:f};let g=this.centerPointInstances_.find(A=>A.ID===n);if(g)g.point.setCoordinates(h.geometry.coordinates),g.point.updateSymbol(d);else{let A=new Fn(h.geometry.coordinates,{id:n,symbol:d,draggable:!1,dragShadow:!1,editable:!1}).addTo(e);this.centerPointInstances_.push({ID:n,index:i,point:A})}}}else this.clearCenterPoints()};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;this.visible_&&e?this.centerLabelInstance_?(this.centerLabelInstance_.setCoordinates(this.center_),this.centerLabelInstance_.setContent(e?.content??"")):this.centerLabelInstance_=B.reDrawLabel(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterLabel-0",this.data_,this.center_):this.clearCenterLabel()};reDrawCenterHTML=()=>{let e=this.data_?.customHTML;if(this.visible_&&e)if(!this.centerHTMLInstance_)this.centerHTMLInstance_=B.reDrawHTML(this.containerID_,this.data_.ID+"-&-ZYWL-&-CenterHTML-0",this.data_,this.center_),this.centerHTMLInstance_&&(this.centerHTMLInstance_.presentationMode===0||this.centerHTMLInstance_.presentationMode===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show());else{let t=e?.presentationMode??0;this.centerHTMLInstance_.marker.setCoordinates(this.center_),t===0||t===2?this.centerHTMLInstance_.infoWindow.hide():this.centerHTMLInstance_.infoWindow.show()}else this.clearCenterHTML()};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates?.length!==this.customLabelInstances_?.length&&this.clearCustomLabel();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+e,n=this.customLabelInstances_.find(s=>s.getId()===i);n?(n.setCoordinates([t.longitude,t.latitude]),n.setContent(t?.customLabel?.content??"")):(n=B.reDrawLabel(this.containerID_,i,t,[t.longitude,t.latitude]),n&&this.customLabelInstances_.push(n))}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.visible_&&Array.isArray(this.data_?.coordinates)&&this.data_?.coordinates.length){this.data_?.coordinates.length!==this.customHTMLInstances_?.length&&this.clearCustomHTML();for(let e=0;e<this.data_.coordinates.length;e++){const t=this.data_.coordinates[e];let i=this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,n=this.customHTMLInstances_.find(s=>s.marker.getId()===i);if(!n)n=B.reDrawHTML(this.containerID_,i,t,[t.longitude,t.latitude]),n&&(n.presentationMode===0||n.presentationMode===2?n.infoWindow.hide():n.infoWindow.show(),this.customHTMLInstances_.push(n));else{let a=t?.customHTML?.presentationMode??0;n.marker.setCoordinates([t.longitude,t.latitude]),a===0||a===2?n.infoWindow.hide():n.infoWindow.show()}}}else this.clearCustomHTML()};clear=()=>{B.recoverCursor(this.containerID_,"custom-cursor"),this.clearGeometry(),this.clearPolyline(),this.clearPoints(),this.clearCenterPoints(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearGeometry=()=>{this.geometryInstance_&&(this.geometryInstance_.off("mouseover",this.mouseover),this.geometryInstance_.off("mouseout",this.mouseout),this.geometryInstance_.off("click",this.emitGraphClick),this.geometryInstance_.off("contextmenu",this.geometryContextmenu),this.geometryInstance_.removeInfoWindow(),this.geometryInstance_.remove()),this.geometryInstance_=void 0};clearPolyline=()=>{this.geometryPolylineInstance_&&this.geometryPolylineInstance_.clear(),this.geometryPolylineInstance_=void 0};clearPoints=()=>{for(let e=0;e<this.pointInstances_.length;e++){let t=this.pointInstances_[e];t.point.off("dragging",this.pointDragging),t.point.off("dragend",this.pointDragend),t.point.off("click",this.pointClick),t.point.off("contextmenu",this.pointContextmenu),t.point.remove()}this.pointInstances_=[]};clearCenterPoints=()=>{for(let e=0;e<this.centerPointInstances_.length;e++)this.centerPointInstances_[e].point.remove();this.centerPointInstances_=[]};clearCenterLabel=()=>{this.centerLabelInstance_&&this.centerLabelInstance_.remove(),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&(this.centerHTMLInstance_.infoWindow.remove(),this.centerHTMLInstance_.marker.remove()),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{if(this.customLabelInstances_)for(let e=0;e<this.customLabelInstances_.length;e++)this.customLabelInstances_[e].remove();this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].infoWindow.remove(),this.customHTMLInstances_[e].marker.remove();this.customHTMLInstances_=[]};mouseover=e=>{if(!this.isEditable_){if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.show(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let t=0;t<this.customHTMLInstances_.length;t++)this.customHTMLInstances_[t].presentationMode===2&&this.customHTMLInstances_[t].infoWindow.show();this.isHighlight_&&this.geometryInstance_&&this.geometryInstance_.updateSymbol({linePatternFile:this.data_?.symbol?.highlightAppearance??B.getCustomNoFlyZoneIcon(!0)})}};mouseout=e=>{if(!this.isEditable_){if(this.centerHTMLInstance_&&this.centerHTMLInstance_.presentationMode===2&&this.centerHTMLInstance_.infoWindow.hide(),this.customHTMLInstances_&&this.customHTMLInstances_.length)for(let t=0;t<this.customHTMLInstances_.length;t++)this.customHTMLInstances_[t].presentationMode===2&&this.customHTMLInstances_[t].infoWindow.hide();this.isHighlight_&&this.geometryInstance_&&this.geometryInstance_.updateSymbol({linePatternFile:this.data_?.symbol?.appearance??B.getCustomNoFlyZoneIcon()})}}}class N6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;visible_=!0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};reDraw=()=>{let e=this.data_.ID;this.visible_=this.data_?.visible??!0;let t=B.getMapEngineInstance(this.containerID_),i=this.data_?.coordinates;if(t&&i&&i.length){let n=B.getImageLayer(this.containerID_),s=B.computationBoundaryCoordinate(i),a=n.getImages(),o=a.findIndex(l=>l.id===e+"-&-ZYWL-&-PhotoPresentation");if(o===-1){let l=this.data_.url,h={id:e+"-&-ZYWL-&-PhotoPresentation",url:l,extent:new er(...s),opacity:1};a.push(h),n.setImages(a)}else{let l=a[o];this.visible_?l.opacity=1:l.opacity=0,n.setImages(a)}}};clear=()=>{let e=B.getImageLayer(this.containerID_);if(e){let t=this.data_.ID,i=e.getImages(),n=i.findIndex(s=>s.id===t+"-&-ZYWL-&-PhotoPresentation");n!==-1&&(i.splice(n,1),e.setImages(i))}}}class H6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;displayGeometryInstance_=void 0;displayGeometryOutlineInstance_=void 0;options_=void 0;outlineOptions_=void 0;highlightOutlinePrimitive_=void 0;radiusPolylineInstance_=void 0;radiusLabelInstance_=void 0;pointInstance_=void 0;radiusPointInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;radiusCenter_=void 0;radius_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;defaultHeight_=void 0;polylineAppearance=void 0;polylineHighlightAppearance=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMoveStartDraw=e=>{if(this.isStartDraw_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(t,e.endPosition,this.classificationType_).then(n=>{this.handleMoveStartDrawPosition(n)});return}let i=B.getClampToGroundPosition(t,e.endPosition,this.isClampToGround_,this.radiusCenter_,void 0,void 0,!1);this.handleMoveStartDrawPosition(i)}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||this.isStartDraw_)&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(i,e.endPosition,this.classificationType_).then(s=>{this.handleMovePosition(s,t)});return}let n=B.getClampToGroundPosition(i,e.endPosition,this.isClampToGround_,this.data_.coordinates[0],void 0,void 0,!1);this.handleMovePosition(n,t)}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=t.scene.pick(e.position),s=le.cloneDeep(i.coordinate);if(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(s.altitude+=this.defaultHeight_),this.isStartDraw_){if(n&&typeof n.id=="string"){let a=n.id;if(n.primitive instanceof Cesium.PointPrimitive&&a.includes("-&-ZYWL-&-CustomGraphicEditingCircleRadius-Point")){this.isStartDraw_=!1,this.screenSpaceHandler_&&(this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0),this.reDraw(),this.emitGraphChanged("complete");return}}}else if(this.data_.coordinates.length){this.isEditable_=!1,this.emitGraphEdited();return}else{this.data_.coordinates.push(le.cloneDeep(s)),this.center_=B.transformCartesian3(this.data_.coordinates[0]),this.radiusCenter_=B.transformCartesian3(this.data_.coordinates[0]);let a=B.transformCoordinate(this.center_),o=B.transformCoordinate(this.radiusCenter_);this.radius_=jn(ki([a.longitude,a.latitude]),ki([o.longitude,o.latitude]),{units:"meters"}),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(this.mouseMoveStartDraw,Cesium.ScreenSpaceEventType.MOUSE_MOVE)}this.reDraw(),this.emitGraphChanged("update")}};handleMoveStartDrawPosition=e=>{e&&e.coordinate&&(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(e.coordinate.altitude+=this.defaultHeight_),this.radiusCenter_=B.transformCartesian3(e.coordinate),this.radius_=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw())};handleMovePosition=(e,t)=>{if(e&&e.coordinate){if(t===0)this.data_.coordinates[0].longitude=e.coordinate.longitude,this.data_.coordinates[0].latitude=e.coordinate.latitude,this.data_.coordinates[0].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[0].altitude+=this.defaultHeight_),this.center_=e.cartesian3,this.radiusCenter_=B.offsetHeadingPitch2Position(this.center_,90,0,this.radius_).cartesian3;else if(t===1){this.radiusCenter_=e.cartesian3;let i=B.transformCoordinate(this.center_),n=B.transformCoordinate(this.radiusCenter_);this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(i.altitude+=this.defaultHeight_,n.altitude+=this.defaultHeight_),this.radius_=jn(ki([i.longitude,i.latitude]),ki([n.longitude,n.latitude]),{units:"meters"})}this.reDraw()}};mouseRightClick=e=>{this.isDelete_&&(this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw())};async reDraw(){if(this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}this.radius_||(this.radius_=this.data_?.symbol?.radius??.01);const e=B.getMapEngineInstance(this.containerID_),t=this.data_.coordinates[0];let i;this.isClampToGround_&&!this.isClampTo3DTILE_?i=(await B.getTerrainHeight(e,t)).position:i=B.transformCartesian3(t),this.center_=i,!this.radiusCenter_&&this.radius_&&(this.radiusCenter_=B.offsetHeadingPitch2Position(this.center_,90,0,this.radius_).cartesian3),this.isEditable_&&this.clearGeometry(),this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polygon",isClampToGround:this.isClampToGround_||this.isClampTo3DTILE_},this.outlineOptions_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:this.isClampToGround_||this.isClampTo3DTILE_},this.createPrimitive(e,t),this.reDrawRadiusPolyline(),this.reDrawRadiusLabel(),this.reDrawCenterPoint(),this.reDrawRadiusPoint(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=(e,t)=>{const i=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircle",n=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircleOutline",s=t?.altitude??100,a=this.data_?.symbol?.lineWidth??8;let o=Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#f00"),.3);const l=B.getCircleOutlinePositions(this.center_,this.radius_,s),h=this.data_?.symbol?.appearance??B.getCustomNoFlyZoneIcon(),c=this.data_?.symbol?.appearanceDash??10;this.polylineAppearance?(this.polylineAppearance.material.uniforms.image=h,this.polylineAppearance.material.uniforms.dashLength=c):this.polylineAppearance=B.getCustomAppearance(h,c);const u=this.data_?.symbol?.highlightAppearance??B.getCustomNoFlyZoneIcon(!0),f=this.data_?.symbol?.highlightAppearanceDash?this.data_?.symbol?.highlightAppearanceDash:c||10;if(this.polylineHighlightAppearance?(this.polylineHighlightAppearance.material.uniforms.image=u,this.polylineHighlightAppearance.material.uniforms.dashLength=f):this.polylineHighlightAppearance=B.getCustomAppearance(u,f),l.length)if(this.isEditable_){this.clearDisplayGeometry();const p=e.scene.primitives,C=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:o}}})});var A,m;const E=new Cesium.GeometryInstance({id:i,geometry:new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(l),perPositionHeight:!0})});if(this.isClampToGround_||this.isClampTo3DTILE_?A=new Cesium.GroundPrimitive({geometryInstances:E,appearance:C,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):A=new Cesium.Primitive({geometryInstances:E,appearance:C,show:this.visible_,asynchronous:!1}),this.isClampToGround_||this.isClampTo3DTILE_){const x=new Cesium.GeometryInstance({id:n,geometry:new Cesium.GroundPolylineGeometry({positions:l,width:a})});m=new Cesium.GroundPolylinePrimitive({geometryInstances:x,appearance:this.polylineAppearance,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN})}else{const x=new Cesium.GeometryInstance({id:n,geometry:new Cesium.PolylineGeometry({positions:l,width:a})});m=new Cesium.Primitive({geometryInstances:x,appearance:this.polylineAppearance,show:this.visible_,asynchronous:!1})}this.geometryInstance_&&p.remove(this.geometryInstance_),A&&(this.geometryInstance_=p.add(A)),this.geometryOutlineInstance_&&p.remove(this.geometryOutlineInstance_),m&&(this.geometryOutlineInstance_=p.add(m))}else{this.clearGeometry(),o=Cesium.ColorGeometryInstanceAttribute.fromColor(o);const p=new Cesium.ShowGeometryInstanceAttribute(this.visible_),C=B.getGeometryInstances(this.options_);var d;if(this.isClampToGround_||this.isClampTo3DTILE_?d=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(l),perPositionHeight:!1}):d=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(l),perPositionHeight:!0}),!this.displayGeometryInstance_)this.displayGeometryInstance_=new Cesium.GeometryInstance({id:i,geometry:d,attributes:{color:o,show:p}}),C.push(this.displayGeometryInstance_);else{this.displayGeometryInstance_.geometry=d,this.displayGeometryInstance_.attributes.color=o,this.displayGeometryInstance_.attributes.show=p;const x=C.findIndex(w=>w.id===this.displayGeometryInstance_.id);x!==-1&&(C[x]=this.displayGeometryInstance_)}const E=B.getGeometryInstances(this.outlineOptions_);var g;if(this.isClampToGround_?g=new Cesium.GroundPolylineGeometry({positions:l,width:a}):g=new Cesium.PolylineGeometry({positions:l,width:a}),!this.displayGeometryOutlineInstance_)this.displayGeometryOutlineInstance_=new Cesium.GeometryInstance({id:n,geometry:g,attributes:{show:p}}),E.push(this.displayGeometryOutlineInstance_);else{this.displayGeometryOutlineInstance_.geometry=g,this.displayGeometryOutlineInstance_.attributes.show=p;const x=E.findIndex(w=>w.id===this.displayGeometryOutlineInstance_.id);x!==-1&&(E[x]=this.displayGeometryOutlineInstance_)}this.updatePrimitive(C,E)}};reDrawRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);if(e){this.clearRadiusPolyline();let t=this.data_?.coordinates;if(this.center_&&this.radiusCenter_&&this.isEditable_&&t&&t.length){let i=this.data_.ID;if(!this.radiusPolylineInstance_){let n;this.isClampToGround_||this.isClampTo3DTILE_?n=new Cesium.GroundPolylineGeometry({positions:[this.center_,this.radiusCenter_],width:2}):n=new Cesium.PolylineGeometry({positions:[this.center_,this.radiusCenter_],width:2,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND});let s=new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-CustomGraphicEditingCircleRadiusPolyline",geometry:n}),a;this.isClampToGround_||this.isClampTo3DTILE_?(a=new Cesium.GroundPolylinePrimitive({geometryInstances:s,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#f00")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}),this.radiusPolylineInstance_=e.scene.groundPrimitives.add(a)):(a=new Cesium.Primitive({geometryInstances:s,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#f00")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1}),this.radiusPolylineInstance_=e.scene.primitives.add(a))}}}};reDrawRadiusLabel=()=>{this.clearRadiusLabel();const e=this.data_.ID+"-&-ZYWL-&-RadiusLabel",t=this.data_?.coordinates;if(this.center_&&this.radiusCenter_&&this.isEditable_&&t&&t.length){let i=Cesium.Cartesian3.midpoint(this.center_,this.radiusCenter_,new Cesium.Cartesian3),n=B.transformCoordinate(this.center_),s=B.transformCoordinate(this.radiusCenter_),a=jn(ki([n.longitude,n.latitude]),ki([s.longitude,s.latitude]),{units:"meters"});this.radius_&&(a=le.cloneDeep(this.radius_));let o;a>1e3?(a=a/1e3,a=Number(a.toFixed(2)),o=`${a}km`):(a=Number(a.toFixed(2)),o=`${a}m`),this.radiusLabelInstance_=new xn(this.containerID_),this.radiusLabelInstance_.DataProcessing({ID:e,center:i,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${o}</div>`,dx:0,dy:0,presentationMode:a<1?0:1}})}};reDrawCenterPoint=()=>{this.clearCenterPoint();let e=this.data_?.coordinates;if(this.center_&&this.isEditable_&&e&&e.length){let t=B.getPointPrimitiveCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircleCenter-Point";this.pointInstance_||(this.pointInstance_=t.add(new Cesium.PointPrimitive({position:this.center_,id:i,show:this.visible_,color:Cesium.Color.WHITE,pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})))}};reDrawRadiusPoint=()=>{this.clearRadiusPoint();let e=this.data_?.coordinates;if(this.radiusCenter_&&this.isEditable_&&e&&e.length){let t=B.getPointPrimitiveCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingCircleRadius-Point";this.radiusPointInstance_||(this.radiusPointInstance_=t.add(new Cesium.PointPrimitive({position:this.radiusCenter_,id:i,show:this.visible_,color:Cesium.Color.WHITE,pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})))}};reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let e=B.getLabelCollection(this.containerID_),i=this.data_.coordinates[0]?.customLabel;if(i){let n=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",s=i?.show??!1,a=i?.content??"",o=i?.showBackground??!1,l=i?.dx??0,h=i?.dy??0,c=this.customLabelInstances_.find(u=>u.ID===n);if(c)c.primitive.position=this.center_,c.primitive.show=s,c.primitive.text=a,c.primitive.showBackground=o,c.primitive.pixelOffset=new Cesium.Cartesian2(l,h),c.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let u=e.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:n,index:0,primitive:u})}}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&this.center_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=this.data_.coordinates[0]?.customHTML;if(t){let i=new xn(this.containerID_);i.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:t}),this.customHTMLInstances_.push(i)}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||this.isEditable_||(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearDisplayGeometry(),this.clearRadiusPolyline(),this.clearRadiusLabel(),this.clearCenterPoint(),this.clearRadiusPoint(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{const e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearDisplayGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.displayGeometryInstance_){const o=e.findIndex(l=>l.id===this.displayGeometryInstance_.id);o!==-1&&(e.splice(o,1),t=!0)}var i;this.outlineOptions_&&(i=B.getGeometryInstances(this.outlineOptions_));var n=!1;if(this.displayGeometryOutlineInstance_){const o=i.findIndex(l=>l.id===this.displayGeometryOutlineInstance_.id);o!==-1&&(i.splice(o,1),n=!0)}t&&n&&this.updatePrimitive(e,i),this.displayGeometryInstance_=void 0,this.displayGeometryOutlineInstance_=void 0;const a=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightOutlinePrimitive_&&a.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0};clearRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);this.radiusPolylineInstance_&&e&&e?.scene&&e?.scene?.primitives&&(this.isClampToGround_||this.isClampTo3DTILE_?e.scene.groundPrimitives.remove(this.radiusPolylineInstance_):e.scene.primitives.remove(this.radiusPolylineInstance_)),this.radiusPolylineInstance_=void 0};clearRadiusLabel=()=>{this.radiusLabelInstance_&&this.radiusLabelInstance_.clear(),this.radiusLabelInstance_=void 0};clearCenterPoint=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.pointInstance_&&e&&e.remove(this.pointInstance_),this.pointInstance_=void 0};clearRadiusPoint=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.radiusPointInstance_&&e&&e.remove(this.radiusPointInstance_),this.radiusPointInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=(e,t)=>{const n=B.getMapEngineInstance(this.containerID_).scene.primitives;var s;this.options_&&(s=B.getGeometryPrimitive(this.options_)),s&&(n.remove(s),B.removeGeometryPrimitive(this.options_));var a;this.outlineOptions_&&(a=B.getGeometryPrimitive(this.outlineOptions_)),a&&(n.remove(a),B.removeGeometryPrimitive(this.outlineOptions_)),e?.length&&this.options_&&(this.isClampToGround_||this.isClampTo3DTILE_?s=new Cesium.GroundPrimitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):s=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(s),this.options_.primitive=s,B.addGeometryPrimitive(this.options_)),t?.length&&this.outlineOptions_&&(this.isClampToGround_||this.isClampTo3DTILE_?a=new Cesium.GroundPolylinePrimitive({geometryInstances:t,appearance:this.polylineAppearance?this.polylineAppearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):a=new Cesium.Primitive({geometryInstances:t,appearance:this.polylineAppearance?this.polylineAppearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(a),this.outlineOptions_.primitive=a,B.addGeometryPrimitive(this.outlineOptions_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightOutlinePrimitive_&&i.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0,e&&(this.isClampToGround_||this.isClampTo3DTILE_?this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.GroundPolylinePrimitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:this.polylineHighlightAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}))):this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:this.polylineHighlightAppearance,asynchronous:!1,releaseGeometryInstances:!1}))))}}class G6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;displayGeometryInstance_=void 0;displayGeometryOutlineInstance_=void 0;options_=void 0;outlineOptions_=void 0;highlightOutlinePrimitive_=void 0;primitiveInstances_=[];pointInstances_=[];distanceLabelInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;isClampTo3DTILE_=!1;classificationType_;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;defaultHeight_=void 0;nodeMode_="billboard";positions_=[];isDistanceVisible_=!1;polylineAppearance=void 0;polylineHighlightAppearance=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.position,this.classificationType_).then(i=>{this.handleClickPosition(e,t,i)})};mouseMoveStartDraw=e=>{if(this.isStartDraw_&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let t=B.getMapEngineInstance(this.containerID_);B.pickPosition(t,e.endPosition,this.classificationType_).then(i=>{this.handleMoveStartDrawPosition(i)})}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||this.isStartDraw_)&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.isClampTo3DTILE_){B.pickPosition(i,e.endPosition,this.classificationType_).then(n=>{this.handleMovePosition(n,t)});return}B.getClampToGroundPositionCallBack(i,e.endPosition,this.isClampToGround_,this.data_.coordinates[t],void 0,void 0,n=>{this.handleMovePosition(n,t)})}};handleClickPosition=(e,t,i)=>{if(i&&i.coordinate){let n=t.scene.pick(e.position),s=this.data_?.coordinates??[],a=le.cloneDeep(i.coordinate);if(this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(a.altitude+=this.defaultHeight_),this.isStartDraw_){if(n&&(console.log(n),typeof n.id=="string")){let o=n.id;if((n.primitive instanceof Cesium.Billboard||n.primitive instanceof Cesium.PointPrimitive)&&o.includes("-&-ZYWL-&-CustomGraphicEditingPolygon-Point-")&&Number(o.split("-&-ZYWL-&-CustomGraphicEditingPolygon-Point-")[1])===s.length-2){s.length>3&&(this.isStartDraw_=!1,s.splice(s.length-1,1),this.screenSpaceHandler_&&(this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0),this.reDraw(),this.emitGraphChanged("complete"));return}}s.push(le.cloneDeep(a))}else if(!s.length)s.push(le.cloneDeep(a)),s.push(le.cloneDeep(a)),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(this.mouseMoveStartDraw,Cesium.ScreenSpaceEventType.MOUSE_MOVE);else if(n&&typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&n.id.includes("-&-ZYWL-&-CustomGraphicEditingPolygon-CenterPoint-")){let o=B.extractionIndex(n.id),l=n.primitive.position;l&&(s.splice(o+1,0,B.transformCoordinate(l)),setTimeout(()=>{this.reDrawCustomHTML()},0))}else{this.isEditable_=!1,this.emitGraphEdited();return}this.reDraw(),this.emitGraphChanged("update")}};handleMoveStartDrawPosition=e=>{e&&e.coordinate&&(this.data_.coordinates[this.data_.coordinates.length-1].longitude=e.coordinate.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=e.coordinate.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[this.data_.coordinates.length-1].altitude+=this.defaultHeight_),this.reDraw())};handleMovePosition=(e,t)=>{e&&e.coordinate&&(this.data_.coordinates[t].longitude=e.coordinate.longitude,this.data_.coordinates[t].latitude=e.coordinate.latitude,this.data_.coordinates[t].altitude=e.coordinate.altitude,this.defaultHeight_&&!this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.data_.coordinates[t].altitude+=this.defaultHeight_),this.reDraw())};mouseRightClick=e=>{this.isDelete_&&(e!==void 0?(this.data_.coordinates.splice(e,1),this.emitGraphChanged("delete",e)):(this.data_.coordinates=[],this.emitGraphRemoved()),this.clearDistanceLabels(),this.reDraw())};async reDraw(){if(this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isClampTo3DTILE_=this.data_?.isClampTo3DTILE??!1,this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.BOTH:!this.isClampToGround_&&this.isClampTo3DTILE_?this.classificationType_=Cesium.ClassificationType.CESIUM_3D_TILE:this.isClampToGround_&&!this.isClampTo3DTILE_&&(this.classificationType_=Cesium.ClassificationType.TERRAIN),this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,this.nodeMode_=this.data_?.nodeMode??"billboard",!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}const e=B.getMapEngineInstance(this.containerID_);if(this.positions_=[],this.isClampToGround_&&!this.isClampTo3DTILE_){const t=await B.getTerrainHeights(e,this.data_.coordinates);this.positions_=le.cloneDeep(t.positions)}else for(const t of this.data_.coordinates)this.positions_.push(B.transformCartesian3(t));this.positions_.length>1?this.center_=Cesium.Cartesian3.divideByScalar(this.positions_.reduce((t,i)=>Cesium.Cartesian3.add(t,i,new Cesium.Cartesian3)),this.positions_.length,new Cesium.Cartesian3):this.positions_.length===1&&(this.center_=this.positions_[0]),this.isEditable_&&this.clearGeometry(),this.options_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polygon",isClampToGround:le.cloneDeep(this.isClampToGround_)?le.cloneDeep(this.isClampToGround_):le.cloneDeep(this.isClampTo3DTILE_)},this.outlineOptions_={containerID:this.containerID_,dataType:this.dataClass_,geometryType:"polyline",isClampToGround:le.cloneDeep(this.isClampToGround_)?le.cloneDeep(this.isClampToGround_):le.cloneDeep(this.isClampTo3DTILE_)},this.positions_.length>1&&this.createPrimitive(e,this.positions_),this.reDrawPoints(),this.reDrawCenterPoints(this.positions_),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}createPrimitive=(e,t)=>{const i=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon",n=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygonOutline",s=this.data_?.symbol?.lineWidth??8;let a=Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#f00"),.3);const o=le.cloneDeep(t);o.push(o[0]);const l=this.data_?.symbol?.appearance??B.getCustomNoFlyZoneIcon(),h=this.data_?.symbol?.appearanceDash??10;this.polylineAppearance?(this.polylineAppearance.material.uniforms.image=l,this.polylineAppearance.material.uniforms.dashLength=h):this.polylineAppearance=B.getCustomAppearance(l,h);const c=this.data_?.symbol?.highlightAppearance??B.getCustomNoFlyZoneIcon(!0),u=this.data_?.symbol?.highlightAppearanceDash?this.data_?.symbol?.highlightAppearanceDash:h||10;this.polylineHighlightAppearance?(this.polylineHighlightAppearance.material.uniforms.image=c,this.polylineHighlightAppearance.material.uniforms.dashLength=u):this.polylineHighlightAppearance=B.getCustomAppearance(c,u);const f=e.scene.primitives;if(this.isEditable_){this.clearDisplayGeometry();var A,m;if(t.length>2){const p=new Cesium.MaterialAppearance({flat:!0,material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:a}}})}),C=new Cesium.GeometryInstance({id:i,geometry:new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!0})});this.isClampToGround_||this.isClampTo3DTILE_?A=new Cesium.GroundPrimitive({geometryInstances:C,appearance:p,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):A=new Cesium.Primitive({geometryInstances:C,appearance:p,show:this.visible_,asynchronous:!1})}if(this.isClampToGround_||this.isClampTo3DTILE_){const p=new Cesium.GeometryInstance({id:n,geometry:new Cesium.GroundPolylineGeometry({positions:o,width:s})});m=new Cesium.GroundPolylinePrimitive({geometryInstances:p,appearance:this.polylineAppearance,show:this.visible_,asynchronous:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN})}else{const p=new Cesium.GeometryInstance({id:n,geometry:new Cesium.PolylineGeometry({positions:o,width:s})});m=new Cesium.Primitive({geometryInstances:p,appearance:this.polylineAppearance,show:this.visible_,asynchronous:!1})}this.geometryInstance_&&f.remove(this.geometryInstance_),A&&(this.geometryInstance_=f.add(A)),this.geometryOutlineInstance_&&f.remove(this.geometryOutlineInstance_),m&&(this.geometryOutlineInstance_=f.add(m))}else{this.clearGeometry(),a=Cesium.ColorGeometryInstanceAttribute.fromColor(a);const p=new Cesium.ShowGeometryInstanceAttribute(this.visible_),C=B.getGeometryInstances(this.options_);var d;if(this.isClampToGround_||this.isClampTo3DTILE_?d=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!1}):d=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t),perPositionHeight:!0}),!this.displayGeometryInstance_)this.displayGeometryInstance_=new Cesium.GeometryInstance({id:i,geometry:d,attributes:{color:a,show:p}}),C.push(this.displayGeometryInstance_);else{this.displayGeometryInstance_.geometry=d,this.displayGeometryInstance_.attributes.color=a,this.displayGeometryInstance_.attributes.show=p;const x=C.findIndex(w=>w.id===this.displayGeometryInstance_.id);x!==-1&&(C[x]=this.displayGeometryInstance_)}const E=B.getGeometryInstances(this.outlineOptions_);var g;if(this.isClampToGround_||this.isClampTo3DTILE_?g=new Cesium.GroundPolylineGeometry({positions:o,width:s}):g=new Cesium.PolylineGeometry({positions:o,width:s}),!this.displayGeometryOutlineInstance_)this.displayGeometryOutlineInstance_=new Cesium.GeometryInstance({id:n,geometry:g,attributes:{show:p}}),E.push(this.displayGeometryOutlineInstance_);else{this.displayGeometryOutlineInstance_.geometry=g,this.displayGeometryOutlineInstance_.attributes.show=p;const x=E.findIndex(w=>w.id===this.displayGeometryOutlineInstance_.id);x!==-1&&(E[x]=this.displayGeometryOutlineInstance_)}this.updatePrimitive(C,E)}};reDrawPoints=()=>{if(this.clearPoints(),this.visible_&&this.isEditable_&&Array.isArray(this.positions_)&&this.positions_.length){let e;if(this.nodeMode_==="point"?e=B.getPointPrimitiveCollection(this.containerID_):e=B.getBillboardCollection(this.containerID_),this.positions_.length===this.data_.coordinates.length)for(let t=0;t<this.positions_.length&&!(this.isStartDraw_&&t===this.data_.coordinates.length-1);t++){let i=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon-Point-"+t,n=this.positions_[t],a=this.data_.coordinates[t]?.symbol;a||(a=this.data_?.symbol);let o;if(this.nodeMode_==="point"){let l=15,h="#fff";a&&(l=a?.pixelSize??15,h=a?.pointColor??"#fff"),h=Cesium.Color.fromCssColorString(h),o=e.add(new Cesium.PointPrimitive({position:n,id:i,show:this.visible_,color:h,pixelSize:l,disableDepthTestDistance:Number.POSITIVE_INFINITY}))}else{let l=B.getDrawPointIcon(!1),h=15,c=15,u=0,f=0;a&&(l=a?.image??B.getDrawPointIcon(!1),h=a?.markerWidth??15,c=a?.markerHeight??15,u=a?.markerDx??0,f=a?.markerDy??0),this.isStartDraw_&&this.data_.coordinates.length>2&&t===this.data_.coordinates.length-2&&(l=a?.imageFinish??B.getDrawPointIcon(!0)),o=e.add(new Cesium.Billboard({position:n,id:i,show:this.visible_,image:l,horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:h,height:c,pixelOffset:new Cesium.Cartesian2(u,f),disableDepthTestDistance:Number.POSITIVE_INFINITY},e))}this.primitiveInstances_.push({ID:i,index:t,primitive:o})}}};async reDrawCenterPoints(e){if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)&&e.length>=3){let t=[],i=[];for(let o=0;o<e.length;o++){let l,h;if(o===e.length-1?(l=e[o],h=e[0]):(l=e[o],h=e[o+1]),l&&h){t.push(Cesium.Cartesian3.midpoint(l,h,new Cesium.Cartesian3));let c=Cesium.Cartesian3.distance(l,h),u;c>1e3?(c=c/1e3,c=Number(c.toFixed(2)),u=`${c}km`):(c=Number(c.toFixed(2)),u=`${c}m`),i.push({content:u,distance:c})}}let n=B.getMapEngineInstance(this.containerID_),s=await B.obtainGroundCartesian3s(n,t,this.classificationType_);this.clearCenterPoints(),this.clearDistanceLabels();let a=B.getPointPrimitiveCollection(this.containerID_);for(const[o,l]of s.entries()){if(!this.isStartDraw_&&this.isEditable_){let d=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon-CenterPoint-"+o,g=a.add(new Cesium.PointPrimitive({position:l,id:d,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.pointInstances_.push({ID:d,index:o,primitive:g})}let h=this.data_.ID+"-&-ZYWL-&-CustomGraphicEditingPolygon-DistanceLabel-"+o,c=i[o],u=new xn(this.containerID_),f=0;this.visible_&&this.isEditable_&&!this.isStartDraw_&&(f=-20),u.DataProcessing({ID:h,center:l,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${c.content}</div>`,dx:0,dy:f,presentationMode:c.distance<1?0:1}}),this.distanceLabelInstances_.push(u)}}else this.clearCenterPoints(),this.clearDistanceLabels()}reDrawCenterLabel=()=>{let e=this.data_?.customLabel;if(this.visible_&&e&&this.center_){let t=B.getLabelCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",n=e?.show??!1,s=e?.content??"",a=e?.showBackground??!1,o=e?.dx??0,l=e?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=n,this.centerLabelInstance_.text=s,this.centerLabelInstance_.showBackground=a,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(o,l),this.centerLabelInstance_.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:i,show:n,text:s,font:"18px sans-serif",showBackground:a,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(o,l),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},t))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=this.data_?.customHTML;this.visible_&&e&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:e}))};reDrawCustomLabel=()=>{if(this.visible_&&Array.isArray(this.positions_)&&this.positions_.length){let e=B.getLabelCollection(this.containerID_);if(this.positions_.length!==this.customLabelInstances_.length&&this.clearCustomLabel(),this.positions_.length===this.data_.coordinates.length)for(let t=0;t<this.positions_.length;t++){let i=this.positions_[t],s=this.data_.coordinates[t]?.customLabel;if(s){let a=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+t,o=s?.show??!1,l=s?.content??"",h=s?.showBackground??!1,c=s?.dx??0,u=s?.dy??0,f=this.customLabelInstances_.find(d=>d.ID===a);if(f)f.primitive.position=i,f.primitive.show=o,f.primitive.text=l,f.primitive.showBackground=h,f.primitive.pixelOffset=new Cesium.Cartesian2(c,u),f.primitive.heightReference=this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE;else{let d=e.add(new Cesium.Label({position:i,id:a,show:o,text:l,font:"18px sans-serif",showBackground:h,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(c,u),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:this.isClampTo3DTILE_?Cesium.HeightReference.CLAMP_TO_3D_TILE:this.isClampToGround_?Cesium.HeightReference.CLAMP_TO_GROUND:Cesium.HeightReference.NONE},e));this.customLabelInstances_.push({ID:a,index:t,primitive:d})}}}else this.clearCustomLabel()}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(this.positions_)&&this.positions_.length&&this.positions_.length===this.data_.coordinates.length)for(let e=0;e<this.positions_.length;e++){let t=this.positions_[e],n=this.data_.coordinates[e]?.customHTML;if(n){let s=new xn(this.containerID_);s.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,center:t,customHTML:n}),this.customHTMLInstances_.push(s)}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||this.isEditable_||(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),this.isHighlight_&&this.createHighlightPrimitive(e))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearDisplayGeometry(),this.clearPoints(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML(),this.positions_=[]};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{const e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearDisplayGeometry=()=>{var e;this.options_&&(e=B.getGeometryInstances(this.options_));var t=!1;if(this.displayGeometryInstance_){const o=e.findIndex(l=>l.id===this.displayGeometryInstance_.id);o!==-1&&(e.splice(o,1),t=!0)}var i;this.outlineOptions_&&(i=B.getGeometryInstances(this.outlineOptions_));var n=!1;if(this.displayGeometryOutlineInstance_){const o=i.findIndex(l=>l.id===this.displayGeometryOutlineInstance_.id);o!==-1&&(i.splice(o,1),n=!0)}t&&n&&this.updatePrimitive(e,i),this.displayGeometryInstance_=void 0,this.displayGeometryOutlineInstance_=void 0;const a=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightOutlinePrimitive_&&a.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0};clearPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_),t=B.getBillboardCollection(this.containerID_);if(this.primitiveInstances_&&(e||t))for(let i=0;i<this.primitiveInstances_.length;i++){let n=this.primitiveInstances_[i];n.primitive instanceof Cesium.PointPrimitive?e.remove(n.primitive):t.remove(n.primitive)}this.primitiveInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.pointInstances_&&e)for(let t=0;t<this.pointInstances_.length;t++){let i=this.pointInstances_[t];e.remove(i.primitive)}this.pointInstances_=[]};clearDistanceLabels=()=>{for(const e of this.distanceLabelInstances_)e.clear();this.distanceLabelInstances_=[]};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]};updatePrimitive=(e,t)=>{const n=B.getMapEngineInstance(this.containerID_).scene.primitives;var s;this.options_&&(s=B.getGeometryPrimitive(this.options_)),s&&(n.remove(s),B.removeGeometryPrimitive(this.options_));var a;this.outlineOptions_&&(a=B.getGeometryPrimitive(this.outlineOptions_)),a&&(n.remove(a),B.removeGeometryPrimitive(this.outlineOptions_)),e?.length&&this.options_&&(this.isClampToGround_||this.isClampTo3DTILE_?s=new Cesium.GroundPrimitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):s=new Cesium.Primitive({geometryInstances:e,appearance:new Cesium.PerInstanceColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(s),this.options_.primitive=s,B.addGeometryPrimitive(this.options_)),t?.length&&this.outlineOptions_&&(this.isClampToGround_||this.isClampTo3DTILE_?a=new Cesium.GroundPolylinePrimitive({geometryInstances:t,appearance:this.polylineAppearance?this.polylineAppearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}):a=new Cesium.Primitive({geometryInstances:t,appearance:this.polylineAppearance?this.polylineAppearance:new Cesium.PolylineColorAppearance,asynchronous:!1,releaseGeometryInstances:!1}),n.add(a),this.outlineOptions_.primitive=a,B.addGeometryPrimitive(this.outlineOptions_))};createHighlightPrimitive=e=>{const i=B.getMapEngineInstance(this.containerID_).scene.primitives;this.highlightOutlinePrimitive_&&i.remove(this.highlightOutlinePrimitive_),this.highlightOutlinePrimitive_=void 0,e&&(this.isClampToGround_||this.isClampTo3DTILE_?this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.GroundPolylinePrimitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:this.polylineHighlightAppearance,asynchronous:!1,releaseGeometryInstances:!1,classificationType:this.isClampTo3DTILE_?Cesium.ClassificationType.BOTH:Cesium.ClassificationType.TERRAIN}))):this.displayGeometryOutlineInstance_&&(this.highlightOutlinePrimitive_=i.add(new Cesium.Primitive({geometryInstances:this.displayGeometryOutlineInstance_,appearance:this.polylineHighlightAppearance,asynchronous:!1,releaseGeometryInstances:!1}))))}}class U6e{containerID_=void 0;dataClass_=void 0;data_=void 0;featureID_=void 0;geometryInstance_=void 0;bufferGeometryInstance_=void 0;bufferOutlineGeometryInstance_=void 0;airRouteGeometryInstance_=void 0;billboardInstances_=[];pointInstances_=[];groundPointsInstances_=[];groundVerticalLinesInstances_=[];distanceLabelInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;nodeMode_="billboard";heightMode_=0;defaultHeight_=void 0;coordinateCartesian3s_=[];positions_=[];constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i,n=this.containerID_.split("-cesium")[0],s=B.addTerrainHeight(n,this.data_.coordinates,this.heightMode_);switch(this.data_.coordinates=s,e){case"update":t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e};break;case"delete":i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e,index:t};break;default:i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:"update"};break}B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0;let e=this.containerID_.split("-cesium")[0],t=B.addTerrainHeight(e,this.data_.coordinates,this.heightMode_);this.data_.coordinates=t,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;const t=B.getMapEngineInstance(this.containerID_);let i=B.getCartesian(t.scene,e.position);const n=B.transformCoordinate(i),s=t.scene.pick(e.position);!s||s&&s.id===this.featureID_?(this.data_.coordinates.push(le.cloneDeep(n)),this.isStartDraw_||(this.data_.coordinates.push(le.cloneDeep(n)),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(a=>{if(this.isStartDraw_){let o=B.getGroundPoint(t,a.endPosition);o&&(this.data_.coordinates[this.data_.coordinates.length-1].longitude=o.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=o.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=o.altitude,this.reDraw())}},Cesium.ScreenSpaceEventType.MOUSE_MOVE)),this.reDraw(),this.emitGraphChanged("update")):s&&s.primitive instanceof Cesium.Billboard&&s.id===`${this.data_.ID}-&-ZYWL-&-GeometryEditingBandingPolyline-Point-${this.data_.coordinates.length-2}`&&this.isStartDraw_&&(this.isStartDraw_=!1,this.screenSpaceHandler_&&(this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0),this.data_.coordinates.splice(this.data_.coordinates.length-1,1),this.reDraw(),this.emitGraphChanged("update"))};mouseRightClick=e=>{this.isDelete_&&(this.data_.coordinates=[],this.emitGraphRemoved(),this.clear())};reDraw=()=>{if(this.featureID_=this.data_.ID+"-&-ZYWL-&-GeometryEditingBandingPolyline",this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??100,this.heightMode_=this.data_?.heightMode??1,!Array.isArray(this.data_?.coordinates)||Array.isArray(this.data_?.coordinates)&&!this.data_?.coordinates?.length){this.clear();return}let e=B.getMapEngineInstance(this.containerID_);new Promise(t=>{let i=[],n=[];for(const c of this.data_.coordinates)i.push(B.transformCartesian3(c)),this.isStartDraw_||n.push([c.longitude,c.latitude]);const s=this.data_?.singleRoute??!1;let a=[],o,l;if(n.length>1){const c=bh(n),u=this.data_?.leftExpansionDistance??100,f=this.data_?.rightExpansionDistance??100,d=this.data_?.expansionDistance??100,g=D4(c,s?d:f,{units:"meters"});o=Bf(g);const A=D4(c,-(s?d:u),{units:"meters"});l=Bf(A),l.reverse()}let h=[];if(o?.length||l?.length){let c=le.cloneDeep(this.data_.coordinates),u=[...o,...l,...c];(this.data_?.reverseArea??!1)&&(c.reverse(),u=[...l,...o,...c]);const d=this.data_?.includingCenterLine??!1;for(const[g,A]of u.entries()){let m=le.cloneDeep(A);switch(Array.isArray(A)&&(m={longitude:A[0],latitude:A[1],altitude:0}),this.heightMode_){case 0:case 1:m.altitude=this.defaultHeight_;break}let p=B.transformCartesian3(m);g<o.length+l.length&&a.push(le.cloneDeep(p)),!(g<o.length+l.length&&(d||s))&&h.push(le.cloneDeep(p))}}t({positions:i,bufferPositions:a,airRoutePositions:h})}).then(t=>{this.createBufferPrimitive(e,t.bufferPositions),this.createPrimitive(e,t.positions),this.reDrawPoints(t.positions),this.createAirRoutePrimitive(e,t.airRoutePositions)})};createPrimitive=(e,t)=>{this.geometryInstance_&&e.scene.groundPrimitives.remove(this.geometryInstance_),this.geometryInstance_=void 0,this.geometryInstance_=new Cesium.GroundPolylinePrimitive({geometryInstances:new Cesium.GeometryInstance({id:this.featureID_,geometry:new Cesium.GroundPolylineGeometry({positions:t,width:6})}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#2f91f8")}}})}),show:this.visible_,asynchronous:!1}),e.scene.groundPrimitives.add(this.geometryInstance_)};createBufferPrimitive=(e,t)=>{this.bufferGeometryInstance_&&e.scene.groundPrimitives.remove(this.bufferGeometryInstance_),this.bufferGeometryInstance_=void 0,this.bufferOutlineGeometryInstance_&&e.scene.groundPrimitives.remove(this.bufferOutlineGeometryInstance_),this.bufferOutlineGeometryInstance_=void 0,t.length&&!this.isStartDraw_&&(this.bufferGeometryInstance_=new Cesium.GroundPrimitive({geometryInstances:new Cesium.GeometryInstance({id:this.data_.ID+"-&-ZYWL-&-GeometryEditingBandingBuffer",geometry:new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(t)})}),appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#2f91f8"),.3)}}})}),show:this.visible_,asynchronous:!1}),e.scene.groundPrimitives.add(this.bufferGeometryInstance_),this.bufferOutlineGeometryInstance_=new Cesium.GroundPolylinePrimitive({geometryInstances:new Cesium.GeometryInstance({id:this.data_.ID+"-&-ZYWL-&-GeometryEditingBandingBufferOutline",geometry:new Cesium.GroundPolylineGeometry({positions:[...t,t[0]],width:4})}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#2f91f8")}}})}),show:this.visible_,asynchronous:!1}),e.scene.groundPrimitives.add(this.bufferOutlineGeometryInstance_))};createAirRoutePrimitive=(e,t)=>{this.airRouteGeometryInstance_&&e.scene.primitives.remove(this.airRouteGeometryInstance_),this.airRouteGeometryInstance_=void 0,t.length&&!this.isStartDraw_&&(this.airRouteGeometryInstance_=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:this.data_.ID+"-&-ZYWL-&-GeometryEditingBandingAirRoute",geometry:new Cesium.PolylineGeometry({positions:t,width:4})}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b")}}})}),show:this.visible_,asynchronous:!1}),e.scene.primitives.add(this.airRouteGeometryInstance_))};reDrawPoints=e=>{if(!this.isStartDraw_||!this.isEditable_||!e?.length||!this.visible_){this.clearPoints();return}const t=B.getBillboardCollection(this.containerID_);for(const[i,n]of e.entries()){if(i===e.length-1)return;let s=!1;e.length>2&&i===e.length-2&&(s=!0);let a=this.data_.ID+"-&-ZYWL-&-GeometryEditingBandingPolyline-Point-"+i,o=t.add(new Cesium.Billboard({position:n,id:a,show:this.visible_,image:B.getDrawPointIcon(s),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:15,height:15,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.billboardInstances_.push({ID:a,index:i,primitive:o})}};async reDrawGroundPoints(){let e=this.data_?.isGroundPointVisible??!1,t=this.data_?.isGroundVerticalLineVisible??!1;if(!this.isClampToGround_&&this.visible_&&e&&Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length){let i=B.getMapEngineInstance(this.containerID_);if(this.groundPositions_=await B.obtainGroundCartesian3s(i,this.data_.coordinates,Cesium.ClassificationType.TERRAIN),this.clearGroundPoints(),this.clearGroundVerticalLines(),this.groundPositions_.length===this.data_.coordinates.length){let n=B.getPointPrimitiveCollection(this.containerID_);for(let s=0;s<this.groundPositions_.length;s++){let a=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolyline-GroundPoint-"+s,o=this.groundPositions_[s];if(this.groundPointsInstances_.push({ID:a,index:s,primitive:n.add(new Cesium.PointPrimitive({position:o,id:a,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:8}))}),t){let l=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolyline-VerticalLine-"+s,h=this.data_.coordinates[s],c=new Cesium.PolylineGeometry({positions:[B.transformCartesian3(h),this.groundPositions_[s]],width:3}),u=new Cesium.GeometryInstance({id:l,geometry:c}),f=new Cesium.Primitive({geometryInstances:u,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString("#fff"),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString("#fff"),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1});this.groundVerticalLinesInstances_.push({ID:a,index:s,primitive:i.scene.primitives.add(f)})}}}}else this.clearGroundPoints(),this.clearGroundVerticalLines()}reDrawCenterPoints=()=>{this.clearCenterPoints();let e=B.getMapEngineInstance(this.containerID_);if(e&&this.visible_&&this.isEditable_&&!this.isStartDraw_){let t=B.getPointPrimitiveCollection(this.containerID_);for(let i=0;i<this.coordinateCartesian3s_.length-1;i++){let n=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolyline-CenterPoint-"+i,s=this.coordinateCartesian3s_[i],a=this.coordinateCartesian3s_[i+1],o=Cesium.Cartesian3.midpoint(s,a,new Cesium.Cartesian3);o=B.getCartesian3FromCartesian3(e,o,this.isClampToGround_);let l=t.add(new Cesium.PointPrimitive({position:o,id:n,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.pointInstances_.push({ID:n,index:i,primitive:l})}}};reDrawDistanceLabels=()=>{this.clearDistanceLabels();let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.coordinates;if(e&&this.visible_&&this.isEditable_&&!this.isStartDraw_&&t&&t.length>=2)for(let i=0;i<this.coordinateCartesian3s_.length-1;i++){let n=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolyline-DistanceLabel-"+i,s=this.coordinateCartesian3s_[i],a=this.coordinateCartesian3s_[i+1],o=Cesium.Cartesian3.midpoint(s,a,new Cesium.Cartesian3);o=B.getCartesian3FromCartesian3(e,o,this.isClampToGround_);let l=Cesium.Cartesian3.distance(s,a),h;l>1e3?(l=l/1e3,l=Number(l.toFixed(2)),h=`${l}km`):(l=Number(l.toFixed(2)),h=`${l}m`);let c=new xn(this.containerID_);c.DataProcessing({ID:n,center:o,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${h}</div>`,dx:0,dy:-15,presentationMode:1}}),this.distanceLabelInstances_.push(c)}};reDrawCenterLabel=()=>{if(B.getMapEngineInstance(this.containerID_)&&this.visible_){let t=B.getLabelCollection(this.containerID_),i=this.data_?.customLabel;if(i&&this.center_){let n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=i?.show??!1,a=i?.content??"",o=i?.showBackground??!1,l=i?.dx??0,h=i?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t))}else this.clearCenterLabel()}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.customHTML;e&&this.visible_&&t&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:t}))};reDrawCustomLabel=()=>{if(B.getMapEngineInstance(this.containerID_)&&this.visible_){if(this.coordinateCartesian3s_.length<1){this.clearCustomLabel();return}this.coordinateCartesian3s_.length!==this.customLabelInstances_.length&&this.clearCustomLabel();let t=B.getLabelCollection(this.containerID_),i=this.data_?.coordinates;for(let n=0;n<this.coordinateCartesian3s_.length;n++){let s=this.coordinateCartesian3s_[n],o=i[n]?.customLabel;if(o){let l=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+n,h=o?.show??!1,c=o?.content??"",u=o?.showBackground??!1,f=o?.dx??0,d=o?.dy??0,g=this.customLabelInstances_.find(A=>A.ID===l);if(g)g.primitive.position=s,g.primitive.show=h,g.primitive.text=c,g.primitive.showBackground=u,g.primitive.pixelOffset=new Cesium.Cartesian2(f,d);else{let A=t.add(new Cesium.Label({position:s,id:l,show:h,text:c,font:"18px sans-serif",showBackground:u,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(f,d),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:l,index:n,primitive:A})}}}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{if(this.clearCustomHTML(),this.visible_&&Array.isArray(this.positions_)&&this.positions_.length&&this.positions_.length===this.data_.coordinates.length)for(let e=0;e<this.positions_.length;e++){let i=this.data_.coordinates[e]?.customHTML;if(i){let n=new xn(this.containerID_);n.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+e,center:this.positions_[e],customHTML:i}),this.customHTMLInstances_.push(n)}}};primitivesHighlighted=(e,t,i)=>{if(!this.isStartDraw_&&(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!!this.isHighlight_&&this.geometryInstance_)){let n;e?n=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#2f91f8"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}):n=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#2f91f8")}}})}),this.geometryInstance_.appearance=n}};clear=()=>{window.EditElement=void 0,B.recoverCursor(this.containerID_,"custom-cursor"),this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearPoints(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML(),this.positions_=[],this.groundPositions_=[]};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.groundPrimitives.remove(this.geometryInstance_),this.geometryInstance_=void 0,this.bufferGeometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.groundPrimitives.remove(this.bufferGeometryInstance_),this.bufferGeometryInstance_=void 0,this.bufferOutlineGeometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.groundPrimitives.remove(this.bufferOutlineGeometryInstance_),this.bufferOutlineGeometryInstance_=void 0,this.airRouteGeometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.airRouteGeometryInstance_),this.airRouteGeometryInstance_=void 0};clearPoints=()=>{let e=B.getBillboardCollection(this.containerID_);if(this.billboardInstances_&&e)for(let t=0;t<this.billboardInstances_.length;t++){let i=this.billboardInstances_[t];e.remove(i.primitive)}this.billboardInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.pointInstances_&&e)for(let t=0;t<this.pointInstances_.length;t++){let i=this.pointInstances_[t];e.remove(i.primitive)}this.pointInstances_=[]};clearDistanceLabels=()=>{if(this.distanceLabelInstances_)for(let e=0;e<this.distanceLabelInstances_.length;e++)this.distanceLabelInstances_[e].clear();this.distanceLabelInstances_=[]};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class z6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;groundPointsInstances_=[];groundVerticalLinesInstances_=[];radiusPolylineInstance_=void 0;radiusLabelInstance_=void 0;pointInstance_=void 0;radiusPointInstance_=void 0;centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isClampToGround_=!1;center_=void 0;radiusCenter_=void 0;radius_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;screenSpaceHandler_;defaultHeight_=void 0;ALTDragPlane_=void 0;ALTDragIndex_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i,n=this.containerID_.split("-cesium")[0],s=B.addTerrainHeight(n,this.data_.coordinates,this.heightMode_);switch(this.data_.coordinates=s,e){case"update":t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e};break;case"delete":i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e,index:t};break;case"copy":i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:e,index:t};break;default:i={ID:this.data_.ID,data:this.data_,coordinates:s,class:this.dataClass_,type:"update"};break}B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0;let e=this.containerID_.split("-cesium")[0],t=B.addTerrainHeight(e,this.data_.coordinates,this.heightMode_);this.data_.coordinates=t,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_),i=B.getClampToGroundPosition(t,e.position,this.isClampToGround_),n=t.scene.pick(e.position),s=this.data_?.coordinates??[];if(i&&i.coordinate){let a=le.cloneDeep(i.coordinate);if(this.defaultHeight_&&(a.altitude+=this.defaultHeight_),!this.isStartDraw_)s.length?n||(this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.emitGraphEdited(),this.clearScreenSpaceHandler()):(s.push(le.cloneDeep(a)),this.center_=B.getCartesian3FromCoordinate(t,s[0],this.isClampToGround_),this.radiusCenter_=B.getCartesian3FromCoordinate(t,le.cloneDeep(a),this.isClampToGround_),this.radius_=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(o=>{if(this.isStartDraw_){let l=B.getClampToGroundPosition(t,o.endPosition,this.isClampToGround_,this.radiusCenter_);l&&l.coordinate&&(this.defaultHeight_&&(l.coordinate.altitude+=this.defaultHeight_),this.radiusCenter_=B.getCartesian3FromCoordinate(t,l.coordinate,this.isClampToGround_),this.radius_=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.reDraw())}},Cesium.ScreenSpaceEventType.MOUSE_MOVE));else if(n&&typeof n.id=="string"){let o=n.id;if(n.primitive instanceof Cesium.PointPrimitive&&o.includes("-&-ZYWL-&-GeometryEditingCircleRadius-Point")){this.isStartDraw_=!1,this.clearScreenSpaceHandler(),this.reDraw(),this.emitGraphChanged("update");return}}this.reDraw(),this.emitGraphChanged("update")}};mouseMove=(e,t)=>{if(!this.isEditable_||t===void 0)return;let i=B.getMapEngineInstance(this.containerID_),n=this.data_?.coordinates;if(t===0){let s=B.getClampToGroundPosition(i,e.endPosition,this.isClampToGround_,n[0]);s&&s.coordinate&&(this.data_.coordinates[0].longitude=s.coordinate.longitude,this.data_.coordinates[0].latitude=s.coordinate.latitude,this.data_.coordinates[0].altitude=s.coordinate.altitude,this.center_=B.getCartesian3FromCoordinate(i,this.data_.coordinates[0],this.isClampToGround_),this.radiusCenter_=B.offsetHeadingPitch2Position(this.center_,90,0,this.radius_).cartesian3)}else if(t===1){let s=B.getClampToGroundPosition(i,e.endPosition,this.isClampToGround_,n[0]);if(s&&s.coordinate){let a={longitude:s.coordinate.longitude,latitude:s.coordinate.latitude,altitude:s.coordinate.altitude};this.radiusCenter_=B.getCartesian3FromCoordinate(i,a,this.isClampToGround_),this.radius_=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_)}}this.reDraw()};mouseRightClick=e=>{this.isDelete_&&(this.data_.coordinates=[],this.emitGraphRemoved(),this.reDraw())};mouseAltLeftDown=e=>{let i=B.getMapEngineInstance(this.containerID_).scene,n=i.camera,s=i.pick(e.position);if(s){let a=s.primitive;if(a&&a instanceof Cesium.PointPrimitive){let o=s.id;if(typeof o=="string"&&o.includes("-&-ZYWL-&-GeometryEditingCircleCenter-Point")&&(this.ALTDragIndex_=0,!this.ALTDragPlane_)){let l=this.data_?.coordinates;if(l&&l.length){let h=l[this.ALTDragIndex_],c=Cesium.Cartesian3.fromDegrees(h.longitude,h.latitude,h.altitude),u=B.offsetHeadingPitch2Position(c,n.heading,0,50),f=Cesium.Cartesian3.subtract(c,u.cartesian3,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(f,f),this.ALTDragPlane_=Cesium.Plane.fromPointNormal(c,f)}}}}};mouseAltLeftUp=e=>{this.emitGraphChanged("update",this.ALTDragIndex_),this.ALTDragPlane_=void 0,this.ALTDragIndex_=void 0};mouseAltMove=e=>{if(this.ALTDragPlane_){let s=B.getMapEngineInstance(this.containerID_).scene.camera.getPickRay(e.endPosition),a=Cesium.IntersectionTests.rayPlane(s,this.ALTDragPlane_,new Cesium.Cartesian3);if(a){let o=B.transformCartographic(a),l=this.data_?.coordinates;if(l&&l.length){let h=l[this.ALTDragIndex_];h.altitude=o.height,this.reDraw()}}}};addAltAction=()=>{if(!this.screenSpaceHandler_){let e=B.getMapEngineInstance(this.containerID_);this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(e.scene.canvas)}this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT)||this.screenSpaceHandler_.setInputAction(e=>{this.mouseAltLeftDown(e)},Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT)||this.screenSpaceHandler_.setInputAction(e=>{this.mouseAltLeftUp(e)},Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT)||this.screenSpaceHandler_.setInputAction(e=>{this.mouseAltMove(e)},Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT))};reDraw=()=>{let e=this.data_.ID;this.visible_=this.data_?.visible??!0,this.isClampToGround_=this.data_?.isClampToGround??!1,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.defaultHeight_=this.data_?.defaultHeight??1,this.isEditable_&&this.addAltAction();let t=B.getMapEngineInstance(this.containerID_);if(t){this.clearGeometry();let i=this.data_?.coordinates;if(i&&i.length){let n=i[0],s=n?.altitude??100;if(this.center_=B.getCartesian3FromCoordinate(t,n,this.isClampToGround_),this.radius_||(this.radius_=this.data_?.symbol?.radius),!this.radiusCenter_)this.radius_&&(this.radiusCenter_=B.offsetHeadingPitch2Position(this.center_,90,0,this.radius_).cartesian3);else{let a=B.transformCartographic(this.radiusCenter_);this.radiusCenter_=B.getCartesian3FromCoordinate(t,{longitude:Cesium.Math.toDegrees(a.longitude),latitude:Cesium.Math.toDegrees(a.latitude),altitude:s},this.isClampToGround_),this.radiusCenter_&&this.center_&&(this.radius_=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_))}if(!this.geometryInstance_){this.radius_===0&&(this.radius_=.1);let a=new Cesium.CircleGeometry({center:this.center_,radius:this.radius_,height:s}),o=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircle",geometry:a}),l;this.isClampToGround_?Cesium.GroundPrimitive.initializeTerrainHeights().then(()=>{this.geometryInstance_&&t.scene.primitives.remove(this.geometryInstance_),l=new Cesium.GroundPrimitive({geometryInstances:o,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}),this.geometryInstance_=t.scene.primitives.add(l)}):(l=new Cesium.Primitive({geometryInstances:o,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}),this.geometryInstance_=t.scene.primitives.add(l))}if(!this.geometryOutlineInstance_){let a=new Cesium.CircleOutlineGeometry({center:this.center_,radius:this.radius_,height:s,granularity:.003}),o=Cesium.CircleOutlineGeometry.createGeometry(a),l=[];if(o){let d=o.attributes.position.values,g=d.length/3;l=new Array(g);for(let A=0;A<g;A++){let m=A*3,p=Cesium.Cartesian3.fromArray(d,m),C=B.transformCartographic(p);l[A]=Cesium.Cartesian3.fromRadians(C.longitude,C.latitude,C.height)}l.push(l[0])}if(!l.length)return;let h=this.data_?.symbol?.lineWidth??2,c;this.isClampToGround_?c=new Cesium.GroundPolylineGeometry({positions:l,width:h}):c=new Cesium.PolylineGeometry({positions:l,width:h,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND});let u=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleOutline",geometry:c}),f;this.isClampToGround_?Cesium.GroundPolylinePrimitive.initializeTerrainHeights().then(()=>{this.geometryOutlineInstance_&&t.scene.primitives.remove(this.geometryOutlineInstance_),f=new Cesium.GroundPolylinePrimitive({geometryInstances:u,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}),this.geometryOutlineInstance_=t.scene.primitives.add(f)}):(f=new Cesium.Primitive({geometryInstances:u,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}),this.geometryOutlineInstance_=t.scene.primitives.add(f))}}this.reDrawGroundPoints(),this.reDrawGroundVerticalLines(),this.reDrawRadiusPolyline(),this.reDrawRadiusLabel(),this.reDrawCenterPoint(),this.reDrawRadiusPoint(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}};reDrawGroundPoints=()=>{this.clearGroundPoints();let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.isGroundPointVisible??!1;if(e&&this.visible_&&t&&!this.isClampToGround_){let i=B.getPointPrimitiveCollection(this.containerID_),n=this.data_?.coordinates;if(n&&n.length)for(let s=0;s<n.length;s++){let a=this.data_.ID+"-&-ZYWL-&-GeometryEditingCircle-GroundPoint-"+s,o=n[s],l=B.getCartesian3FromCoordinate(e,o,!0),h=6,c=Cesium.Color.fromCssColorString("#fff"),u=i.add(new Cesium.PointPrimitive({position:l,id:a,color:c,pixelSize:h}));this.groundPointsInstances_.push({ID:a,index:s,point:u})}}};reDrawGroundVerticalLines=()=>{this.clearGroundVerticalLines();let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.isGroundVerticalLineVisible??!1;if(e&&this.visible_&&t&&!this.isClampToGround_){let i=this.data_?.coordinates;if(i&&i.length)for(let n=0;n<i.length;n++){let s=this.data_.ID+"-&-ZYWL-&-GeometryEditingCircle-GroundPoint-"+n,a=i[n],o=B.getCartesian3FromCoordinate(e,a,!1),l=B.getCartesian3FromCoordinate(e,a,!0),h=new Cesium.PolylineGeometry({positions:[o,l],width:3});if(this.isStartDraw_&&n===i.length-1)break;let c=new Cesium.GeometryInstance({id:s,geometry:h}),u=new Cesium.Primitive({geometryInstances:c,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString("#fff"),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),releaseGeometryInstances:!1,asynchronous:!1});this.groundVerticalLinesInstances_.push({ID:s,index:n,line:e.scene.primitives.add(u)})}}};reDrawRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);if(e){this.clearRadiusPolyline();let t=this.data_?.coordinates;if(this.center_&&this.radiusCenter_&&this.isEditable_&&t&&t.length){let i=this.data_.ID;if(!this.radiusPolylineInstance_){let n;this.isClampToGround_?n=new Cesium.GroundPolylineGeometry({positions:[this.center_,this.radiusCenter_],width:2}):n=new Cesium.PolylineGeometry({positions:[this.center_,this.radiusCenter_],width:2,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND});let s=new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-GeometryEditingCircleRadiusPolyline",geometry:n}),a;this.isClampToGround_?Cesium.GroundPolylinePrimitive.initializeTerrainHeights().then(()=>{this.radiusPolylineInstance_&&e.scene.primitives.remove(this.radiusPolylineInstance_),a=new Cesium.GroundPolylinePrimitive({geometryInstances:s,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}),this.radiusPolylineInstance_=e.scene.primitives.add(a)}):(a=new Cesium.Primitive({geometryInstances:s,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}),this.radiusPolylineInstance_=e.scene.primitives.add(a))}this.radiusLabelInstance_}}};reDrawRadiusLabel=()=>{let e=this.data_.ID+"-&-ZYWL-&-RadiusLabel",t=this.data_?.coordinates;if(this.center_&&this.radiusCenter_&&this.isEditable_&&t&&t.length){let i=Cesium.Cartesian3.midpoint(this.center_,this.radiusCenter_,new Cesium.Cartesian3),n=Cesium.Cartesian3.distance(this.center_,this.radiusCenter_),s;if(n>1e3?(n=n/1e3,n=Number(n.toFixed(2)),s=`${n}km`):(n=Number(n.toFixed(2)),s=`${n}m`),this.radiusLabelInstance_)this.radiusLabelInstance_.position=i,this.radiusLabelInstance_.show=this.visible_,this.radiusLabelInstance_.text=s;else{let a=B.getLabelCollection(this.containerID_);this.radiusLabelInstance_=a.add(new Cesium.Label({position:i,id:e,show:this.visible_,text:s,font:"14px sans-serif",showBackground:!0,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(0,0),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY},a))}}else this.clearRadiusLabel()};reDrawCenterPoint=()=>{this.clearCenterPoint();let e=this.data_?.coordinates;if(this.center_&&this.isEditable_&&e&&e.length){let t=B.getPointPrimitiveCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-GeometryEditingCircleCenter-Point";this.pointInstance_||(this.pointInstance_=t.add(new Cesium.PointPrimitive({position:this.center_,id:i,show:this.visible_,color:Cesium.Color.WHITE,pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})))}};reDrawRadiusPoint=()=>{this.clearRadiusPoint();let e=this.data_?.coordinates;if(this.radiusCenter_&&this.isEditable_&&e&&e.length){let t=B.getPointPrimitiveCollection(this.containerID_),i=this.data_.ID+"-&-ZYWL-&-GeometryEditingCircleRadius-Point";this.radiusPointInstance_||(this.radiusPointInstance_=t.add(new Cesium.PointPrimitive({position:this.radiusCenter_,id:i,show:this.visible_,color:Cesium.Color.WHITE,pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})))}};reDrawCenterLabel=()=>{let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.customLabel;if(e&&this.visible_&&t&&this.center_){let i=B.getLabelCollection(this.containerID_),n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=t?.show??!1,a=t?.content??"",o=t?.showBackground??!1,l=t?.dx??0,h=t?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=i.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i))}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.customHTML;e&&this.visible_&&t&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:t}))};reDrawCustomLabel=()=>{if(B.getMapEngineInstance(this.containerID_)){let t=B.getLabelCollection(this.containerID_);if(this.visible_){let i=this.data_?.coordinates;if(this.center_&&i&&i.length){let s=i[0]?.customLabel;if(s){let a=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",o=s?.show??!1,l=s?.content??"",h=s?.showBackground??!1,c=s?.dx??0,u=s?.dy??0,f=this.customLabelInstances_.find(d=>d.ID===a);if(f)f.label.position=this.center_,f.label.show=o,f.label.text=l,f.label.showBackground=h,f.label.pixelOffset=new Cesium.Cartesian2(c,u);else{let d=t.add(new Cesium.Label({position:this.center_,id:a,show:o,text:l,font:"18px sans-serif",showBackground:h,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(c,u),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:a,label:d})}}}else this.clearCustomLabel()}else this.clearCustomLabel()}};reDrawCustomHTML=()=>{if(B.getMapEngineInstance(this.containerID_)&&(this.clearCustomHTML(),this.visible_)){let t=this.data_?.coordinates;if(this.center_&&t&&t.length){let n=t[0]?.customHTML;if(n){let s=new xn(this.containerID_);s.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:n}),this.customHTMLInstances_.push(s)}}}};primitivesHighlighted=(e,t,i)=>{if(!(this.isStartDraw_||this.isEditable_)&&(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!!this.isHighlight_)){if(this.geometryInstance_){let n;e?n=.4:n=.3,this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),n)}}})})}if(this.geometryOutlineInstance_){let n;e?n=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}):n=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),this.geometryOutlineInstance_.appearance=n}}};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearGeometry(),this.clearGroundPoints(),this.clearGroundVerticalLines(),this.clearRadiusPolyline(),this.clearRadiusLabel(),this.clearCenterPoint(),this.clearRadiusPoint(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearGroundPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.groundPointsInstances_&&e)for(let t=0;t<this.groundPointsInstances_.length;t++){let i=this.groundPointsInstances_[t];e.remove(i.point)}this.groundPointsInstances_=[]};clearGroundVerticalLines=()=>{let e=B.getMapEngineInstance(this.containerID_);if(this.groundVerticalLinesInstances_&&e&&e?.scene&&e?.scene?.primitives)for(let t=0;t<this.groundVerticalLinesInstances_.length;t++)e.scene.primitives.remove(this.groundVerticalLinesInstances_[t].line);this.groundVerticalLinesInstances_=[]};clearRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);this.radiusPolylineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.radiusPolylineInstance_),this.radiusPolylineInstance_=void 0};clearRadiusLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.radiusLabelInstance_&&e&&e.remove(this.radiusLabelInstance_),this.radiusLabelInstance_=void 0};clearCenterPoint=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.pointInstance_&&e&&e.remove(this.pointInstance_),this.pointInstance_=void 0};clearRadiusPoint=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.radiusPointInstance_&&e&&e.remove(this.radiusPointInstance_),this.radiusPointInstance_=void 0};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].label);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class dF{containerID_=void 0;ID_=void 0;axisType_=0;coordinates_=[];reversal_=!1;polygonCenter_=void 0;center_=void 0;minHeight_=void 0;maxHeight_=void 0;wallHeight_=void 0;visible_=!0;directions_=[];axis_=[];axisAuxiliaryLines_=[];axisAngleLines_=[];translationPlane_=void 0;translationDirection_=void 0;rotationPlane_=void 0;rotationDirection_=void 0;startAnglePosition_=void 0;endAnglePosition_=void 0;constructor(e){this.containerID_=e}DataProcessing=e=>{this.ID_=e?.ID,this.axisType_=e?.type??0,this.coordinates_=e?.coordinates,this.reversal_=e?.reversal??!1,this.visible_=e?.visible??!0,this.minHeight_=e?.minHeight,this.maxHeight_=e?.maxHeight,this.wallHeight_=e?.wallHeight,this.reDraw()};mouseDown=(e,t)=>{if(this.axisType_===0)switch(e){case"ArrowX":this.translationPlane_||(this.translationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,this.directions_[2]),this.translationDirection_=this.directions_[0]);break;case"ArrowY":this.translationPlane_||(this.translationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,this.directions_[2]),this.translationDirection_=this.directions_[1]);break;case"ArrowZ":this.translationPlane_||(this.translationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,this.directions_[1]),this.translationDirection_=this.directions_[2]);break;case"SphereX":this.rotationPlane_||(this.rotationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,this.directions_[0]),this.rotationDirection_=this.directions_[0],this.setVisibleAxis("X"),this.computeRotationPosition(t));break;case"SphereY":this.rotationPlane_||(this.rotationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,this.directions_[1]),this.rotationDirection_=this.directions_[1],this.setVisibleAxis("Y"),this.computeRotationPosition(t));break;case"SphereZ":this.rotationPlane_||(this.rotationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,Cesium.Cartesian3.negate(this.directions_[2],new Cesium.Cartesian3)),this.rotationDirection_=this.directions_[2],this.setVisibleAxis("Z"),this.computeRotationPosition(t));break}else if(this.axisType_===1)switch(e){case"ArrowY":case"ArrowYN":this.translationPlane_||(this.translationPlane_=Cesium.Plane.fromPointNormal(this.polygonCenter_,this.directions_[1]),this.translationDirection_=this.directions_[0]);break}};mouseUp=()=>{this.axisType_===0?(this.axis_.forEach(e=>{e.model.show=this.visible_}),this.startAnglePosition_=void 0,this.endAnglePosition_=void 0,this.reDrawAngleLine()):this.axisType_,this.reDraw(),this.clearTranslationPlane()};mouseMove=(e,t,i)=>{switch(e){case"Arrow":this.updateTranslation(t,n=>{i&&i(n)});break;case"Sphere":this.updateRotation(t,n=>{i&&i(n)});break}};updateTranslation=(e,t)=>{if(this.translationPlane_&&this.translationDirection_){let i=B.getMapEngineInstance(this.containerID_);const n=i.scene.camera.getPickRay(e.startPosition),s=i.scene.camera.getPickRay(e.endPosition);if(!n||!s)return;const a=Cesium.IntersectionTests.rayPlane(n,this.translationPlane_,new Cesium.Cartesian3),o=Cesium.IntersectionTests.rayPlane(s,this.translationPlane_,new Cesium.Cartesian3);if(!Cesium.defined(a)||!Cesium.defined(o))return;const l=Cesium.Cartesian3.subtract(o,a,new Cesium.Cartesian3),h=Cesium.Cartesian3.dot(l,this.translationDirection_);Cesium.Cartesian3.multiplyByScalar(this.translationDirection_,h,l);const c=Cesium.Matrix4.fromTranslation(l),u=Cesium.Matrix4.IDENTITY.clone();Cesium.Matrix4.multiply(u,c,u);for(let f=0;f<this.coordinates_.length;f++){let d=B.transformCartesian3(this.coordinates_[f]);Cesium.Matrix4.multiplyByPoint(u,d,d);let g=B.transformCoordinate(d);this.axisType_===0?(this.coordinates_[f].longitude=le.cloneDeep(g.longitude),this.coordinates_[f].latitude=le.cloneDeep(g.latitude),this.coordinates_[f].altitude=le.cloneDeep(g.altitude)):this.axisType_===1&&(this.maxHeight_=g.altitude+this.wallHeight_*.5,this.minHeight_=g.altitude-this.wallHeight_*.5,this.coordinates_[f].altitude=this.minHeight_+this.wallHeight_*.5)}this.reDraw(),t&&t(this.coordinates_)}};computeRotationPosition=e=>{if(this.rotationPlane_){let t=B.getMapEngineInstance(this.containerID_),i;e.hasOwnProperty("startPosition")?i=t.scene.camera.getPickRay(e.startPosition):i=t.scene.camera.getPickRay(e.position);let n;if(e.hasOwnProperty("endPosition")?n=t.scene.camera.getPickRay(e.endPosition):n=t.scene.camera.getPickRay(e.position),!i||!n)return;let s=Cesium.IntersectionTests.rayPlane(i,this.rotationPlane_,new Cesium.Cartesian3),a=Cesium.IntersectionTests.rayPlane(n,this.rotationPlane_,new Cesium.Cartesian3);if(!Cesium.defined(s)||!Cesium.defined(a))return;let o=B.computeVector(s,this.polygonCenter_),l=B.computeVector(a,this.polygonCenter_),h;return this.startAnglePosition_?h=Cesium.Cartesian3.distance(this.startAnglePosition_,this.polygonCenter_):(h=Cesium.Cartesian3.distance(s,this.polygonCenter_),this.startAnglePosition_=new Cesium.Cartesian3,Cesium.Cartesian3.add(this.polygonCenter_,Cesium.Cartesian3.multiplyByScalar(o,h,new Cesium.Cartesian3),this.startAnglePosition_)),this.endAnglePosition_=new Cesium.Cartesian3,Cesium.Cartesian3.add(this.polygonCenter_,Cesium.Cartesian3.multiplyByScalar(l,h,new Cesium.Cartesian3),this.endAnglePosition_),{vectorCenterToStart:o,vectorCenterToEnd:l}}};updateRotation=(e,t)=>{if(this.rotationPlane_&&this.rotationDirection_){let{vectorCenterToStart:i,vectorCenterToEnd:n}=this.computeRotationPosition(e),s=B.computeCrossVector(i,n),a=B.computeVectorDot(s,this.rotationPlane_.normal),o=Cesium.Cartesian3.angleBetween(i,n);a<0&&(o=o*-1);let l=this.directions_.findIndex(d=>this.rotationDirection_.equals(d));this.reDrawAngleLine(l);let h=le.cloneDeep(this.rotationDirection_),c,u,f;l===2?(c=Cesium.Quaternion.fromAxisAngle(Cesium.Cartesian3.negate(h,new Cesium.Cartesian3),o),u=Cesium.Matrix3.fromQuaternion(c),f=Cesium.Matrix4.fromRotationTranslation(u)):(c=Cesium.Quaternion.fromAxisAngle(h,o),u=Cesium.Matrix3.fromQuaternion(c),f=Cesium.Matrix4.fromRotationTranslation(u),l===0?(this.directions_[1]=this.getNewRotationDirection(this.directions_[1],f),this.directions_[2]=this.getNewRotationDirection(this.directions_[2],f)):l===1&&(this.directions_[0]=this.getNewRotationDirection(this.directions_[0],f),this.directions_[2]=this.getNewRotationDirection(this.directions_[2],f)));for(let d=0;d<this.coordinates_.length;d++){let g=Cesium.Cartesian3.fromDegrees(this.coordinates_[d].longitude,this.coordinates_[d].latitude,this.coordinates_[d].altitude),A=B.computeVector(this.polygonCenter_,g),m=Cesium.Cartesian3.distance(this.polygonCenter_,g),p=Cesium.Cartesian3.add(this.polygonCenter_,Cesium.Cartesian3.multiplyByScalar(A,m,new Cesium.Cartesian3),new Cesium.Cartesian3),C=Cesium.Cartesian3.subtract(this.polygonCenter_,p,new Cesium.Cartesian3);Cesium.Matrix4.multiplyByPoint(f,C,C),Cesium.Cartesian3.add(this.polygonCenter_,C,p);let E=B.transformCoordinate(p);this.coordinates_[d].longitude=E.longitude,this.coordinates_[d].latitude=E.latitude,this.coordinates_[d].altitude=E.altitude}t&&t(this.coordinates_)}};getNewRotationDirection=(e,t)=>{let i=Cesium.Cartesian3.add(this.polygonCenter_,Cesium.Cartesian3.multiplyByScalar(e,10,new Cesium.Cartesian3),new Cesium.Cartesian3),n=Cesium.Cartesian3.subtract(this.polygonCenter_,i,new Cesium.Cartesian3);return Cesium.Matrix4.multiplyByPoint(t,n,n),Cesium.Cartesian3.add(n,this.polygonCenter_,i),B.computeVector(this.polygonCenter_,i)};computeModelMatrix=()=>{if(this.center_&&this.directions_&&this.directions_.length){let{heading:e,pitch:t}=B.computeHeadingAndPitchByVector(this.containerID_,this.center_,this.directions_[2]),i=Cesium.HeadingPitchRoll.fromDegrees(e,0,t);return Cesium.Transforms.headingPitchRollToFixedFrame(this.center_,i)}};reDraw=()=>{if(this.axisType_===0)this.polygonCenter_=B.computeMultipointCenter(this.coordinates_),this.directions_=B.computePolygonVector(this.containerID_,this.coordinates_,this.reversal_);else if(this.axisType_===1){for(let n=0;n<this.coordinates_.length;n++)this.coordinates_[n].altitude=this.minHeight_+this.wallHeight_*.5;this.polygonCenter_=B.computeMultipointCenter(this.coordinates_);let e=B.getMapEngineInstance(this.containerID_),t=B.offsetHeadingPitch2Position(this.polygonCenter_,Cesium.Math.toDegrees(e.scene.camera.heading),0,10).cartesian3,i=B.computeVector(this.polygonCenter_,t);Cesium.Cartesian3.negate(i,i),this.directions_=[B.computeSurfaceVector(this.containerID_,this.polygonCenter_),i]}this.updateAxis()};updateAxis=()=>{if(Array.isArray(this.coordinates_)&&this.coordinates_.length){let e=B.getMapEngineInstance(this.containerID_),t=le.cloneDeep(e.scene.camera.position),i=B.computeMultipointCenter(this.coordinates_),n=Cesium.Cartesian3.subtract(i,t,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n);let s=Cesium.Cartesian3.distance(t,i);s<0&&Cesium.Cartesian3.negate(n,n);const a=e.scene.canvas,o=new Cesium.Cartesian2(a.clientWidth/2,a.clientHeight/2);let l=e.scene.camera.pickEllipsoid(o),h;if(l){let c=Cesium.Cartesian3.distance(t,l);c>s?h=s:h=c}else h=s;this.center_=Cesium.Cartesian3.add(t,Cesium.Cartesian3.multiplyByScalar(n,h*.1,new Cesium.Cartesian3),new Cesium.Cartesian3),this.axisType_===0?(this.reDrawAxis(),this.reDrawAxisAuxiliaryLine()):this.axisType_===1&&this.reDrawVerticalTranslationAxis()}};reDrawAxis=()=>{let e=this.computeModelMatrix();if(e){let t=B.getMapEngineInstance(this.containerID_);if(this.axis_.length)this.axis_.forEach(i=>{i.model.show=this.visible_,i.model.modelMatrix=e});else for(let i=0;i<3;i++){let n,s;i===0?(n="ArrowX",s="SphereX"):i===1?(n="ArrowY",s="SphereY"):i===2&&(n="ArrowZ",s="SphereZ");let a=1,o=Cesium.Color.WHITE;Cesium.Model.fromGltfAsync({url:getModelBase64(`${n}.glb`),id:this.ID_+`-&-ZYWL-&-Axis-${n}`,show:this.visible_,modelMatrix:e,minimumPixelSize:120,maximumScale:5e6,scale:a,silhouetteColor:o,scene:t.scene}).then(l=>{let h=t.scene.primitives.add(l);this.axis_.push({type:n,model:h})}),Cesium.Model.fromGltfAsync({url:getModelBase64(`${s}.glb`),id:this.ID_+`-&-ZYWL-&-Axis-${s}`,show:this.visible_,modelMatrix:e,minimumPixelSize:200,maximumScale:5e6,scale:a,silhouetteColor:o,scene:t.scene}).then(l=>{let h=t.scene.primitives.add(l);this.axis_.push({type:s,model:h})})}}};reDrawAxisAuxiliaryLine=()=>{if(this.clearAxisAuxiliaryLine(),this.center_&&this.visible_){let e=B.getMapEngineInstance(this.containerID_),t=1e5;if(this.axisType_===0)this.directions_.forEach((i,n)=>{let s,a;n===0?(s="#1EFF00",a="ArrowX"):n===1?(s="#ff0000",a="ArrowY"):(s="#00FFCC",a="ArrowZ");let o=Cesium.Cartesian3.add(this.center_,Cesium.Cartesian3.multiplyByScalar(i,t,new Cesium.Cartesian3),new Cesium.Cartesian3),l=new Cesium.PolylineGeometry({positions:[o,this.center_],width:1}),h=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:l}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(s)}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString(s),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),show:!1,releaseGeometryInstances:!1,asynchronous:!1});this.axisAuxiliaryLines_.push({type:a,model:e.scene.primitives.add(h)});let c=Cesium.Cartesian3.add(this.center_,Cesium.Cartesian3.multiplyByScalar(Cesium.Cartesian3.negate(i,new Cesium.Cartesian3),t,new Cesium.Cartesian3),new Cesium.Cartesian3),u=new Cesium.PolylineGeometry({positions:[c,this.center_],width:1}),f=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:u}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(s)}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString(s),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),show:!1,releaseGeometryInstances:!1,asynchronous:!1});this.axisAuxiliaryLines_.push({type:a,model:e.scene.primitives.add(f)})});else if(this.axisType_===1)for(let i=0;i<2;i++){let n="#ff0000",s,a;i===0?(s=this.directions_[0],a="ArrowY"):(s=Cesium.Cartesian3.negate(this.directions_[0],new Cesium.Cartesian3),a="ArrowYN");let o=Cesium.Cartesian3.add(this.center_,Cesium.Cartesian3.multiplyByScalar(s,t,new Cesium.Cartesian3),new Cesium.Cartesian3),l=new Cesium.PolylineGeometry({positions:[o,this.center_],width:1}),h=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:l}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(n)}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString(n),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),show:!1,releaseGeometryInstances:!1,asynchronous:!1});this.axisAuxiliaryLines_.push({type:a,model:e.scene.primitives.add(h)});let c=Cesium.Cartesian3.add(this.center_,Cesium.Cartesian3.multiplyByScalar(Cesium.Cartesian3.negate(s,new Cesium.Cartesian3),t,new Cesium.Cartesian3),new Cesium.Cartesian3),u=new Cesium.PolylineGeometry({positions:[c,this.center_],width:1}),f=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:u}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(n)}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString(n),gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),show:!1,releaseGeometryInstances:!1,asynchronous:!1});this.axisAuxiliaryLines_.push({type:a,model:e.scene.primitives.add(f)})}}};reDrawAngleLine=e=>{if(this.clearAngleLine(),this.startAnglePosition_&&this.endAnglePosition_&&this.center_){let t;e===0?t="#1EFF00":e===1?t="#ff0000":t="#00FFCC";let i=B.getMapEngineInstance(this.containerID_),n=new Cesium.PolylineGeometry({positions:[this.center_,this.startAnglePosition_],width:2}),s=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:n}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(t)}}})}),show:!0,releaseGeometryInstances:!1,asynchronous:!1});this.axisAngleLines_.push(i.scene.primitives.add(s));let a=new Cesium.PolylineGeometry({positions:[this.center_,this.endAnglePosition_],width:1}),o=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({geometry:a}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(t)}}})}),show:!0,releaseGeometryInstances:!1,asynchronous:!1});this.axisAngleLines_.push(i.scene.primitives.add(o))}};setVisibleAxis=e=>{this.axis_.forEach(t=>{t.type.includes(e)?t.model.show=this.visible_:t.model.show=!1}),this.axisAuxiliaryLines_.forEach(t=>{t.type.includes(e)?t.model.show=!0:t.model.show=!1})};reDrawVerticalTranslationAxis=()=>{let e=B.getMapEngineInstance(this.containerID_);if(this.axis_.length)this.axis_.forEach((t,i)=>{t.model.show=this.visible_;let n;i===0?n=Cesium.Transforms.headingPitchRollToFixedFrame(this.center_,Cesium.HeadingPitchRoll.fromDegrees(0,0,0)):n=Cesium.Transforms.headingPitchRollToFixedFrame(this.center_,Cesium.HeadingPitchRoll.fromDegrees(0,0,180)),t.model.modelMatrix=n});else for(let t=0;t<2;t++){let i;t===0?i="ArrowY":i="ArrowYN";let n;t===0?n=Cesium.Transforms.headingPitchRollToFixedFrame(this.center_,Cesium.HeadingPitchRoll.fromDegrees(0,0,0)):n=Cesium.Transforms.headingPitchRollToFixedFrame(this.center_,Cesium.HeadingPitchRoll.fromDegrees(0,0,180)),Cesium.Model.fromGltfAsync({url:getModelBase64("ArrowY.glb"),id:this.ID_+`-&-ZYWL-&-Axis-${i}`,show:this.visible_,modelMatrix:n,minimumPixelSize:60,maximumScale:5e6,scale:1,silhouetteColor:Cesium.Color.WHITE,scene:e.scene}).then(s=>{let a=e.scene.primitives.add(s);this.axis_.push({type:i,model:a})})}};primitivesHighlighted=(e,t)=>{if(this.visible_&&(this.axis_.forEach(i=>{i.model.silhouetteSize=0}),this.axisAuxiliaryLines_.forEach(i=>{i.model.show=!1}),(t==="ArrowX"||t==="ArrowY"||t==="ArrowYN"||t==="ArrowZ"||t==="SphereX"||t==="SphereY"||t==="SphereZ")&&e)){let i=this.axis_.find(s=>s.type===t);i&&(i.model.silhouetteSize=2);let n=this.axisAuxiliaryLines_.filter(s=>s.type===t);n.length&&n.forEach(s=>{s.model.show=!0})}};clear=()=>{window.AxisInstance=void 0,this.clearAxis(),this.clearAxisAuxiliaryLine(),this.clearAngleLine(),this.clearTranslationPlane()};clearAxis=()=>{let e=B.getMapEngineInstance(this.containerID_);this.axis_.forEach(t=>{e.scene.primitives.remove(t.model)}),this.axis_=[]};clearAxisAuxiliaryLine=()=>{let e=B.getMapEngineInstance(this.containerID_);this.axisAuxiliaryLines_.forEach(t=>{e.scene.primitives.remove(t.model)}),this.axisAuxiliaryLines_=[]};clearAngleLine=()=>{let e=B.getMapEngineInstance(this.containerID_);this.axisAngleLines_.forEach(t=>{e.scene.primitives.remove(t)}),this.axisAngleLines_=[]};clearTranslationPlane=()=>{this.translationPlane_&&(this.translationPlane_=void 0),this.translationDirection_&&(this.translationDirection_=void 0),this.rotationPlane_&&(this.rotationPlane_=void 0),this.rotationDirection_&&(this.rotationDirection_=void 0)}}class V6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryBottomOutlineInstance_=void 0;geometryTopOutlineInstance_=void 0;geometryPolylineInstance_=void 0;minCenterInstance_=void 0;maxCenterInstance_=void 0;minRadiusCenterInstance_=void 0;maxRadiusCenterInstance_=void 0;minRadiusLineInstance_=void 0;maxRadiusLineInstance_=void 0;radiusVerticalInstance_=void 0;minRadiusLabelInstance_=void 0;maxRadiusLabelInstance_=void 0;wallHeightLabelInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;isStartPullUP_=!1;screenSpaceHandler_;wallCoordinates_=[];isAutoDrawAirRoute_=!1;polylineCoordinates_=[];center_=void 0;minCenter_=void 0;maxCenter_=void 0;minRadiusCenter_=void 0;maxRadiusCenter_=void 0;radius_=void 0;minHeight_=void 0;maxHeight_=void 0;wallHeight_=void 0;circlePlane_=void 0;axisInstance_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.lineOptions,e?.lineOptions)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw(),setTimeout(()=>{!this.isStartDraw_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline())},10))};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;switch(e){case"update":t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,radius:this.radius_,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,radius:this.radius_,class:this.dataClass_,type:e};break;case"delete":i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,radius:this.radius_,class:this.dataClass_,type:e,index:t};break;case"copy":i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,radius:this.radius_,class:this.dataClass_,type:e,index:t};break;default:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,radius:this.radius_,class:this.dataClass_,type:"update"};break}B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseDown=(e,t)=>{!this.isEditable_||t===void 0||(t===9001?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowY"):t===90010?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowYN"):this.createCirclePlane(t,e))};mouseUp=(e,t)=>{!this.isEditable_||t===void 0||(t===9001||t===90010?this.axisInstance_&&this.axisInstance_.mouseUp():this.clearCirclePlane(),setTimeout(()=>{!this.isStartDraw_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline(),this.emitGraphChanged("update",t))},10))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_),i=B.getClampToGroundPosition(t,e.position,!0),n=t.scene.pick(e.position);if(i&&i.coordinate){let s=le.cloneDeep(i.coordinate);if(!this.isStartDraw_&&!this.isStartPullUP_)this.data_?.coordinates.length?n||(this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.reDrawAxis(),this.emitGraphEdited(),this.clearScreenSpaceHandler()):(this.isStartDraw_=!0,this.data_.coordinates.push(le.cloneDeep(s)),this.minHeight_=le.cloneDeep(this.data_.coordinates[0].altitude),this.maxHeight_=le.cloneDeep(this.minHeight_),this.wallHeight_=this.maxHeight_-this.minHeight_,this.minCenter_=le.cloneDeep(this.data_.coordinates[0]),this.minCenter_.altitude=this.minHeight_,this.maxCenter_=le.cloneDeep(this.minCenter_),this.maxCenter_.altitude=this.maxHeight_,this.createCirclePlane(),this.minRadiusCenter_=le.cloneDeep(this.minCenter_),this.minRadiusCenter_.altitude=this.minHeight_,this.maxRadiusCenter_=le.cloneDeep(this.maxCenter_),this.maxRadiusCenter_.altitude=this.maxHeight_,this.radius_=B.computeDistance(this.minCenter_,this.minRadiusCenter_),this.data_.symbol.radius=le.cloneDeep(this.radius_),this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(a=>{let o=t.scene.camera.getPickRay(a.endPosition);if(this.isStartDraw_&&this.circlePlane_)this.minRadiusCenter_=B.transformCoordinate(Cesium.IntersectionTests.rayPlane(o,this.circlePlane_,new Cesium.Cartesian3)),this.maxRadiusCenter_=le.cloneDeep(this.minRadiusCenter_),this.radius_=B.computeDistance(this.minCenter_,this.minRadiusCenter_),this.data_.symbol.radius=le.cloneDeep(this.radius_);else if(this.isStartPullUP_&&this.circlePlane_){let l=Cesium.IntersectionTests.rayPlane(o,this.circlePlane_,new Cesium.Cartesian3),h=B.transformCoordinate(l);h&&(this.maxCenter_.altitude=h.altitude,this.maxRadiusCenter_.altitude=le.cloneDeep(this.maxCenter_.altitude),this.maxHeight_=le.cloneDeep(this.maxRadiusCenter_.altitude),this.wallHeight_=this.maxHeight_-this.minHeight_)}this.reDraw()},Cesium.ScreenSpaceEventType.MOUSE_MOVE));else if(n){let a=!1;if(typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&(n.id.includes("-&-ZYWL-&-GeometryEditingCircleWallMaxRadiusCenter")||n.id.includes("-&-ZYWL-&-GeometryEditingCircleWallMinRadiusCenter")))a=!0;else{let o=t.scene.drillPick(e.position,20);o=Array.from(new Set(o));for(let l=0;l<o.length;l++)if(n=o[l],typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&(n.id.includes("-&-ZYWL-&-GeometryEditingCircleWallMaxRadiusCenter")||n.id.includes("-&-ZYWL-&-GeometryEditingCircleWallMinRadiusCenter"))){a=!0;break}}if(a){this.isStartDraw_&&!this.isStartPullUP_?(this.isStartDraw_=!1,this.isStartPullUP_=!0,this.createCirclePlane()):!this.isStartDraw_&&this.isStartPullUP_&&(this.isStartDraw_=!1,this.isStartPullUP_=!1,this.clearCirclePlane(),this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),!this.isStartPullUP_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline()),this.emitGraphChanged("update"));return}}this.reDraw()}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||!this.isStartPullUP_&&this.isStartDraw_||this.isStartPullUP_&&!this.isStartDraw_))if(this.circlePlane_){let n=B.getMapEngineInstance(this.containerID_).scene.camera.getPickRay(e.endPosition),s=Cesium.IntersectionTests.rayPlane(n,this.circlePlane_,new Cesium.Cartesian3);switch(t){case 0:this.minCenter_=B.transformCoordinate(s),this.maxCenter_=le.cloneDeep(this.minCenter_),this.maxCenter_.altitude=this.maxHeight_,this.minRadiusCenter_=B.offsetHeadingPitch2Position(this.minCenter_,90,0,this.radius_).coordinate,this.maxRadiusCenter_=le.cloneDeep(this.minRadiusCenter_),this.maxRadiusCenter_.altitude=this.maxHeight_;break;case 1:this.minRadiusCenter_=B.transformCoordinate(s),this.maxRadiusCenter_=le.cloneDeep(this.minRadiusCenter_),this.maxRadiusCenter_.altitude=this.maxHeight_,this.radius_=B.computeDistance(this.minCenter_,this.minRadiusCenter_);break;case 10:this.maxCenter_=B.transformCoordinate(s),this.minCenter_=le.cloneDeep(this.maxCenter_),this.minCenter_.altitude=this.minHeight_,this.maxRadiusCenter_=B.offsetHeadingPitch2Position(this.maxCenter_,90,0,this.radius_).coordinate,this.minRadiusCenter_=le.cloneDeep(this.maxRadiusCenter_),this.minRadiusCenter_.altitude=this.minHeight_;break;case 11:this.maxRadiusCenter_=B.transformCoordinate(s),this.minRadiusCenter_=le.cloneDeep(this.maxRadiusCenter_),this.minRadiusCenter_.altitude=this.minHeight_,this.radius_=B.computeDistance(this.maxCenter_,this.maxRadiusCenter_);break;case 90:this.minHeight_=B.transformCoordinate(s).altitude,this.wallHeight_=this.maxHeight_-this.minHeight_,this.minCenter_.altitude=this.minHeight_,this.minRadiusCenter_.altitude=this.minHeight_;break;case 91:this.maxHeight_=B.transformCoordinate(s).altitude,this.wallHeight_=this.maxHeight_-this.minHeight_,this.maxCenter_.altitude=this.maxHeight_,this.maxRadiusCenter_.altitude=this.maxHeight_;break}this.reDraw(),this.reDrawAxis()}else switch(t){case 9001:case 90010:this.axisInstance_&&this.axisInstance_.mouseMove("Arrow",e,i=>{this.data_.coordinates=le.cloneDeep(i),this.maxHeight_=this.data_.coordinates[0].altitude+this.wallHeight_*.5,this.minHeight_=this.data_.coordinates[0].altitude-this.wallHeight_*.5,this.reDraw()});break}};mouseRightClick=e=>{this.isDelete_&&(this.data_.coordinates=[],this.wallCoordinates_=[],this.polylineCoordinates_=[],this.minCenter_=void 0,this.maxCenter_=void 0,this.minRadiusCenter_=void 0,this.maxRadiusCenter_=void 0,this.minHeight_=void 0,this.maxHeight_=void 0,this.wallHeight_=void 0,this.radius_=void 0,this.emitGraphRemoved(),this.clear(),this.reDrawAxis(),this.reDrawPolyline())};createCirclePlane=(e,t)=>{this.clearCirclePlane();let i=B.getMapEngineInstance(this.containerID_);if(this.minCenter_&&this.isStartDraw_){let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.minCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n),this.circlePlane_=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.minCenter_),n)}else if(this.minRadiusCenter_&&this.isStartPullUP_){let n=i.scene.camera.heading,s=B.offsetHeadingPitch2Position(B.transformCartesian3(this.minRadiusCenter_),Cesium.Math.toDegrees(n),0,5).cartesian3,a=B.computeVector(B.transformCartesian3(this.minRadiusCenter_),s);this.circlePlane_=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.minRadiusCenter_),a)}else switch(e){case 0:{let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.minCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n),this.circlePlane_=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.minCenter_),n)}break;case 1:{let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.minRadiusCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n),this.circlePlane_=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.minRadiusCenter_),n)}break;case 10:{let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.maxCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n),this.circlePlane_=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.maxCenter_),n)}break;case 11:{let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.maxRadiusCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n),this.circlePlane_=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.maxRadiusCenter_),n)}break;case 90:{let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.minCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n);let s=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.minCenter_),n),a=i.scene.camera.getPickRay(t.position),o=Cesium.IntersectionTests.rayPlane(a,s,new Cesium.Cartesian3),l=i.scene.camera.heading,h=B.offsetHeadingPitch2Position(o,l,0,10).cartesian3;this.circlePlane_=Cesium.Plane.fromPointNormal(o,B.computeVector(o,h))}break;case 91:{let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(B.transformCartesian3(this.maxCenter_),new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n);let s=Cesium.Plane.fromPointNormal(B.transformCartesian3(this.maxCenter_),n),a=i.scene.camera.getPickRay(t.position),o=Cesium.IntersectionTests.rayPlane(a,s,new Cesium.Cartesian3),l=i.scene.camera.heading,h=B.offsetHeadingPitch2Position(o,l,0,10).cartesian3;this.circlePlane_=Cesium.Plane.fromPointNormal(o,B.computeVector(o,h))}break}};clearCirclePlane=()=>{this.circlePlane_&&(this.circlePlane_=void 0)};reDrawAxis=()=>{this.geometryInstance_&&this.minCenter_&&this.maxCenter_&&this.wallHeight_&&this.isEditable_?(this.axisInstance_||(this.axisInstance_=new dF(this.containerID_)),this.axisInstance_.DataProcessing({ID:le.cloneDeep(this.data_.ID),visible:le.cloneDeep(this.visible_),coordinates:le.cloneDeep(this.data_?.coordinates),type:1,minHeight:le.cloneDeep(this.minHeight_),maxHeight:le.cloneDeep(this.maxHeight_),wallHeight:le.cloneDeep(this.wallHeight_)})):this.clearAxis()};reDraw=()=>{this.clearGeometry();let e=this.data_.ID;this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.isAutoDrawAirRoute_=this.data_?.isAutoDrawAirRoute??!1;let t=B.getMapEngineInstance(this.containerID_),i=this.data_?.symbol,n=this.data_?.coordinates;if(n&&n.length&&i){if(this.radius_||(this.radius_=i?.radius),this.minHeight_||(this.minHeight_=i?.minHeight,this.minHeight_||Array.isArray(this.wallCoordinates_)&&this.wallCoordinates_.length&&(this.minHeight_=this.wallCoordinates_[0].altitude),this.minHeight_||(this.minHeight_=0)),this.maxHeight_||(this.maxHeight_=i?.maxHeight,this.maxHeight_||Array.isArray(this.wallCoordinates_)&&this.wallCoordinates_.length&&(this.maxHeight_=this.wallCoordinates_[0].altitude),this.maxHeight_||(this.maxHeight_=0)),this.minCenter_||(this.minCenter_=n[0]),this.minRadiusCenter_||(this.minRadiusCenter_=B.offsetHeadingPitch2Position(this.minCenter_,90,0,this.radius_).coordinate),this.minHeight_&&(this.minCenter_.altitude=this.minHeight_,this.minRadiusCenter_.altitude=this.minHeight_),this.maxCenter_||(this.maxCenter_=le.cloneDeep(this.minCenter_)),this.maxRadiusCenter_||(this.maxRadiusCenter_=B.offsetHeadingPitch2Position(this.maxCenter_,90,0,this.radius_).coordinate),this.maxHeight_&&(this.maxCenter_.altitude=this.maxHeight_,this.maxRadiusCenter_.altitude=this.maxHeight_),this.minHeight_&&this.maxHeight_&&(this.wallHeight_=this.maxHeight_-this.minHeight_),this.center_=n[0],this.center_.altitude=this.minHeight_+this.wallHeight_*.5,this.center_=B.transformCartesian3(this.center_),this.wallCoordinates_=B.computeCircleCoordinates(this.minCenter_,this.radius_),!this.geometryInstance_&&this.wallCoordinates_.length>=2){let s=new Cesium.WallGeometry({positions:this.wallCoordinates_.map(o=>B.transformCartesian3(o)),maximumHeights:this.wallCoordinates_.map(()=>this.maxHeight_),minimumHeights:this.wallCoordinates_.map(()=>this.minHeight_)}),a=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWall",geometry:s}),appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString("#00C8DF"),.4)}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryInstance_=t.scene.primitives.add(a)}if(!this.geometryBottomOutlineInstance_&&this.wallCoordinates_.length>=2){let s=new Cesium.PolylineGeometry({positions:this.wallCoordinates_.map(o=>(o.altitude=this.minHeight_,B.transformCartesian3(o))),width:6}),a=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWallBottomOutline",geometry:s}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryBottomOutlineInstance_=t.scene.primitives.add(a)}if(!this.geometryTopOutlineInstance_&&this.wallCoordinates_.length>=2){let s=new Cesium.PolylineGeometry({positions:this.wallCoordinates_.map(o=>(o.altitude=this.maxHeight_,B.transformCartesian3(o))),width:6}),a=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWallTopOutline",geometry:s}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryTopOutlineInstance_=t.scene.primitives.add(a)}}this.reDrawRadius(),this.reDrawCustomLabel(),this.reDrawCustomHTML()};reDrawPolyline=()=>{this.clearPolyline();let e=this.data_?.lineOptions;if(this.isAutoDrawAirRoute_&&e&&this.minCenter_&&this.visible_){let t=e?.d??37.2,i=e?.GSD??1,n=e?.overlapW??80,s=e?.routeCoverageRate??100,a=e?.routeCoverageDeviationAngle??0,o=e?.cameraType??"M3TD",l=e?.isVertical??!1,h=e?.isIncludingTheTopSurface??!1,c=e?.isTopStart??!1;this.polylineCoordinates_=B.computeGeometryCircleWallAirRouteMethod(this.containerID_,this.data_?.coordinates,this.minHeight_,this.maxHeight_,this.radius_,t,i,n/100,s,a,o,l,h,c),!this.geometryPolylineInstance_&&this.polylineCoordinates_&&(this.geometryPolylineInstance_=new vI(this.containerID_,"AirRoutes"),this.geometryPolylineInstance_.DataProcessing({ID:Cg()+"-&-ZYWL-&-GeometryEditingCircleWall-AirRoutes-&-ZYWL-&-NotEditablePolyline",type:2,visible:this.visible_,isClampToGround:!1,isHighlight:!1,zIndex:0,symbol:{lineWidth:2,lineColor:"#0aed8b"},coordinates:this.polylineCoordinates_}))}};reDrawRadius=()=>{if(this.minCenter_&&this.maxCenter_&&this.minRadiusCenter_&&this.maxRadiusCenter_&&this.visible_&&this.isEditable_){let e=this.data_.ID,t=B.getPointPrimitiveCollection(this.containerID_),i=B.transformCartesian3(this.minCenter_);this.minCenterInstance_?this.minCenterInstance_.position=i:this.minCenterInstance_=t.add(new Cesium.PointPrimitive({position:i,id:e+"-&-ZYWL-&-GeometryEditingCircleWallMinCenter",show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY}));let n=B.transformCartesian3(this.maxCenter_);this.maxCenterInstance_?this.maxCenterInstance_.position=n:this.maxCenterInstance_=t.add(new Cesium.PointPrimitive({position:n,id:e+"-&-ZYWL-&-GeometryEditingCircleWallMaxCenter",show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY}));let s=B.transformCartesian3(this.minRadiusCenter_);this.minRadiusCenterInstance_?this.minRadiusCenterInstance_.position=s:this.minRadiusCenterInstance_=t.add(new Cesium.PointPrimitive({position:s,id:e+"-&-ZYWL-&-GeometryEditingCircleWallMinRadiusCenter",show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY}));let a=B.transformCartesian3(this.maxRadiusCenter_);this.maxRadiusCenterInstance_?this.maxRadiusCenterInstance_.position=a:this.maxRadiusCenterInstance_=t.add(new Cesium.PointPrimitive({position:a,id:e+"-&-ZYWL-&-GeometryEditingCircleWallMaxRadiusCenter",show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:15,disableDepthTestDistance:Number.POSITIVE_INFINITY})),this.clearRadiusPolyline();let o=B.getMapEngineInstance(this.containerID_),l=new Cesium.PolylineGeometry({positions:[B.transformCartesian3(this.minCenter_),B.transformCartesian3(this.minRadiusCenter_)],width:5}),h=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWallMinRadiusLine",geometry:l}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.minRadiusLineInstance_=o.scene.primitives.add(h);let c=new Cesium.PolylineGeometry({positions:[B.transformCartesian3(this.maxCenter_),B.transformCartesian3(this.maxRadiusCenter_)],width:5}),u=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWallMaxRadiusLine",geometry:c}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.maxRadiusLineInstance_=o.scene.primitives.add(u);let f=new Cesium.PolylineGeometry({positions:[B.transformCartesian3(this.minRadiusCenter_),B.transformCartesian3(this.maxRadiusCenter_)],width:5}),d=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWallRadiusVertical",geometry:f}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});if(this.radiusVerticalInstance_=o.scene.primitives.add(d),!this.radius_)return;if(this.radius_>10){let A;this.radius_>1e3?A=`${(this.radius_/1e3).toFixed(2)}km`:A=`${this.radius_.toFixed(2)}m`,this.minRadiusLabelInstance_=new xn(this.containerID_),this.minRadiusLabelInstance_.DataProcessing({ID:e+"-&-ZYWL-&-GeometryEditingCircleWallMinRadiusLabel",center:B.computeCenter(this.minCenter_,this.minRadiusCenter_),customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${A}</div>`,dx:0,dy:-15,presentationMode:1}}),this.maxRadiusLabelInstance_=new xn(this.containerID_),this.maxRadiusLabelInstance_.DataProcessing({ID:e+"-&-ZYWL-&-GeometryEditingCircleWallMaxRadiusLabel",center:B.computeCenter(this.maxCenter_,this.maxRadiusCenter_),customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${A}</div>`,dx:0,dy:-15,presentationMode:1}})}let g=B.computeDistance(this.minRadiusCenter_,this.maxRadiusCenter_);g>10&&(g>1e3?g=`${(g/1e3).toFixed(2)}km`:g=`${g.toFixed(2)}m`,this.wallHeightLabelInstance_=new xn(this.containerID_),this.wallHeightLabelInstance_.DataProcessing({ID:e+"-&-ZYWL-&-GeometryEditingCircleWallHeightLabel",center:B.computeCenter(this.minRadiusCenter_,this.maxRadiusCenter_),customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${g}</div>`,dx:0,dy:-15,presentationMode:1}}))}else this.clearRadius()};reDrawCustomLabel=()=>{if(B.getMapEngineInstance(this.containerID_)){let t=B.getLabelCollection(this.containerID_);if(this.visible_){let i=this.data_?.coordinates;if(this.center_&&i&&i.length){let s=i[0]?.customLabel;if(s){let a=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",o=s?.show??!1,l=s?.content??"",h=s?.showBackground??!1,c=s?.dx??0,u=s?.dy??0,f=this.customLabelInstances_.find(d=>d.ID===a);if(f)f.primitive.position=this.center_,f.primitive.show=o,f.primitive.text=l,f.primitive.showBackground=h,f.primitive.pixelOffset=new Cesium.Cartesian2(c,u);else{let d=t.add(new Cesium.Label({position:this.center_,id:a,show:o,text:l,font:"18px sans-serif",showBackground:h,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(c,u),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:a,index:0,primitive:d})}}}else this.clearCustomLabel()}else this.clearCustomLabel()}};reDrawCustomHTML=()=>{if(B.getMapEngineInstance(this.containerID_)&&(this.clearCustomHTML(),this.visible_)){let t=this.data_?.coordinates;if(this.center_&&t&&t.length){let n=t[0]?.customHTML;if(n){let s=new xn(this.containerID_);s.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:n}),this.customHTMLInstances_.push(s)}}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||this.isStartPullUP_||(this.axisInstance_&&this.axisInstance_.primitivesHighlighted(t),(t==="ArrowY"||t==="ArrowYN")&&e&&this.axisInstance_&&this.axisInstance_.primitivesHighlighted(e,t),!this.isEditable_&&(B.HighlightHTMLs(e,this.customHTMLInstances_,i),this.isHighlight_&&(this.geometryInstance_&&(this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})})),this.geometryInstance_&&e&&(this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})})))))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearAxis(),this.clearGeometry(),this.clearPolyline(),this.clearRadius(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearAxis=()=>{this.axisInstance_&&this.axisInstance_.clear(),this.axisInstance_=void 0};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryInstance_=void 0,this.geometryBottomOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryBottomOutlineInstance_),this.geometryBottomOutlineInstance_=void 0,this.geometryTopOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryTopOutlineInstance_),this.geometryTopOutlineInstance_=void 0};clearPolyline=()=>{this.geometryPolylineInstance_&&this.geometryPolylineInstance_.clear(),this.geometryPolylineInstance_=void 0,this.polylineCoordinates_=[]};clearRadius=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.minCenterInstance_&&e&&e.remove(this.minCenterInstance_),this.minCenterInstance_=void 0,this.maxCenterInstance_&&e&&e.remove(this.maxCenterInstance_),this.maxCenterInstance_=void 0,this.minRadiusCenterInstance_&&e&&e.remove(this.minRadiusCenterInstance_),this.minRadiusCenterInstance_=void 0,this.maxRadiusCenterInstance_&&e&&e.remove(this.maxRadiusCenterInstance_),this.maxRadiusCenterInstance_=void 0,this.clearRadiusPolyline()};clearRadiusPolyline=()=>{let e=B.getMapEngineInstance(this.containerID_);this.minRadiusLineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.minRadiusLineInstance_),this.minRadiusLineInstance_=void 0,this.maxRadiusLineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.maxRadiusLineInstance_),this.maxRadiusLineInstance_=void 0,this.radiusVerticalInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.radiusVerticalInstance_),this.radiusVerticalInstance_=void 0,this.minRadiusLabelInstance_&&this.minRadiusLabelInstance_.clear(),this.minRadiusLabelInstance_=void 0,this.maxRadiusLabelInstance_&&this.maxRadiusLabelInstance_.clear(),this.maxRadiusLabelInstance_=void 0,this.wallHeightLabelInstance_&&this.wallHeightLabelInstance_.clear(),this.wallHeightLabelInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class W6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;geometryPolylineInstance_=void 0;pointInstances_=[];centerPointInstances_=[];distanceLabelInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isCopy_=!1;isStartDraw_=!1;screenSpaceHandler_;heightMode_=0;defaultHeight_=void 0;isAutoDrawAirRoute_=!1;isContainTakeOffBillboard_=!1;TakeOffBillboard_=void 0;TakeOffBillboardGround_=void 0;TakeOffBillboardVerticalLine_=void 0;TakeOffBillboardLine1_=void 0;TakeOffBillboardLine2_=void 0;TakeOffBillboardLine3_=void 0;TakeOffBillboardHeightLabel_=void 0;TakeOffBillboardHeightLabel1_=void 0;TakeOffBillboardDistanceLabel_=void 0;TakeOffBillboardCoordinate_=void 0;TakeOffBillboardCoordinate1_=void 0;TakeOffBillboardCoordinate2_=void 0;TakeOffBillboardGroundCartographic_=void 0;TakeOffALTDragPlane_=void 0;TakeOffSecureHeight_=void 0;polylineCoordinates_=[];startCoordinate_=void 0;isDistanceVisible_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.lineOptions,e?.lineOptions)||!le.isEqual(this.data_?.takeOffBillboardCoordinate,e?.takeOffBillboardCoordinate)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDrawTakeOffBillboard(!0),this.reDraw(),this.isStartDraw_||this.reDrawPolyline())};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i,n=this.containerID_.split("-cesium")[0],s=B.addTerrainHeight(n,this.data_.coordinates,this.heightMode_);this.data_.coordinates=s,t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,takeOffBillboardCoordinate:this.TakeOffBillboardCoordinate_,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,takeOffBillboardCoordinate:this.TakeOffBillboardCoordinate_,class:this.dataClass_,type:e},B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0;let e=this.containerID_.split("-cesium")[0],t=B.addTerrainHeight(e,this.data_.coordinates,this.heightMode_);this.data_.coordinates=t,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseUp=(e,t)=>{if(B.removeMenu(this.containerID_),!(!this.isEditable_||t===void 0))if(t===-99999){let i=B.getMapEngineInstance(this.containerID_);B.getTerrainHeight(i,this.TakeOffBillboardCoordinate_).then(n=>{this.TakeOffBillboardCoordinate_?.altitude<n?.coordinate?.altitude&&(this.TakeOffBillboardCoordinate_.altitude=n?.coordinate?.altitude),this.reDrawTakeOffBillboard(),this.emitGraphChanged("setTakeOffPoint")})}else t!==void 0&&(this.isStartDraw_?t===this.data_.coordinates.length-2?this.reDrawPolyline(!0):this.emitGraphChanged("update",t):this.reDrawPolyline())};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_);if(this.isContainTakeOffBillboard_&&!this.TakeOffBillboardCoordinate_){this.TakeOffBillboardCoordinate_=B.getGroundPoint(t,e.position),this.TakeOffBillboardCoordinate_&&(this.reDrawTakeOffBillboard(!0),this.isStartDraw_||this.reDrawPolyline(),this.emitGraphChanged("setTakeOffPoint"),B.recoverCursor(this.containerID_,"custom-cursor"));return}let i=B.getGroundPoint(t,e.position),n=t.scene.pick(e.position),s=this.data_?.coordinates??[];if(i){let a=le.cloneDeep(i);if(this.isStartDraw_){if(n&&typeof n.id=="string"){let o=n.id;if((n.primitive instanceof Cesium.Billboard||n.primitive instanceof Cesium.PointPrimitive)&&o.includes("-&-ZYWL-&-GeometryEditingGroundPolygon-Point-")&&B.extractionIndex(o)===s.length-2){s.length>3&&(this.isStartDraw_=!1,s.splice(s.length-1,1),this.clearScreenSpaceHandler(),this.reDraw(),setTimeout(()=>{this.reDrawCustomHTML(s.map(h=>B.transformCartesian3(h)))},10));return}}s.push(le.cloneDeep(a))}else if(!s.length)s.push(le.cloneDeep(a)),s.push(le.cloneDeep(a)),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(o=>{if(this.isStartDraw_){let l=B.getGroundPoint(t,o.endPosition);l&&(this.data_.coordinates[this.data_.coordinates.length-1].longitude=l.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=l.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=l.altitude,this.reDraw())}},Cesium.ScreenSpaceEventType.MOUSE_MOVE);else if(n){if(typeof n.id=="string"){let o=n.id;if(n.primitive instanceof Cesium.PointPrimitive&&o.includes("-&-ZYWL-&-GeometryEditingGroundPolygon-CenterPoint-")){let l=B.extractionIndex(o),h=n.primitive.position;h&&(s.splice(l+1,0,B.transformCoordinate(h)),setTimeout(()=>{this.reDrawCustomHTML(s.map(c=>B.transformCartesian3(c)))},10))}}}else{this.isEditable_=!1,this.reDraw(),this.emitGraphEdited(),this.clearScreenSpaceHandler();return}this.reDraw(),this.emitGraphChanged("update")}};mouseMove=(e,t)=>{if(B.removeMenu(this.containerID_),!this.isEditable_||t===void 0)return;let i=B.getMapEngineInstance(this.containerID_),n;t===-99999&&this.isContainTakeOffBillboard_&&this.TakeOffBillboardCoordinate_?(n=B.getClampToGroundPosition(i,e.endPosition,!1,this.TakeOffBillboardCoordinate_),n&&n.coordinate&&(this.TakeOffBillboardCoordinate_.longitude=n.coordinate.longitude,this.TakeOffBillboardCoordinate_.latitude=n.coordinate.latitude,this.TakeOffBillboardGroundCartographic_&&(this.TakeOffBillboardGroundCartographic_=B.getCartographicFromCoordinate(i,this.TakeOffBillboardCoordinate_,!0)),this.reDrawTakeOffBillboard(!0))):Array.isArray(this.data_.coordinates)&&this.data_.coordinates.length&&(n=B.getClampToGroundPosition(i,e.endPosition,!0,this.data_?.coordinates[t]),n&&n.coordinate&&(this.data_.coordinates[t].longitude=n.coordinate.longitude,this.data_.coordinates[t].latitude=n.coordinate.latitude,this.data_.coordinates[t].altitude=n.coordinate.altitude,this.reDraw()))};mouseRightClick=e=>{this.isDelete_&&(e!==void 0?(this.data_.coordinates.splice(e,1),this.emitGraphChanged("delete",e)):(this.data_.coordinates=[],this.emitGraphRemoved()),this.data_.coordinates.length>0?(this.reDraw(),this.reDrawPolyline()):(this.clearTakeOffBillboardHeightLabel(),this.clearGeometry(),this.clearPolyline(),this.clearPoints(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()))};mouseAltLeftDown=e=>{let i=B.getMapEngineInstance(this.containerID_).scene,n=i.camera,s=i.pick(e.position);if(s){let a=s.primitive;if(a&&a instanceof Cesium.Billboard){let o=s.id;if(typeof o=="string"&&o===this.data_.ID+"-&-ZYWL-&-TakeOffBillboard"&&!this.TakeOffALTDragPlane_&&this.TakeOffBillboardCoordinate_){let l=Cesium.Cartesian3.fromDegrees(this.TakeOffBillboardCoordinate_.longitude,this.TakeOffBillboardCoordinate_.latitude,this.TakeOffBillboardCoordinate_.altitude),h=B.offsetHeadingPitch2Position(l,n.heading,0,50),c=Cesium.Cartesian3.subtract(l,h.cartesian3,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(c,c),this.TakeOffALTDragPlane_=Cesium.Plane.fromPointNormal(l,c)}}}};mouseAltLeftUp=e=>{this.TakeOffALTDragPlane_&&(this.TakeOffALTDragPlane_=void 0,this.reDrawTakeOffBillboard(),this.emitGraphChanged("setTakeOffPoint"))};mouseAltMove=e=>{B.removeMenu(this.containerID_);let s=B.getMapEngineInstance(this.containerID_).scene.camera.getPickRay(e.endPosition);if(this.TakeOffALTDragPlane_){let a=Cesium.IntersectionTests.rayPlane(s,this.TakeOffALTDragPlane_,new Cesium.Cartesian3);if(a){let o=B.transformCartographic(a);this.TakeOffBillboardCoordinate_&&(this.TakeOffBillboardCoordinate_.altitude=o.height),this.reDrawTakeOffBillboard(!0)}}};addAltAction=()=>{if(!this.screenSpaceHandler_){let e=B.getMapEngineInstance(this.containerID_);this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(e.scene.canvas)}this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT)||this.screenSpaceHandler_.setInputAction(e=>{this.mouseAltLeftDown(e)},Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT)||this.screenSpaceHandler_.setInputAction(e=>{this.mouseAltLeftUp(e)},Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT)||this.screenSpaceHandler_.setInputAction(e=>{this.mouseAltMove(e)},Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT))};async reDrawTakeOffBillboard(e){let t=B.getMapEngineInstance(this.containerID_);if(this.TakeOffBillboardCoordinate_){let i=this.data_.ID,n=B.transformCartesian3(this.TakeOffBillboardCoordinate_);if(this.TakeOffBillboard_)this.TakeOffBillboard_.position=n,this.TakeOffBillboard_.show=this.visible_;else{let s=B.getBillboardCollection(this.containerID_);this.TakeOffBillboard_=s.add(new Cesium.Billboard({position:n,id:i+"-&-ZYWL-&-TakeOffBillboard",show:this.visible_,image:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAABHNCSVQICAgIfAhkiAAADBpJREFUeF7dnO1OHNcZxwfbTUhCCgTXNG9lCZYtO7KBRK3aD5WXKyhWv0bKcgVe30AM6gUYX4Gxqn6GXAGLKrVqowRIWlu24njJa43iGBISO65d+vyO50wOhzOzZ3ZmZ8CPNNq32TnP+c/zfp4zXUGJtL29XZHhh+QYk6MvZKUavvKZ76EVOTbC943wlc98v9bV1dUsaxpdRQ8soAHK23IAlAYoKxsACbBXBEzeF0YdB1AAQ5LOyDEZHlrSOjVJJHMhPJYEUC25HRmvowAKeBeE67ocsaAtbX4XrGz9EGw8fKQm2Ph2S73yme+hsZ5ng75DB9X76s971Cuf+f5M7/NJwADerIA40xH05KIdAVCAQ0Wn5ajYjK/dfxA0BLSFOxvqyIMmB/oCjqqAOdT9lOuSTfgRIK/kMZ55jVwBFOCqcvHLNnCANnf762Dhm81IqvKeiL4eUjn5Qm9QGzzsAhMgpwTIRl7j5wJg6BguomEmY5uihvVPPlfglUGAOPvaK0FvqP4GDwB4Pg+HkxlAAQ/ngNRFdg7gZr+4Hcx+uR7ZtjIAZExsZf2lI0H95UEbSOzH2azSmAlAAe+cMDFrgnNJgJv+9KvSgbNvGEBO/+rF4JwAaREqPdfuDW4bQAEPqavpgbFzk9dudtzGtTtR00YunBix7eOcgDjVzrVTAxjGdYsyWBQEr37/Q1D98Maek7o4QJDGxuljwehzz5qnYBdR6VShQSoAQ2cxLwNV9MhXbt8Jajea7dy80v8zd6wSvD04YPJBFoNKe2cz3gCGkrdsgndePCzOYj8TzuWieGqDAG/CVxLTAAh4Sm3xskhdXoFw2TeAIBxpNMKdhgA44cOXF4C2wzh79eYTA54GCRDnT46YmHk5lpYACnjksgTJip4EtY2TLIc6twxxEgEMg2SchqL97DB81JFzHI4Fe9iI+38sgKHHJVxRGQahytgH13z5yHxez4EDwR9/0a9uWtG08sYJM8QhrAFEp2dOAhDwqjBPkDy2fLWwOK/v4MFgcfR4MPbcM5JH3wmmCg6TiBNXxk+awXasU3ECGFZVAFDR+PK1wjIMEzw9fhkgUtVZHj9hCr9TleMAvCX/rPBvclsqKkWQC7wyQaSSY+TOK6LG4zYOuwAU6avJSeS5Kt6rvPdRIaqbBF5ZIKLKzV+fMuPDXV7ZBWAkfTNrX6rKSqfJBzzNA8H71PVmsPHo8RJAp4kKzoWhl/QwTZHCYXPMHQCK9E3Lj6xjFCZ9laefCuZfP6ochi+tfH8vmFi9XgiIDimcERDBSVEEYJjrIn0qbJm6sdbxSjKgLZ4+Hi0Y+QLIeUWCSGX78jGWrxUR1gzrXNkEkMqyCpoJW7B9naQs4Gm+igQRW2gsWFH2Yul0hwTOyWdW04KibJ99g7Z//2biPVva3JK64/VO3tfYa1u28IoAWLMBvKvVt8i4z+R4LwNoxYUbAmB/BGCYtlGuKkR9427zXgYQni01Hie9UzZQAGRhiAWiUgsGex1Aq9BwSQCsawCjYmmZtT46C5Jo4+FD5X3LIqtmqDKTrrDFjPBFUddf3y+Lv30xrqUlwwBYFc5V4YBGH1bXyqLZ114NRnviA+rVrXuSl39WFntqXFbzjIamCQCMKs5FFg5cKDQkqD7T+7j7ykVlhjGaH6vAcB4Ap+VHlb6VFf9p5vYDgFY8OLMDwLLXO1Bh4q04ol+wbBV2AdgQhukgDSY+uhE0Nr4r1cbs9cGrfc8Hi6eOaTaXkMDSAMTe9R86FC2RplHhC1Jmav74IGje/zHAuRRV3nIBGNX/ht/7l2KoE0TZ6ozcPWIp1JTPkOkY0gBoB92AifbQ/bokr3zuBFkp3QoSuK0HyjsGBCRK4pOH+yLA7EnlBaB9XQBc+HpDLUnkDaZ58zoCIA07LFL7FElNANM4kVZpnwko2Qs9PHktkdoANmUwVS3MqsKo58WRV2OlTU9qVSaER30sJXfbSs+Q7kr30wE2ife8DoVmIU51GW9alimyAGmp8GouToQ1jfnXR1SXfBy9G3blY6fyVik9pgaSG/kHOeIoy7pK7l44qbK8Ft5xbJHLSwL8uZeP7JjnTItFLLyvSUiT64ZwbWzvtCwIuSSTfSgTUpxNW5xwARiVstIG0nHgbcqKWf3mZ6qrIInqAt5FCZ6joMqj4mx76vOSG89+sZ44Tk1s8qyYll4B1aR2QEzMRNKkcnHgoao1z2XH5TdO7nA0Ps1LOBpTapG+4X+2Xr9BIueOV3apNiCOf3DV26y4AGyrmLAoVQnb5vkAoCWAGwCAJiGxrfaUTA70i4ffqfYA4KuKju4rFTtOeFahXMWEqkwiVTnrtEx+1Zo89m7sfWlA8lzwtiUpS9Cb5sYhiStvSuOQ5bFHJIn4xCOJcJWzKsJ8qoLqW0deCP58fMcCveqgamXzTJBu/eZUy3DHF1TUsP/v3n3hSoJN28s4b12/Ffxl/ZvEIVlkv/u7aHOCivx0SZ/RR/nGp6T/jni2GcsbogKogg852ml9/pZ4TpobiOnBBJn0jsSHf2oRAVh8r0pJf6ytRSUXgD7Aa4ZddgjP3fc3PylqivTaKojzmpTebR9y3UAfAC2+VYuHBhC5VMuaTelKGG7RleBi4JKEEj61OmwQ6qv3/+oJpwHAdQOUPok39gnSXfbXRwBuSXdC5afttD8tazK41BTo+ejlfauF9cGfHQr+81ul8TvIxxsSk12WLQU2+cRz+j9ZruFSX647+I8Pg/UH/40VYCuF2xTpU6mO2RszJ5+9Wztcd5G7f/bfHyeGFGQGrpSvfvNT71AEKV6Qji6bKMUl7ZqKi119tMentSNqLvJRYybRkD7mUastDY+INKXxyD52K+s5SC2e1zYdFDbGJI5sRZb6OpuLEMmmVmOf9rY4EGEGjzyz9pW3Z241gXZ/R9ovDL3olHrAq3r0GVrtbZvCS2VXexsMmit0SBLORD8MIm4CcSmSPl/X4t6NKSi0C0zS/+CJmmTtl4dja5K+KScSi/QZkutusNQMCYhIoaoPpsmNCU6xb3bCbk6UMhJ1QFV2l8JBnsT6CtKmnpmQUMoiXKIm2KoAoXmzbN+aSF7F5DuxydxXCvUFufOAaJeo4oBCOjH8+rEnK7KZxyQNsr3YPib7fPVjTyiq+lS+uS7OAvB8002H9LVuMg9VOZLCdroVALL+yqA8OWOgZZU4Tyl0XYscHYc2+/ltb+D0dax4U2Ue9hgd32gTPdPFo+SeF5iARuUb4HzTS3vsTBttQilsyKtacCesGc9hqxeqBmPaVtkhULsA6jUWwMIc+Ja24sZDdZdlq5eRdSyJ9FVd57fabAiIKjuBMTKUvOmo2LCegweCo890q1dIfe7u3jGUaR+3Hv0v+Pje/UC9epSg0vLMFi+jxYSwpZp6s2EohaAe7ZkrY89a2slnPZ80E9ttkHOPnP7dZ8N1TU5WW7+gtOsmWSdU5P9z33CtmZfYcE7eqzwZ8qlcFDnxPMZyVJiirQxJ128pgQaIDXmvnArxIQXMJ+mhE6iukW3EOg0bzDQAkitT8Yz2PLENljhxPxO9OywUGbQq73EaXg/g8QaQAcL9JGxxikDcz47F4TAArxbncV2CkgrAEEQkERCVOkOEODRntio87BVJRVVpkrS6YZeEv0lfydNzSQ2gYRPn5H3kWAi2z+6Th4/Ny8PHjCCZKXk5jFwk0LyIubtdf08bGf0te00akToKqlaMB9u7CgRpNKVtCTQksRqqtMpYIMDj4Ys4mLKBBDgcBQ9htKrRZBiobCMNYPa5mQHkgqFzoUkpsosaSFbqsvTjZZkcRVXWbuwyvlwTe1dP4yzi+MgFQEsasY2Rl+Y37OPc+p2AKrB+tHEWYJL+i2OgN7B2ZMC2c/wNLwtwmaTOHD9XAA0ga/J+2gZSg6kfgwygWQnpYuuVfgyy5Rz05dfgR4Dj5uZKHQHQABIQ6f6K7KPNvS5BbUhlBdL7VCi9mw/i1ksFNDhCfVKx0aWxBESwczyIGz46Qh0FEI7Dh1lU5S3LphyxYOY0Q0AjTuXgkU3ZxTyBsY4DaI8dOpyafA+ou9sb2kMR26ZAy8MxpGGhcABN5sK9yhX5jrUG3RUOsBCfNcAApCWpEf7OZ3JzHobTTDPpPM/9PzBFc7J0xwYvAAAAAElFTkSuQmCC",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Dr&&Dr.tagName.toUpperCase()==="SCRIPT"&&Dr.src||new URL("ZYWLGIS.umd.js",document.baseURI).href).href,pixelOffset:new Cesium.Cartesian2(0,0),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:35,height:35,disableDepthTestDistance:Number.POSITIVE_INFINITY},s))}if(Array.isArray(this.polylineCoordinates_)&&this.polylineCoordinates_.length){let s=B.transformCartesian3(this.startCoordinate_),a=this.startCoordinate_.altitude,o=this.TakeOffBillboardCoordinate_.altitude;a>o?a-o>this.TakeOffSecureHeight_?(this.TakeOffBillboardCoordinate1_={longitude:this.TakeOffBillboardCoordinate_.longitude,latitude:this.TakeOffBillboardCoordinate_.latitude,altitude:a},this.TakeOffBillboardCoordinate2_=void 0):(this.TakeOffBillboardCoordinate1_={longitude:this.TakeOffBillboardCoordinate_.longitude,latitude:this.TakeOffBillboardCoordinate_.latitude,altitude:o+this.TakeOffSecureHeight_},this.TakeOffBillboardCoordinate2_={longitude:this.startCoordinate_.longitude,latitude:this.startCoordinate_.latitude,altitude:o+this.TakeOffSecureHeight_}):(this.TakeOffBillboardCoordinate1_={longitude:this.TakeOffBillboardCoordinate_.longitude,latitude:this.TakeOffBillboardCoordinate_.latitude,altitude:o+this.TakeOffSecureHeight_},this.TakeOffBillboardCoordinate2_={longitude:this.startCoordinate_.longitude,latitude:this.startCoordinate_.latitude,altitude:o+this.TakeOffSecureHeight_}),this.clearTakeOffBillboardHeightLabel();let l=B.transformCartesian3(this.TakeOffBillboardCoordinate1_),h;this.TakeOffBillboardCoordinate2_?h=B.transformCartesian3(this.TakeOffBillboardCoordinate2_):h=s,this.TakeOffBillboardLine1_=t.scene.primitives.add(new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-TakeOffBillboardHeightLine",geometry:new Cesium.PolylineGeometry({positions:[l,n],width:2,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND})}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}));let c=Cesium.Cartesian3.midpoint(l,n,new Cesium.Cartesian3),u=Cesium.Cartesian3.distance(l,n);u=Number(u.toFixed(1)),this.TakeOffBillboardHeightLabel_=new xn(this.containerID_),this.TakeOffBillboardHeightLabel_.DataProcessing({ID:i+"-&-ZYWL-&-TakeOffBillboardHeightLabel",center:c,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${u}m</div>`,dx:0,dy:0,presentationMode:1}}),this.TakeOffBillboardLine2_=t.scene.primitives.add(new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-TakeOffBillboardDistanceLine",geometry:new Cesium.PolylineGeometry({positions:[l,h],width:2,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND})}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b")}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b"),gapColor:Cesium.Color.TRANSPARENT,dashLength:20}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1}));let f=Cesium.Cartesian3.midpoint(l,h,new Cesium.Cartesian3),d=Cesium.Cartesian3.distance(l,h);d=Number(d.toFixed(1)),this.TakeOffBillboardDistanceLabel_=new xn(this.containerID_),this.TakeOffBillboardDistanceLabel_.DataProcessing({ID:i+"-&-ZYWL-&-TakeOffBillboardDistanceLabel",center:f,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${d}m</div>`,dx:0,dy:0,presentationMode:1}});let g=B.transformCartesian3(this.polylineCoordinates_[0]),A=Cesium.Cartesian3.midpoint(g,h,new Cesium.Cartesian3),m=Cesium.Cartesian3.distance(g,h);m=Number(m.toFixed(1)),m!==0&&m>1&&(this.TakeOffBillboardLine3_=t.scene.primitives.add(new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-TakeOffBillboardHeightLine1",geometry:new Cesium.PolylineGeometry({positions:[g,h],width:2,arcType:Cesium.ArcType.GEODESIC,granularity:Cesium.Math.RADIANS_PER_ARCSECOND})}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b")}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1})),this.TakeOffBillboardHeightLabel1_=new xn(this.containerID_),this.TakeOffBillboardHeightLabel1_.DataProcessing({ID:i+"-&-ZYWL-&-TakeOffBillboardHeightLabel1",center:A,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${m}m</div>`,dx:0,dy:0,presentationMode:1}}))}if(e){let s=await B.obtainGroundCartesian3s(t,[this.TakeOffBillboardCoordinate_],Cesium.ClassificationType.TERRAIN);this.clearTakeOffBillboardGround(),this.TakeOffBillboardGroundCartographic_||(this.TakeOffBillboardGroundCartographic_=B.transformCartographic(s[0]));let a;this.TakeOffBillboardCoordinate_&&(a=B.transformCartographic(this.TakeOffBillboardCoordinate_));let o;if(a&&(a.height>this.TakeOffBillboardGroundCartographic_.height?o=a.height-this.TakeOffBillboardGroundCartographic_.height:o=this.TakeOffBillboardGroundCartographic_.height-a.height),o<1)return;let l=B.transformCartesian3(this.TakeOffBillboardGroundCartographic_);if(this.TakeOffBillboardGround_)this.TakeOffBillboardGround_.position=l,this.TakeOffBillboardGround_.show=this.visible_;else{let h=B.getPointPrimitiveCollection(this.containerID_);this.TakeOffBillboardGround_=h.add(new Cesium.PointPrimitive({position:l,id:i+"-&-ZYWL-&-TakeOffBillboardGround",show:this.visible_,color:Cesium.Color.WHITE,pixelSize:6}))}if(!this.TakeOffBillboardVerticalLine_){let h=new Cesium.PolylineGeometry({positions:[l,n],width:1}),c=new Cesium.GeometryInstance({id:i+"-&-ZYWL-&-TakeOffBillboardVerticalLine",geometry:h}),u=new Cesium.Primitive({geometryInstances:c,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.WHITE}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1,allowPicking:!1});this.TakeOffBillboardVerticalLine_=t.scene.primitives.add(u)}}}else this.clearTakeOffBillboard()}async reDraw(){this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDistanceVisible_=this.data_?.isDistanceVisible??!1,this.isEditable_&&this.addAltAction(),this.isDelete_=this.data_?.isDelete??!1,this.isCopy_=this.data_?.isCopy??!1,this.heightMode_=this.data_?.heightMode??1,this.defaultHeight_=this.data_?.defaultHeight??1,this.isAutoDrawAirRoute_=this.data_?.isAutoDrawAirRoute??!1,this.isContainTakeOffBillboard_=this.data_?.isContainTakeOffBillboard??!1,this.TakeOffSecureHeight_=this.data_?.takeOffSecureHeight??100,this.isContainTakeOffBillboard_&&!this.TakeOffBillboard_&&!this.TakeOffBillboardCoordinate_&&(this.TakeOffBillboardCoordinate_=this.data_?.takeOffBillboardCoordinate,this.TakeOffBillboardCoordinate_||B.setCustomCursor(this.containerID_,"custom-cursor"));const e=this.data_.ID,t=B.getMapEngineInstance(this.containerID_),i=this.data_?.coordinates;if(Array.isArray(i)&&i.length){const n=await B.getTerrainHeights(t,this.data_.coordinates),s=le.cloneDeep(n.positions);let a;s.length>1?a=Cesium.Cartesian3.divideByScalar(s.reduce((l,h)=>Cesium.Cartesian3.add(l,h,new Cesium.Cartesian3)),s.length,new Cesium.Cartesian3):a=s[0];const o=await B.getTerrainHeight(t,a);if(a=le.cloneDeep(o.position),this.clearGeometry(),s.length>2&&!this.geometryInstance_){let l=this.data_?.symbol?.polygonColor??"#2f91f8";l=Cesium.Color.fromCssColorString(l);let h=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(s)}),c=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingGroundPolygon",geometry:h}),u=new Cesium.GroundPrimitive({geometryInstances:c,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(l,.3)}}})}),show:this.visible_,asynchronous:!1});this.geometryInstance_=t.scene.groundPrimitives.add(u)}if(s.length>1&&!this.geometryOutlineInstance_){let l=this.data_?.symbol?.lineWidth??2,h=this.data_?.symbol?.lineColor??"#2f91f8";h=Cesium.Color.fromCssColorString(h);let c=le.cloneDeep(s);c.push(c[0]);let u=new Cesium.GroundPolylineGeometry({positions:c,width:l}),f=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingGroundPolygonOutline",geometry:u}),d=new Cesium.GroundPolylinePrimitive({geometryInstances:f,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:h}}})}),show:this.visible_,asynchronous:!1,allowPicking:!1});this.geometryOutlineInstance_=t.scene.groundPrimitives.add(d)}this.reDrawPoints(s),this.reDrawCenterPoints(s),this.reDrawDistanceLabels(s),this.reDrawCenterLabel(a),this.reDrawCenterHTML(a),this.reDrawCustomLabel(s),this.reDrawCustomHTML(s)}}reDrawPolyline=e=>{this.clearPolyline();let t=this.data_?.lineOptions;if(this.isAutoDrawAirRoute_&&t&&this.data_.coordinates&&this.data_.coordinates.length>2){const i=t?.margin??0,n=t?.direction??0,s=t?.overlapW??80,a=t?.height??100,o=t?.altitudeOptimization??!1,l=this.data_?.cameraType??"M3TD";B.AlgorithmForGeneratingPlanarRoutes(this.containerID_.split("-cesium")[0],this.TakeOffBillboardCoordinate_,this.data_.coordinates,{lineOptions:{margin:i,direction:n,overlapW:s,height:a,altitudeOptimization:o},cameraType:l},this.heightMode_,this.defaultHeight_,h=>{this.geometryPolylineInstance_||(this.geometryPolylineInstance_=new vI(this.containerID_,"AirRoutes"),this.geometryPolylineInstance_.DataProcessing({ID:Cg()+"-&-ZYWL-&-GeometryEditingGroundPolygon-AirRoutes",type:2,visible:!0,isClampToGround:!1,isHighlight:!0,zIndex:0,symbol:{lineWidth:2,lineColor:"#0aed8b"},coordinates:h.coordinates})),this.polylineCoordinates_=h.coordinates,this.startCoordinate_=h.start,this.reDrawTakeOffBillboard(),e?this.emitGraphChanged("complete"):this.emitGraphChanged("update")})}};reDrawPoints=e=>{if(this.clearPoints(),B.getMapEngineInstance(this.containerID_)&&this.visible_&&this.isEditable_){const i=B.getBillboardCollection(this.containerID_);for(let n=0;n<e.length;n++){let s=this.data_.ID+"-&-ZYWL-&-GeometryEditingGroundPolygon-Point-"+n,a=e[n];if(this.isStartDraw_&&n===e.length-1)break;let o=!1;e.length>2&&n===e.length-2&&this.isStartDraw_&&(o=!0);let l=i.add(new Cesium.Billboard({position:a,id:s,show:this.visible_,image:B.getDrawPointIcon(o),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,width:20,height:20,disableDepthTestDistance:Number.POSITIVE_INFINITY},i));this.pointInstances_.push({ID:s,index:n,primitive:l})}}};reDrawCenterPoints=e=>{if(this.visible_&&this.isEditable_&&!this.isStartDraw_&&e.length>=3){let t=B.getMapEngineInstance(this.containerID_),i=B.getPointPrimitiveCollection(this.containerID_),n=[];for(let s=0;s<e.length;s++){let a,o;s===e.length-1?(a=e[s],o=e[0]):(a=e[s],o=e[s+1]),a&&o&&n.push(Cesium.Cartesian3.midpoint(a,o,new Cesium.Cartesian3))}B.getTerrainHeights(t,n).then(s=>{this.clearCenterPoints();for(let a=0;a<s.positions.length;a++){let o=this.data_.ID+"-&-ZYWL-&-GeometryEditingGroundPolygon-CenterPoint-"+a,l=s.positions[a],h=i.add(new Cesium.PointPrimitive({position:l,id:o,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.centerPointInstances_.push({ID:o,index:a,primitive:h})}})}else this.clearCenterPoints()};reDrawDistanceLabels=e=>{if(this.visible_&&(this.isEditable_||!this.isEditable_&&this.isDistanceVisible_)&&e.length>=3){let t=B.getMapEngineInstance(this.containerID_),i=[],n=[];for(let s=0;s<e.length;s++){let a,o;if(s===e.length-1?(a=e[s],o=e[0]):(a=e[s],o=e[s+1]),a&&o){i.push(Cesium.Cartesian3.midpoint(a,o,new Cesium.Cartesian3));let l=Cesium.Cartesian3.distance(a,o),h;l>1e3?(l=l/1e3,l=Number(l.toFixed(2)),h=`${l}km`):(l=Number(l.toFixed(2)),h=`${l}m`),n.push({content:h,distance:l})}}B.getTerrainHeights(t,i).then(s=>{this.clearDistanceLabels();for(let a=0;a<s.positions.length;a++){let o=this.data_.ID+"-&-ZYWL-&-GeometryEditingGroundPolygon-DistanceLabel-"+a,l=s.positions[a],h=n[a],c=new xn(this.containerID_),u=0;this.visible_&&this.isEditable_&&(u=-18),c.DataProcessing({ID:o,center:l,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${h.content}</div>`,dx:0,dy:u,presentationMode:h.distance<1?0:11}}),this.distanceLabelInstances_.push(c)}})}else this.clearDistanceLabels()};reDrawCenterLabel=e=>{let t=B.getMapEngineInstance(this.containerID_),i=this.data_?.customLabel;if(t&&this.visible_&&i&&e){let n=B.getLabelCollection(this.containerID_),s=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",a=i?.show??!1,o=i?.content??"",l=i?.showBackground??!1,h=i?.dx??0,c=i?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=e,this.centerLabelInstance_.show=a,this.centerLabelInstance_.text=o,this.centerLabelInstance_.showBackground=l,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(h,c)):this.centerLabelInstance_=n.add(new Cesium.Label({position:e,id:s,show:a,text:o,font:"18px sans-serif",showBackground:l,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(h,c),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},n))}else this.clearCenterLabel()};reDrawCenterHTML=e=>{this.clearCenterHTML();let t=B.getMapEngineInstance(this.containerID_),i=this.data_?.customHTML;t&&this.visible_&&i&&e&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:e,customHTML:i}))};reDrawCustomLabel=e=>{if(B.getMapEngineInstance(this.containerID_)&&this.visible_){if(e.length<1){this.clearCustomLabel();return}e.length!==this.customLabelInstances_.length&&this.clearCustomLabel();let i=B.getLabelCollection(this.containerID_),n=this.data_?.coordinates;for(let s=0;s<e.length;s++){let a=e[s],l=n[s]?.customLabel;if(l){let h=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+s,c=l?.show??!1,u=l?.content??"",f=l?.showBackground??!1,d=l?.dx??0,g=l?.dy??0,A=this.customLabelInstances_.find(m=>m.ID===h);if(A)A.primitive.position=a,A.primitive.show=c,A.primitive.text=u,A.primitive.showBackground=f,A.primitive.pixelOffset=new Cesium.Cartesian2(d,g);else{let m=i.add(new Cesium.Label({position:a,id:h,show:c,text:u,font:"18px sans-serif",showBackground:f,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(d,g),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},i));this.customLabelInstances_.push({ID:h,index:s,primitive:m})}}}}else this.clearCustomLabel()};reDrawCustomHTML=e=>{this.clearCustomHTML();let t=B.getMapEngineInstance(this.containerID_);if(t&&this.visible_){let i=this.data_?.coordinates;for(let n=0;n<e.length;n++){let s=e[n],o=i[n]?.customHTML;if(o){let l=new xn(this.containerID_);l.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+n,center:B.getCartesian3FromCartesian3(t,s,!0),customHTML:o}),this.customHTMLInstances_.push(l)}}}};primitivesHighlighted=(e,t,i)=>{if(this.isStartDraw_||this.isEditable_||(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!this.isHighlight_))return;if(this.geometryInstance_){let s;e?s=.4:s=.3,this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),s)}}})})}if(this.geometryOutlineInstance_){let s;e?s=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}):s=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff")}}})}),this.geometryOutlineInstance_.appearance=s}let n;e?n=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}):n=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromCssColorString("#0aed8b")}}})}),this.TakeOffBillboardLine1_&&(this.TakeOffBillboardLine1_.appearance=n),this.TakeOffBillboardLine2_&&(this.TakeOffBillboardLine2_.appearance=n),this.TakeOffBillboardLine3_&&(this.TakeOffBillboardLine3_.appearance=n),this.geometryPolylineInstance_&&this.geometryPolylineInstance_.primitivesHighlighted(e)};clear=()=>{window.EditElement=void 0,B.recoverCursor(this.containerID_,"custom-cursor"),this.clearScreenSpaceHandler(),this.clearTakeOffBillboard(),this.clearGeometry(),this.clearPolyline(),this.clearPoints(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOWN,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_UP,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE,Cesium.KeyboardEventModifier.ALT),this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearTakeOffBillboard=()=>{let e=B.getBillboardCollection(this.containerID_);this.TakeOffBillboard_&&e&&e.remove(this.TakeOffBillboard_),this.TakeOffBillboard_=void 0,this.TakeOffBillboardCoordinate_=void 0,this.TakeOffBillboardCoordinate1_=void 0,this.TakeOffBillboardCoordinate2_=void 0,this.clearTakeOffBillboardGround(),this.clearTakeOffBillboardHeightLabel()};clearTakeOffBillboardGround=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.TakeOffBillboardGround_&&e&&e.remove(this.TakeOffBillboardGround_);let t=B.getMapEngineInstance(this.containerID_);this.TakeOffBillboardVerticalLine_&&t&&t?.scene&&t?.scene?.primitives&&t.scene.primitives.remove(this.TakeOffBillboardVerticalLine_),this.TakeOffBillboardGround_=void 0,this.TakeOffBillboardVerticalLine_=void 0};clearTakeOffBillboardHeightLabel=()=>{let e=B.getMapEngineInstance(this.containerID_);this.TakeOffBillboardLine1_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.TakeOffBillboardLine1_),this.TakeOffBillboardLine2_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.TakeOffBillboardLine2_),this.TakeOffBillboardLine3_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.TakeOffBillboardLine3_),this.TakeOffBillboardLine1_=void 0,this.TakeOffBillboardLine2_=void 0,this.TakeOffBillboardLine3_=void 0,this.TakeOffBillboardHeightLabel_&&this.TakeOffBillboardHeightLabel_.clear(),this.TakeOffBillboardHeightLabel_=void 0,this.TakeOffBillboardHeightLabel1_&&this.TakeOffBillboardHeightLabel1_.clear(),this.TakeOffBillboardHeightLabel1_=void 0,this.TakeOffBillboardDistanceLabel_&&this.TakeOffBillboardDistanceLabel_.clear(),this.TakeOffBillboardDistanceLabel_=void 0};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.groundPrimitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.groundPrimitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearPolyline=()=>{this.geometryPolylineInstance_&&this.geometryPolylineInstance_.clear(),this.geometryPolylineInstance_=void 0,this.polylineCoordinates_=[]};clearPoints=()=>{let e=B.getBillboardCollection(this.containerID_);if(this.pointInstances_&&e)for(let t=0;t<this.pointInstances_.length;t++){let i=this.pointInstances_[t];e.remove(i.primitive)}this.pointInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.centerPointInstances_&&e)for(let t=0;t<this.centerPointInstances_.length;t++){let i=this.centerPointInstances_[t];e.remove(i.primitive)}this.centerPointInstances_=[]};clearDistanceLabels=()=>{if(this.distanceLabelInstances_)for(let e=0;e<this.distanceLabelInstances_.length;e++)this.distanceLabelInstances_[e].clear();this.distanceLabelInstances_=[]};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class Y6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryBottomOutlineInstance_=void 0;geometryTopOutlineInstance_=void 0;geometryPolylineInstance_=void 0;bottomPointInstances_=[];topPointInstances_=[];bottomCenterPointInstances_=[];topCenterPointInstances_=[];distanceLabelInstances_=[];verticalLineInstances_=[];minRadiusLabelInstance_=void 0;maxRadiusLabelInstance_=void 0;wallHeightLabelInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isStartDraw_=!1;isStartPullUP_=!1;screenSpaceHandler_;wallCoordinates_=[];isAutoDrawAirRoute_=!1;polylineCoordinates_=[];center_=void 0;minHeight_=void 0;maxHeight_=void 0;wallHeight_=void 0;axisInstance_=void 0;polygonPlane_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.lineOptions,e?.lineOptions)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw(),setTimeout(()=>{!this.isStartDraw_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline())},10))};emitGraphClick=()=>{this.isEditable_||B.emitGraphClick(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphChanged=(e,t)=>{let i;switch(e){case"update":t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,class:this.dataClass_,type:e};break;case"delete":i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,class:this.dataClass_,type:e,index:t};break;case"copy":i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,class:this.dataClass_,type:e,index:t};break;default:i={ID:this.data_.ID,data:this.data_,coordinates:this.data_.coordinates,polylineCoordinates:this.polylineCoordinates_,minHeight:this.minHeight_,maxHeight:this.maxHeight_,class:this.dataClass_,type:"update"};break}B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseDown=(e,t)=>{!this.isEditable_||t===void 0||(t===9001?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowY"):t===90010?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowYN"):!this.isStartDraw_&&!this.isStartPullUP_&&this.wallHeight_&&this.createPolygonPlane(t,e))};mouseUp=(e,t)=>{!this.isEditable_||t===void 0||(t===9001||t===90010?this.axisInstance_&&this.axisInstance_.mouseUp():this.isStartDraw_&&!this.isStartPullUP_||!this.isStartDraw_&&this.isStartPullUP_||this.clearPolygonPlane(),setTimeout(()=>{!this.isStartDraw_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline(),this.emitGraphChanged("update",t))},10))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_),i;if(this.polygonPlane_){let s=t.scene.camera.getPickRay(e.position);i=B.transformCoordinate(Cesium.IntersectionTests.rayPlane(s,this.polygonPlane_,new Cesium.Cartesian3))}else{let s=B.getClampToGroundPosition(t,e.position,!0);s&&s.coordinate&&(i=le.cloneDeep(s.coordinate))}let n=t.scene.pick(e.position);if(i){if(!this.isStartDraw_&&!this.isStartPullUP_)if(this.data_?.coordinates.length){if(!n)this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.reDrawAxis(),this.emitGraphEdited(),this.clearScreenSpaceHandler();else if(n.primitive instanceof Cesium.PointPrimitive&&typeof n.id=="string"&&(n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-BottomCenterPoint-")||n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-TopCenterPoint-"))){let s=B.extractionIndex(n.id),a=B.transformCoordinate(n.primitive.position);this.data_?.coordinates.splice(s,0,a),this.reDraw(),!this.isStartPullUP_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline())}}else{this.isStartDraw_=!0,this.data_.coordinates.push(le.cloneDeep(i)),this.data_.coordinates.push(le.cloneDeep(i)),this.minHeight_=le.cloneDeep(this.data_.coordinates[0].altitude),this.maxHeight_=le.cloneDeep(this.minHeight_),this.wallHeight_=this.maxHeight_-this.minHeight_;for(let s=0;s<this.data_.coordinates.length;s++)this.data_.coordinates[s].altitude=this.minHeight_;this.center_=B.computeMultipointCenter(this.data_.coordinates),this.createPolygonPlane(),this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(s=>{let a=t.scene.camera.getPickRay(s.endPosition);if(this.isStartDraw_&&this.polygonPlane_)this.data_.coordinates[this.data_.coordinates.length-1]=B.transformCoordinate(Cesium.IntersectionTests.rayPlane(a,this.polygonPlane_,new Cesium.Cartesian3));else if(this.isStartPullUP_&&this.polygonPlane_){let o=Cesium.IntersectionTests.rayPlane(a,this.polygonPlane_,new Cesium.Cartesian3);this.maxHeight_=le.cloneDeep(B.transformCoordinate(o).altitude),this.wallHeight_=this.maxHeight_-this.minHeight_}this.reDraw()},Cesium.ScreenSpaceEventType.MOUSE_MOVE)}else if(this.isStartDraw_&&!this.isStartPullUP_){let s=!1;if(n){if(typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&(n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-BottomPoint-")||n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-TopPoint-")))B.extractionIndex(n.id)===this.data_?.coordinates.length-1&&(s=!0);else{let a=t.scene.drillPick(e.position,20);a=Array.from(new Set(a));for(let o=0;o<a.length;o++)if(n=a[o],typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&(n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-BottomPoint-")||n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-TopPoint-"))&&B.extractionIndex(n.id)===this.data_?.coordinates.length-1){s=!0;break}}if(s){this.isStartDraw_=!1,this.isStartPullUP_=!0,this.data_.coordinates.splice(this.data_.coordinates.length-1,1),this.createPolygonPlane();return}}this.data_.coordinates.push(le.cloneDeep(i))}else if(!this.isStartDraw_&&this.isStartPullUP_){let s=!1;if(n){if(typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-TopPoint-"))B.extractionIndex(n.id)===this.data_?.coordinates.length&&(s=!0);else{let a=t.scene.drillPick(e.position,20);a=Array.from(new Set(a));for(let o=0;o<a.length;o++)if(n=a[o],typeof n.id=="string"&&n.primitive instanceof Cesium.PointPrimitive&&n.id.includes("-&-ZYWL-&-GeometryEditingPolygonWall-TopPoint-")&&B.extractionIndex(n.id)===this.data_?.coordinates.length){s=!0;break}}if(s){this.isStartDraw_=!1,this.isStartPullUP_=!1,this.clearPolygonPlane(),this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.reDraw(),!this.isStartPullUP_&&!this.isStartPullUP_&&this.wallHeight_&&(this.reDrawAxis(),this.reDrawPolyline()),this.emitGraphChanged("update");return}}}this.reDraw()}};mouseMove=(e,t)=>{if(!(!this.isEditable_||t===void 0||!this.isStartPullUP_&&this.isStartDraw_||this.isStartPullUP_&&!this.isStartDraw_))if(this.polygonPlane_){let n=B.getMapEngineInstance(this.containerID_).scene.camera.getPickRay(e.endPosition),s=Cesium.IntersectionTests.rayPlane(n,this.polygonPlane_,new Cesium.Cartesian3);switch(t){case 9990:this.minHeight_=B.transformCoordinate(s).altitude,this.wallHeight_=this.maxHeight_-this.minHeight_;break;case 9991:this.maxHeight_=B.transformCoordinate(s).altitude,this.wallHeight_=this.maxHeight_-this.minHeight_;break;default:s=B.transformCoordinate(s),this.data_.coordinates[Math.abs(t)-1].longitude=s.longitude,this.data_.coordinates[Math.abs(t)-1].latitude=s.latitude;break}this.reDraw(),this.reDrawAxis()}else switch(t){case 9001:case 90010:this.axisInstance_&&this.axisInstance_.mouseMove("Arrow",e,i=>{this.data_.coordinates=le.cloneDeep(i),this.maxHeight_=this.data_.coordinates[0].altitude+this.wallHeight_*.5,this.minHeight_=this.data_.coordinates[0].altitude-this.wallHeight_*.5,this.reDraw()});break}};mouseRightClick=e=>{this.isDelete_&&(e!==void 0?this.data_.coordinates.splice(e-1,1):(this.data_.coordinates=[],this.wallCoordinates_=[],this.polylineCoordinates_=[],this.minHeight_=void 0,this.maxHeight_=void 0,this.wallHeight_=void 0,this.emitGraphRemoved(),this.clear()),this.reDraw(),this.reDrawAxis(),this.reDrawPolyline())};createPolygonPlane=(e,t)=>{this.clearPolygonPlane();let i=B.getMapEngineInstance(this.containerID_);if(this.isStartDraw_&&!this.isStartPullUP_&&this.center_){let n=i.scene.globe.ellipsoid.scaleToGeocentricSurface(this.center_,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(n,n),this.polygonPlane_=Cesium.Plane.fromPointNormal(this.center_,n)}else if(!this.isStartDraw_&&this.isStartPullUP_){let n=i.scene.camera.heading,s=B.transformCartesian3(this.data_?.coordinates[this.data_?.coordinates.length-1]),a=B.offsetHeadingPitch2Position(s,Cesium.Math.toDegrees(n),0,5).cartesian3,o=B.computeVector(s,a);this.polygonPlane_=Cesium.Plane.fromPointNormal(s,o)}else switch(e){case 9990:{let n=le.cloneDeep(this.data_?.coordinates[0]);n.altitude=this.minHeight_;let s=B.transformCartesian3(n),a=i.scene.globe.ellipsoid.scaleToGeocentricSurface(s,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(a,a);let o=Cesium.Plane.fromPointNormal(s,a),l=i.scene.camera.getPickRay(t.position),h=Cesium.IntersectionTests.rayPlane(l,o,new Cesium.Cartesian3),c=i.scene.camera.heading,u=B.offsetHeadingPitch2Position(h,c,0,10).cartesian3;this.polygonPlane_=Cesium.Plane.fromPointNormal(h,B.computeVector(h,u))}break;case 9991:{let n=le.cloneDeep(this.data_?.coordinates[0]);n.altitude=this.maxHeight_;let s=B.transformCartesian3(n),a=i.scene.globe.ellipsoid.scaleToGeocentricSurface(s,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(a,a);let o=Cesium.Plane.fromPointNormal(s,a),l=i.scene.camera.getPickRay(t.position),h=Cesium.IntersectionTests.rayPlane(l,o,new Cesium.Cartesian3),c=i.scene.camera.heading,u=B.offsetHeadingPitch2Position(h,c,0,10).cartesian3;this.polygonPlane_=Cesium.Plane.fromPointNormal(h,B.computeVector(h,u))}break;default:{let n=this.data_?.coordinates[Math.abs(e)-1];e<0?n.altitude=this.minHeight_:n.altitude=this.maxHeight_;let s=B.transformCartesian3(n),a=i.scene.globe.ellipsoid.scaleToGeocentricSurface(s,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(a,a),this.polygonPlane_=Cesium.Plane.fromPointNormal(s,a)}break}};clearPolygonPlane=()=>{this.polygonPlane_&&(this.polygonPlane_=void 0)};reDrawAxis=()=>{this.geometryInstance_&&this.center_&&this.minHeight_&&this.maxHeight_&&this.wallHeight_&&!this.isStartDraw_&&!this.isStartPullUP_&&this.isEditable_?(this.axisInstance_||(this.axisInstance_=new dF(this.containerID_)),this.axisInstance_.DataProcessing({ID:le.cloneDeep(this.data_.ID),visible:le.cloneDeep(this.visible_),coordinates:le.cloneDeep(this.data_?.coordinates),type:1,minHeight:le.cloneDeep(this.minHeight_),maxHeight:le.cloneDeep(this.maxHeight_),wallHeight:le.cloneDeep(this.wallHeight_)})):this.clearAxis()};reDraw=()=>{this.clearGeometry();let e=this.data_.ID;this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.isAutoDrawAirRoute_=this.data_?.isAutoDrawAirRoute??!1;let t=B.getMapEngineInstance(this.containerID_),i=this.data_?.symbol;this.minHeight_||(this.minHeight_=i?.minHeight,this.minHeight_||Array.isArray(this.wallCoordinates_)&&this.wallCoordinates_.length&&(this.minHeight_=this.wallCoordinates_[0].altitude),this.minHeight_||(this.minHeight_=0)),this.maxHeight_||(this.maxHeight_=i?.maxHeight,this.maxHeight_||Array.isArray(this.wallCoordinates_)&&this.wallCoordinates_.length&&(this.maxHeight_=this.wallCoordinates_[0].altitude),this.maxHeight_||(this.maxHeight_=0)),this.minHeight_&&this.maxHeight_&&(this.wallHeight_=this.maxHeight_-this.minHeight_);let n=this.data_?.coordinates;if(n&&n.length&&i){if(this.center_=B.computeMultipointCenter(n),this.minHeight_&&this.wallHeight_&&(this.center_=B.transformCoordinate(this.center_),this.center_.altitude=this.minHeight_+this.wallHeight_*.5,this.center_=B.transformCartesian3(this.center_)),this.wallCoordinates_=le.cloneDeep(n),(this.wallCoordinates_[0].longitude!==this.wallCoordinates_[this.wallCoordinates_.length-1].longitude||this.wallCoordinates_[0].latitude!==this.wallCoordinates_[this.wallCoordinates_.length-1].latitude||this.wallCoordinates_[0].altitude!==this.wallCoordinates_[this.wallCoordinates_.length-1].altitude)&&this.wallCoordinates_.push(this.wallCoordinates_[0]),!this.geometryInstance_&&this.wallCoordinates_.length>=2){let s=new Cesium.WallGeometry({positions:this.wallCoordinates_.map(o=>B.transformCartesian3(o)),maximumHeights:this.wallCoordinates_.map(()=>this.maxHeight_),minimumHeights:this.wallCoordinates_.map(()=>this.minHeight_)}),a=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingPolygonWall",geometry:s}),appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString("#00C8DF"),.4)}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryInstance_=t.scene.primitives.add(a)}if(!this.geometryBottomOutlineInstance_&&this.wallCoordinates_.length>=2){let s=new Cesium.PolylineGeometry({positions:this.wallCoordinates_.map(o=>(o.altitude=this.minHeight_,B.transformCartesian3(o))),width:6}),a=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingPolygonWallBottomOutline",geometry:s}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryBottomOutlineInstance_=t.scene.primitives.add(a)}if(!this.geometryTopOutlineInstance_&&this.wallCoordinates_.length>=2){let s=new Cesium.PolylineGeometry({positions:this.wallCoordinates_.map(o=>(o.altitude=this.maxHeight_,B.transformCartesian3(o))),width:6}),a=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingPolygonWallTopOutline",geometry:s}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryTopOutlineInstance_=t.scene.primitives.add(a)}}this.reDrawPoints(),this.reDrawCenterPoints(),this.reDrawVerticalLines(),this.reDrawCustomLabel(),this.reDrawCustomHTML()};reDrawPolyline=()=>{this.clearPolyline();let e=this.data_?.lineOptions;if(this.isAutoDrawAirRoute_&&e&&this.minHeight_&&this.maxHeight_&&this.wallHeight_&&this.visible_&&!this.isStartDraw_&&!this.isStartPullUP_){let t=e?.d??37.2,i=e?.GSD??1,n=e?.overlapW??80,s=e?.routeCoverageRate??100,a=e?.routeCoverageDeviationAngle??0,o=e?.cameraType??"M3TD",l=e?.isVertical??!1,h=e?.isIncludingTheTopSurface??!1,c=e?.isTopStart??!1;this.polylineCoordinates_=B.computeGeometryPolygonWallAirRouteMethod(this.containerID_,this.data_?.coordinates,this.minHeight_,this.maxHeight_,t,i,n/100,s,a,o,l,h,c),!this.geometryPolylineInstance_&&this.polylineCoordinates_&&(this.geometryPolylineInstance_=new vI(this.containerID_,"AirRoutes"),this.geometryPolylineInstance_.DataProcessing({ID:Cg()+"-&-ZYWL-&-GeometryEditingPolygonWall-AirRoutes-&-ZYWL-&-NotEditablePolyline",type:2,visible:this.visible_,isClampToGround:!1,isHighlight:!1,zIndex:0,symbol:{lineWidth:2,lineColor:"#0aed8b"},coordinates:this.polylineCoordinates_}))}};reDrawPoints=()=>{if(this.clearPoints(),B.getMapEngineInstance(this.containerID_)&&this.visible_&&this.isEditable_){let t=B.getPointPrimitiveCollection(this.containerID_);for(let i=0;i<this.data_?.coordinates.length;i++){let n=i+1,s=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolygonWall-BottomPoint-"+n,a=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolygonWall-TopPoint-"+n;if(this.isStartDraw_&&i===this.data_?.coordinates.length-1)break;let o=le.cloneDeep(this.data_?.coordinates[i]);o.altitude=this.minHeight_;let l=t.add(new Cesium.PointPrimitive({position:B.transformCartesian3(o),id:s,show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:20,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.bottomPointInstances_.push({ID:s,index:i,primitive:l});let h=le.cloneDeep(this.data_?.coordinates[i]);h.altitude=this.maxHeight_;let c=t.add(new Cesium.PointPrimitive({position:B.transformCartesian3(h),id:a,show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:20,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.topPointInstances_.push({ID:a,index:i,primitive:c})}}};reDrawCenterPoints=()=>{if(this.clearCenterPoints(),B.getMapEngineInstance(this.containerID_)&&this.visible_&&this.isEditable_&&!this.isStartDraw_&&!this.isStartPullUP_&&this.wallHeight_){let t=B.getPointPrimitiveCollection(this.containerID_);for(let i=0;i<this.data_?.coordinates.length;i++){let n=i+1,s=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolygonWall-BottomCenterPoint-"+n,a=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolygonWall-TopCenterPoint-"+n,o=this.data_.ID+"-&-ZYWL-&-GeometryEditingPolygonWall-DistanceLabel-"+n,l=le.cloneDeep(this.data_?.coordinates[i]),h;i===this.data_?.coordinates.length-1?h=le.cloneDeep(this.data_?.coordinates[0]):h=le.cloneDeep(this.data_?.coordinates[i+1]);let c=B.computeCenter(l,h);c=B.transformCoordinate(c);let u=le.cloneDeep(c);u.altitude=this.minHeight_;let f=t.add(new Cesium.PointPrimitive({position:B.transformCartesian3(u),id:s,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.bottomCenterPointInstances_.push({ID:s,index:i,primitive:f});let d=le.cloneDeep(c);d.altitude=this.maxHeight_;let g=t.add(new Cesium.PointPrimitive({position:B.transformCartesian3(d),id:a,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.topCenterPointInstances_.push({ID:a,index:i,primitive:g});let A=B.computeDistance(l,h),m;A>1e3?(A=A/1e3,A=Number(A.toFixed(2)),m=`${A}km`):(A=Number(A.toFixed(2)),m=`${A}m`);let p=new xn(this.containerID_);p.DataProcessing({ID:o,center:B.transformCartesian3(u),customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${m}</div>`,dx:0,dy:-15,presentationMode:1}}),this.distanceLabelInstances_.push(p);let C=new xn(this.containerID_);C.DataProcessing({ID:o,center:B.transformCartesian3(d),customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${m}</div>`,dx:0,dy:-15,presentationMode:1}}),this.distanceLabelInstances_.push(C)}}};reDrawVerticalLines=()=>{if(this.clearVerticalLines(),this.minHeight_&&this.maxHeight_&&this.wallHeight_&&this.visible_&&this.isEditable_){let e=this.data_.ID,t=B.getMapEngineInstance(this.containerID_);for(let i=0;i<this.data_?.coordinates.length;i++){let n=le.cloneDeep(this.data_?.coordinates[i]);n.altitude=this.minHeight_;let s=le.cloneDeep(this.data_?.coordinates[i]);s.altitude=this.maxHeight_;let a=new Cesium.PolylineGeometry({positions:[B.transformCartesian3(n),B.transformCartesian3(s)],width:5}),o=new Cesium.Primitive({geometryInstances:new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingCircleWallVerticalLine",geometry:a}),appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString("#00C8DF"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.verticalLineInstances_.push(t.scene.primitives.add(o))}}};reDrawCustomLabel=()=>{if(B.getMapEngineInstance(this.containerID_)){let t=B.getLabelCollection(this.containerID_);if(this.visible_){let i=this.data_?.coordinates;if(this.center_&&i&&i.length){let s=i[0]?.customLabel;if(s){let a=this.data_.ID+"-&-ZYWL-&-CustomLabel-0",o=s?.show??!1,l=s?.content??"",h=s?.showBackground??!1,c=s?.dx??0,u=s?.dy??0,f=this.customLabelInstances_.find(d=>d.ID===a);if(f)f.primitive.position=this.center_,f.primitive.show=o,f.primitive.text=l,f.primitive.showBackground=h,f.primitive.pixelOffset=new Cesium.Cartesian2(c,u);else{let d=t.add(new Cesium.Label({position:this.center_,id:a,show:o,text:l,font:"18px sans-serif",showBackground:h,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(c,u),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:a,index:0,primitive:d})}}}else this.clearCustomLabel()}else this.clearCustomLabel()}};reDrawCustomHTML=()=>{if(B.getMapEngineInstance(this.containerID_)&&(this.clearCustomHTML(),this.visible_)){let t=this.data_?.coordinates;if(this.center_&&t&&t.length){let n=t[0]?.customHTML;if(n){let s=new xn(this.containerID_);s.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-0",center:this.center_,customHTML:n}),this.customHTMLInstances_.push(s)}}}};primitivesHighlighted=(e,t,i)=>{this.isStartDraw_||(this.axisInstance_&&this.axisInstance_.primitivesHighlighted(t),(t==="ArrowY"||t==="ArrowYN")&&e&&this.axisInstance_&&this.axisInstance_.primitivesHighlighted(e,t),!this.isEditable_&&(B.HighlightHTMLs(e,this.customHTMLInstances_,i),this.isHighlight_&&(this.geometryInstance_&&(this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})})),this.geometryInstance_&&e&&(this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})})))))};clear=()=>{window.EditElement=void 0,this.clearScreenSpaceHandler(),this.clearAxis(),this.clearGeometry(),this.clearPolyline(),this.clearPoints(),this.clearCenterPoints(),this.clearVerticalLines(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearAxis=()=>{this.axisInstance_&&this.axisInstance_.clear(),this.axisInstance_=void 0};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryInstance_=void 0,this.geometryBottomOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryBottomOutlineInstance_),this.geometryBottomOutlineInstance_=void 0,this.geometryTopOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryTopOutlineInstance_),this.geometryTopOutlineInstance_=void 0};clearPolyline=()=>{this.geometryPolylineInstance_&&this.geometryPolylineInstance_.clear(),this.geometryPolylineInstance_=void 0,this.polylineCoordinates_=[]};clearPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.bottomPointInstances_&&e&&this.bottomPointInstances_.forEach(t=>{e.remove(t.primitive)}),this.bottomPointInstances_=[],this.topPointInstances_&&e&&this.topPointInstances_.forEach(t=>{e.remove(t.primitive)}),this.topPointInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);this.bottomCenterPointInstances_&&e&&this.bottomCenterPointInstances_.forEach(t=>{e.remove(t.primitive)}),this.bottomCenterPointInstances_=[],this.topCenterPointInstances_&&e&&this.topCenterPointInstances_.forEach(t=>{e.remove(t.primitive)}),this.topCenterPointInstances_=[],this.distanceLabelInstances_&&this.distanceLabelInstances_.forEach(t=>{t.clear()}),this.distanceLabelInstances_=[]};clearVerticalLines=()=>{let e=B.getMapEngineInstance(this.containerID_);this.verticalLineInstances_&&e&&e?.scene&&e?.scene?.primitives&&this.verticalLineInstances_.forEach(t=>{e.scene.primitives.remove(t)}),this.verticalLineInstances_=[]};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{this.customHTMLInstances_&&this.customHTMLInstances_.forEach(e=>{e.clear()}),this.customHTMLInstances_=[]}}class q6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;geometryOutlineInstance_=void 0;geometryPolylineInstance_=void 0;pointInstances_=[];centerPointInstances_=[];distanceLabelInstances_=[];centerLabelInstance_=void 0;centerHTMLInstance_=void 0;customLabelInstances_=[];customHTMLInstances_=[];visible_=!0;center_=void 0;isHighlight_=!1;isEditable_=!1;isDelete_=!1;isCopy_=!1;isStartDraw_=!1;screenSpaceHandler_;heightMode_=0;defaultHeight_=void 0;coordinateCartesian3s_=[];isAutoDrawAirRoute_=!1;polylineCoordinates_=[];polygonPlane_=void 0;directions_=[];axisInstance_=void 0;isSupportConcavePolygons_=!1;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{(!le.isEqual(this.data_,e)||!le.isEqual(this.data_?.coordinates,e?.coordinates)||!le.isEqual(this.data_?.symbol,e?.symbol)||!le.isEqual(this.data_?.lineOptions,e?.lineOptions)||!le.isEqual(this.data_?.customLabel,e?.customLabel)||!le.isEqual(this.data_?.customHTML,e?.customHTML))&&(this.data_=le.cloneDeep(e),this.reDraw(),this.isStartDraw_||this.reDrawPolyline(),this.reDrawAxis())};emitGraphChanged=(e,t)=>{let i,n=this.containerID_.split("-cesium")[0],s=B.addTerrainHeight(n,this.data_.coordinates,this.heightMode_);switch(this.data_.coordinates=s,e){case"update":t!==void 0?i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,class:this.dataClass_,type:e,index:t}:i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,class:this.dataClass_,type:e};break;case"delete":i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,class:this.dataClass_,type:e,index:t};break;case"copy":i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,class:this.dataClass_,type:e,index:t};break;default:i={ID:this.data_.ID,data:this.data_,coordinates:s,polylineCoordinates:this.polylineCoordinates_,class:this.dataClass_,type:"update"};break}B.emitGraphChanged(le.cloneDeep(i))};emitGraphRemoved=()=>{B.emitGraphRemoved(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};emitGraphEdited=()=>{window.EditElement=void 0,B.emitGraphEdited(le.cloneDeep({ID:this.data_.ID,data:this.data_,class:this.dataClass_}))};mouseDown=(e,t)=>{!this.isEditable_||t===void 0||(t===9e3?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowX"):t===9001?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowY"):t===9002?this.axisInstance_&&this.axisInstance_.mouseDown("ArrowZ"):t===9020?this.axisInstance_&&this.axisInstance_.mouseDown("SphereX",e):t===9021?this.axisInstance_&&this.axisInstance_.mouseDown("SphereY",e):t===9022?this.axisInstance_&&this.axisInstance_.mouseDown("SphereZ",e):this.createSlopePlaneEntity())};mouseUp=(e,t)=>{!this.isEditable_||t===void 0||(t===9e3||t===9001||t===9002||t===9020||t===9021||t===9022?this.axisInstance_&&this.axisInstance_.mouseUp():this.clearSlopePlaneEntity(),this.reDrawAxis(),this.isStartDraw_||this.reDrawPolyline(),this.emitGraphChanged("update",t))};mouseClick=e=>{if(B.removeMenu(this.containerID_),!this.isEditable_||!e?.position)return;let t=B.getMapEngineInstance(this.containerID_),i=B.getClampToGroundPosition(t,e.position,!0),n=t.scene.pick(e.position);if(i&&i.coordinate){let s=le.cloneDeep(i.coordinate);if(this.isStartDraw_)if(this.data_.coordinates.length===2){this.data_.coordinates.push(le.cloneDeep(s)),this.createSlopePlaneEntity();let a=this.calculateFinishPoint(le.cloneDeep(this.data_.coordinates[this.data_.coordinates.length-1]));this.data_.coordinates.push(B.getCoordinateFromCartesian3(t,a))}else this.data_.coordinates.length===4&&(this.clearSlopePlaneEntity(),this.isStartDraw_=!1,this.clearScreenSpaceHandler(),this.directions_=B.computePolygonVector(this.containerID_,this.data_?.coordinates,this.data_?.lineOptions?.reversal),this.reDrawAxis(),this.isStartDraw_||this.reDrawPolyline());else if(!this.data_?.coordinates.length)this.data_.coordinates.push(le.cloneDeep(s)),this.data_.coordinates.push(le.cloneDeep(s)),this.isStartDraw_=!0,this.screenSpaceHandler_||(this.screenSpaceHandler_=new Cesium.ScreenSpaceEventHandler(t.scene.canvas)),this.screenSpaceHandler_.setInputAction(this.mouseMoveStartDraw,Cesium.ScreenSpaceEventType.MOUSE_MOVE);else if(n){if(typeof n.id=="string"){let a=n.id;if(n.primitive instanceof Cesium.PointPrimitive&&a.includes("-&-ZYWL-&-GeometryEditingSlantPolygon-CenterPoint-")){let o=B.extractionIndex(a),l=n.primitive.position;l&&(this.data_.coordinates.splice(o+1,0,B.transformCoordinate(l)),setTimeout(()=>{this.reDrawCustomHTML()},0),this.directions_=B.computePolygonVector(this.containerID_,this.data_?.coordinates,this.data_?.lineOptions?.reversal),this.reDrawAxis(),this.isStartDraw_||this.reDrawPolyline())}}}else{this.isEditable_=!1,this.data_.isEditable=this.isEditable_,this.reDraw(),this.reDrawAxis(),this.emitGraphEdited(),this.clearScreenSpaceHandler();return}this.reDraw(),this.emitGraphChanged("update")}};mouseMoveStartDraw=e=>{if(this.isStartDraw_){let t=B.getMapEngineInstance(this.containerID_);if(this.polygonPlane_){let i=t.scene.camera.getPickRay(e.endPosition),n=B.getCoordinateFromCartesian3(t,Cesium.IntersectionTests.rayPlane(i,this.polygonPlane_,new Cesium.Cartesian3),!1);if(n){this.data_.coordinates[this.data_.coordinates.length-2].longitude=n.longitude,this.data_.coordinates[this.data_.coordinates.length-2].latitude=n.latitude,this.data_.coordinates[this.data_.coordinates.length-2].altitude=n.altitude;let s=B.getCoordinateFromCartesian3(t,this.calculateFinishPoint(le.cloneDeep(this.data_.coordinates[this.data_.coordinates.length-2])));this.data_.coordinates[this.data_.coordinates.length-1].longitude=s.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=s.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=s.altitude}}else{let i=B.getClampToGroundPosition(t,e.endPosition,!0);i&&i.coordinate&&(this.data_.coordinates[this.data_.coordinates.length-1].longitude=i.coordinate.longitude,this.data_.coordinates[this.data_.coordinates.length-1].latitude=i.coordinate.latitude,this.data_.coordinates[this.data_.coordinates.length-1].altitude=i.coordinate.altitude)}this.reDraw()}};mouseMove=(e,t)=>{if(!this.isEditable_||t===void 0)return;let i=B.getMapEngineInstance(this.containerID_);if(t===9e3||t===9001||t===9002)this.axisInstance_&&this.axisInstance_.mouseMove("Arrow",e,n=>{this.data_.coordinates=n,this.reDraw()});else if(t===9020||t===9021||t===9022)this.axisInstance_&&this.axisInstance_.mouseMove("Sphere",e,n=>{this.data_.coordinates=n,this.reDraw()});else{let n=this.data_?.coordinates;if(n&&n.length){let s=i.scene.camera.getPickRay(e.endPosition),a=Cesium.IntersectionTests.rayPlane(s,this.polygonPlane_,new Cesium.Cartesian3),o=B.getCoordinateFromCartesian3(i,a);if(o){this.data_?.lineOptions?.reversal;let l,h,c,u;t===0?(l=this.data_?.coordinates.length-2,h=this.data_?.coordinates.length-1,c=t+1,u=t+2):t===this.data_?.coordinates.length-1?(l=t-2,h=t-1,c=0,u=1):(t===1?l=this.data_?.coordinates.length-1:l=t-2,h=t-1,c=t+1,t===this.data_?.coordinates.length-2?u=0:u=t+2);let f=B.getCartesian3FromCoordinate(i,this.data_.coordinates[l]),d=B.getCartesian3FromCoordinate(i,this.data_.coordinates[h]),g=B.getCartesian3FromCoordinate(i,this.data_.coordinates[c]),A=B.getCartesian3FromCoordinate(i,this.data_.coordinates[u]),m=B.computeVector(a,d),p=B.computeVector(a,g),C=B.computeCrossVector(p,m);this.data_?.lineOptions?.reversal&&Cesium.Cartesian3.negate(C,C);let E=B.computeVectorDot(C,this.directions_[2]),x=E/(E?Math.abs(E):1),w=Cesium.Math.toDegrees(Cesium.Cartesian3.angleBetween(p,m))*x,T=B.computeVector(g,A),D=B.computeVector(g,a),O=B.computeCrossVector(T,D);this.data_?.lineOptions?.reversal&&Cesium.Cartesian3.negate(O,O);let P=B.computeVectorDot(O,this.directions_[2]),R=P/(P?Math.abs(P):1),H=Cesium.Math.toDegrees(Cesium.Cartesian3.angleBetween(T,D))*R,N=B.computeVector(d,f),U=B.computeVector(d,a),F=B.computeCrossVector(U,N);this.data_?.lineOptions?.reversal&&Cesium.Cartesian3.negate(F,F);let j=B.computeVectorDot(F,this.directions_[2]),Y=j/(j?Math.abs(j):1),q=Cesium.Math.toDegrees(Cesium.Cartesian3.angleBetween(U,N))*Y;this.isSupportConcavePolygons_?(this.data_.coordinates[t].longitude=o.longitude,this.data_.coordinates[t].latitude=o.latitude,this.data_.coordinates[t].altitude=o.altitude,this.reDraw()):w>=0&&H>=0&&q>=0&&(this.data_.coordinates[t].longitude=o.longitude,this.data_.coordinates[t].latitude=o.latitude,this.data_.coordinates[t].altitude=o.altitude,this.reDraw())}}}};mouseRightClick=e=>{this.isDelete_&&(e!==void 0?(this.data_.coordinates.splice(e,1),this.emitGraphChanged("delete",e),this.reDrawAxis()):(this.data_.coordinates=[],this.emitGraphRemoved(),this.clearAxis()),this.clearDistanceLabels(),this.reDraw(),this.isStartDraw_||this.reDrawPolyline())};createSlopePlaneEntity=()=>{let e=B.getMapEngineInstance(this.containerID_),t,i,n;if(this.isStartDraw_){t=this.data_.coordinates[0],i=this.data_.coordinates[1];let s=B.getCartesian3FromCoordinate(e,t),a=B.getCartesian3FromCoordinate(e,i);n=Cesium.Cartesian3.subtract(a,s,new Cesium.Cartesian3),Cesium.Cartesian3.normalize(n,n),this.polygonPlane_=Cesium.Plane.fromPointNormal(a,n)}else n=this.directions_[2],this.polygonPlane_=Cesium.Plane.fromPointNormal(this.center_,n)};clearSlopePlaneEntity(){this.polygonPlane_&&(this.polygonPlane_=void 0)}calculateFinishPoint=e=>{let t=B.getMapEngineInstance(this.containerID_),i=this.data_.coordinates[0],n=this.data_.coordinates[1],s=B.getCartesian3FromCoordinate(t,i),a=B.getCartesian3FromCoordinate(t,n),o=Cesium.Cartesian3.subtract(a,s,new Cesium.Cartesian3);Cesium.Cartesian3.normalize(o,o),Cesium.Cartesian3.negate(o,o);let l=Cesium.Cartesian3.distance(s,a),h=Cesium.Cartesian3.multiplyByScalar(o,l,new Cesium.Cartesian3);return e=B.getCartesian3FromCoordinate(t,e),Cesium.Cartesian3.add(e,h,new Cesium.Cartesian3)};reDrawAxis=()=>{this.geometryInstance_&&this.data_?.coordinates.length>=3&&this.isEditable_?(this.axisInstance_||(this.axisInstance_=new dF(this.containerID_)),this.axisInstance_.DataProcessing({ID:this.data_.ID,visible:this.visible_,coordinates:this.data_?.coordinates,reversal:this.data_?.lineOptions?.reversal})):this.clearAxis()};reDraw=()=>{let e=this.data_.ID;this.visible_=this.data_?.visible??!0,this.isHighlight_=this.data_?.isHighlight??!1,this.isEditable_=this.data_?.isEditable??!1,this.isDelete_=this.data_?.isDelete??!1,this.isCopy_=this.data_?.isCopy??!1,this.heightMode_=this.data_?.heightMode??1,this.defaultHeight_=this.data_?.defaultHeight??1,this.isAutoDrawAirRoute_=this.data_?.isAutoDrawAirRoute??!1,this.isSupportConcavePolygons_=this.data_?.isSupportConcavePolygons??!1;let t=B.getMapEngineInstance(this.containerID_);if(t){this.clearGeometry();let i=this.data_?.coordinates;Array.isArray(i)&&(this.coordinateCartesian3s_=i.map(s=>B.getCartesian3FromCoordinate(t,s,!1)));let n=this.data_?.symbol?.polygonColor??"#fff";if(n=Cesium.Color.fromCssColorString(n),this.coordinateCartesian3s_.length>1){if(this.center_=Cesium.Cartesian3.divideByScalar(this.coordinateCartesian3s_.reduce((s,a)=>Cesium.Cartesian3.add(s,a,new Cesium.Cartesian3)),this.coordinateCartesian3s_.length,new Cesium.Cartesian3),this.coordinateCartesian3s_.length>2&&!this.geometryInstance_){let s=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(this.coordinateCartesian3s_),perPositionHeight:!0}),a=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingSlantPolygon",geometry:s}),o=new Cesium.Primitive({geometryInstances:a,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(n,.3)}}})}),depthFailAppearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(n,0)}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryInstance_=t.scene.primitives.add(o)}if(!this.geometryOutlineInstance_){let s=this.data_?.symbol?.lineWidth??2,a=this.data_?.symbol?.lineColor??"#fff";a=Cesium.Color.fromCssColorString(a);let o=le.cloneDeep(this.coordinateCartesian3s_);o.push(o[0]);let l=new Cesium.PolylineGeometry({positions:o,width:s}),h=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-GeometryEditingSlantPolygonOutline",geometry:l}),c=new Cesium.Primitive({geometryInstances:h,appearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:a,outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}),depthFailAppearance:new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineDash",uniforms:{color:a,gapColor:Cesium.Color.TRANSPARENT,dashLength:15}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryOutlineInstance_=t.scene.primitives.add(c)}}else this.coordinateCartesian3s_.length===1&&(this.center_=this.coordinateCartesian3s_[0]);this.reDrawPoints(),this.reDrawCenterPoints(),this.reDrawDistanceLabels(),this.reDrawCenterLabel(),this.reDrawCenterHTML(),this.reDrawCustomLabel(),this.reDrawCustomHTML()}};reDrawPolyline=()=>{this.clearPolyline();let e=this.data_?.lineOptions;if(this.isAutoDrawAirRoute_&&e&&this.data_.coordinates&&this.data_.coordinates.length>=3&&this.visible_){let t=e?.d??37.2,i=e?.GSD??1,n=e?.overlapW??80,s=e?.cameraType??"M3TD",a=e?.reversal??!1,o=e?.isVertical??!1;if(this.isSupportConcavePolygons_){let l=e?.overlapH??70;this.polylineCoordinates_=B.computeSlantPolygonAirRouteMethod11(this.containerID_,this.data_?.coordinates,t,i,l/100,n/100,s,a,o)}else this.polylineCoordinates_=B.computeSlantPolygonAirRouteMethod(this.containerID_,this.data_?.coordinates,t,i,n/100,s,a,o);this.geometryPolylineInstance_||(this.geometryPolylineInstance_=new vI(this.containerID_,"AirRoutes"),this.geometryPolylineInstance_.DataProcessing({ID:Cg()+"-&-ZYWL-&-GeometryEditingSlantPolygon-AirRoutes-&-ZYWL-&-NotEditablePolyline",type:2,visible:this.visible_,isClampToGround:!1,isHighlight:!1,zIndex:0,symbol:{lineWidth:2,lineColor:"#0aed8b"},coordinates:this.polylineCoordinates_}))}};reDrawPoints=()=>{if(this.clearPoints(),B.getMapEngineInstance(this.containerID_)&&this.visible_&&this.isEditable_){let t=B.getPointPrimitiveCollection(this.containerID_);for(let i=0;i<this.coordinateCartesian3s_.length;i++){let n=this.data_.ID+"-&-ZYWL-&-GeometryEditingSlantPolygon-Point-"+i,s=this.coordinateCartesian3s_[i];if(this.isStartDraw_){if(this.data_?.coordinates.length===2){if(i===this.coordinateCartesian3s_.length-1)break}else if(this.data_?.coordinates.length===4&&i===this.coordinateCartesian3s_.length-2)continue}let a=t.add(new Cesium.PointPrimitive({position:s,id:n,show:this.visible_,color:Cesium.Color.fromCssColorString("#fff"),pixelSize:20,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.pointInstances_.push({ID:n,index:i,primitive:a})}}};reDrawCenterPoints=()=>{if(B.getMapEngineInstance(this.containerID_)&&this.visible_&&this.isEditable_&&!this.isStartDraw_){if(this.coordinateCartesian3s_.length<3){this.clearCenterPoints();return}let t=B.getPointPrimitiveCollection(this.containerID_);for(let i=0;i<this.coordinateCartesian3s_.length;i++){let n=this.data_.ID+"-&-ZYWL-&-GeometryEditingSlantPolygon-CenterPoint-"+i,s,a;i===this.coordinateCartesian3s_.length-1?(s=this.coordinateCartesian3s_[i],a=this.coordinateCartesian3s_[0]):(s=this.coordinateCartesian3s_[i],a=this.coordinateCartesian3s_[i+1]);let o=Cesium.Cartesian3.midpoint(s,a,new Cesium.Cartesian3),l=this.centerPointInstances_.find(h=>h.ID===n);if(l)l.primitive.position=o,l.primitive.show=this.visible_;else{let h=t.add(new Cesium.PointPrimitive({position:o,id:n,show:this.visible_,color:Cesium.Color.WHITE,outlineColor:Cesium.Color.BLACK,outlineWidth:1,pixelSize:10,disableDepthTestDistance:Number.POSITIVE_INFINITY}));this.centerPointInstances_.push({ID:n,index:i,primitive:h})}}}else this.clearCenterPoints()};reDrawDistanceLabels=()=>{if(this.clearDistanceLabels(),B.getMapEngineInstance(this.containerID_)&&this.visible_&&this.isEditable_&&!this.isStartDraw_)for(let t=0;t<this.coordinateCartesian3s_.length;t++){let i=this.data_.ID+"-&-ZYWL-&-GeometryEditingGSlantPolygon-DistanceLabel-"+t,n,s;t===this.coordinateCartesian3s_.length-1?(n=this.coordinateCartesian3s_[t],s=this.coordinateCartesian3s_[0]):(n=this.coordinateCartesian3s_[t],s=this.coordinateCartesian3s_[t+1]);let a=Cesium.Cartesian3.midpoint(n,s,new Cesium.Cartesian3),o=Cesium.Cartesian3.distance(n,s),l;o>1e3?(o=o/1e3,o=Number(o.toFixed(2)),l=`${o}km`):(o=Number(o.toFixed(2)),l=`${o}m`);let h=new xn(this.containerID_);h.DataProcessing({ID:i,center:a,customHTML:{content:`<div style="background-color:rgba(0,0,0,0.8);color:white;text-align: center;padding-bottom: 2px;padding-top: 2px;padding-left: 3px;padding-right: 3px;border-radius: 4px;font-size: 12px;">${l}</div>`,dx:0,dy:-15,presentationMode:1}}),this.distanceLabelInstances_.push(h)}};reDrawCenterLabel=()=>{if(B.getMapEngineInstance(this.containerID_)&&this.visible_){let t=B.getLabelCollection(this.containerID_),i=this.data_?.customLabel;if(i&&this.center_){let n=this.data_.ID+"-&-ZYWL-&-CenterLabel-0",s=i?.show??!1,a=i?.content??"",o=i?.showBackground??!1,l=i?.dx??0,h=i?.dy??0;this.centerLabelInstance_?(this.centerLabelInstance_.position=this.center_,this.centerLabelInstance_.show=s,this.centerLabelInstance_.text=a,this.centerLabelInstance_.showBackground=o,this.centerLabelInstance_.pixelOffset=new Cesium.Cartesian2(l,h)):this.centerLabelInstance_=t.add(new Cesium.Label({position:this.center_,id:n,show:s,text:a,font:"18px sans-serif",showBackground:o,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(l,h),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t))}else this.clearCenterLabel()}else this.clearCenterLabel()};reDrawCenterHTML=()=>{this.clearCenterHTML();let e=B.getMapEngineInstance(this.containerID_),t=this.data_?.customHTML;e&&this.visible_&&t&&this.center_&&(this.centerHTMLInstance_=new xn(this.containerID_),this.centerHTMLInstance_.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CenterHTML-0",center:this.center_,customHTML:t}))};reDrawCustomLabel=()=>{if(B.getMapEngineInstance(this.containerID_)&&this.visible_){if(this.coordinateCartesian3s_.length<1){this.clearCustomLabel();return}let t=B.getLabelCollection(this.containerID_),i=this.data_?.coordinates;for(let n=0;n<this.coordinateCartesian3s_.length;n++){let s=this.coordinateCartesian3s_[n],o=i[n]?.customLabel;if(o){let l=this.data_.ID+"-&-ZYWL-&-CustomLabel-"+n,h=o?.show??!1,c=o?.content??"",u=o?.showBackground??!1,f=o?.dx??0,d=o?.dy??0,g=this.customLabelInstances_.find(A=>A.ID===l);if(g)g.primitive.position=s,g.primitive.show=h,g.primitive.text=c,g.primitive.showBackground=u,g.primitive.pixelOffset=new Cesium.Cartesian2(f,d);else{let A=t.add(new Cesium.Label({position:s,id:l,show:h,text:c,font:"18px sans-serif",showBackground:u,backgroundColor:Cesium.Color.BLACK.withAlpha(.9),pixelOffset:new Cesium.Cartesian2(f,d),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY},t));this.customLabelInstances_.push({ID:l,index:n,primitive:A})}}}}else this.clearCustomLabel()};reDrawCustomHTML=()=>{this.clearCustomHTML();let e=B.getMapEngineInstance(this.containerID_);if(e&&this.visible_){let t=this.data_?.coordinates;for(let i=0;i<this.coordinateCartesian3s_.length;i++){let n=this.coordinateCartesian3s_[i],a=t[i]?.customHTML;if(a){let o=new xn(this.containerID_);o.DataProcessing({ID:this.data_.ID+"-&-ZYWL-&-CustomHTML-"+i,center:B.getCartesian3FromCartesian3(e,n,!1),customHTML:a}),this.customHTMLInstances_.push(o)}}}};primitivesHighlighted=(e,t,i)=>{if(!this.isStartDraw_&&(this.axisInstance_&&this.axisInstance_.primitivesHighlighted(t),(t==="ArrowX"||t==="ArrowY"||t==="ArrowZ"||t==="SphereX"||t==="SphereY"||t==="SphereZ")&&e&&this.axisInstance_&&this.axisInstance_.primitivesHighlighted(e,t),!this.isEditable_&&(B.HighlightHTMLs(e,this.customHTMLInstances_,i),B.HighlightHTML(e,this.centerHTMLInstance_),!!this.isHighlight_))){if(this.geometryInstance_&&(this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.3)}}})})),this.geometryOutlineInstance_){let n=this.data_?.symbol?.lineColor??"#fff";n=Cesium.Color.fromCssColorString(n),this.geometryOutlineInstance_.appearance=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:n,outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})})}this.geometryInstance_&&e&&(this.geometryInstance_.appearance=new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Color",uniforms:{color:Cesium.Color.fromAlpha(Cesium.Color.fromCssColorString(this.data_?.symbol?.polygonColor??"#fff"),.4)}}})})),this.geometryOutlineInstance_&&e&&(this.geometryOutlineInstance_.appearance=new Cesium.PolylineMaterialAppearance({material:new Cesium.Material({fabric:{type:"PolylineOutline",uniforms:{color:Cesium.Color.fromCssColorString(this.data_?.symbol?.lineColor??"#fff"),outlineColor:Cesium.Color.WHITE,outlineWidth:2}}})}))}};clear=()=>{window.AxisInstance=void 0,window.EditElement=void 0,B.recoverCursor(this.containerID_,"custom-cursor"),this.clearScreenSpaceHandler(),this.clearAxis(),this.clearGeometry(),this.clearPolyline(),this.clearPoints(),this.clearCenterPoints(),this.clearDistanceLabels(),this.clearCenterLabel(),this.clearCenterHTML(),this.clearCustomLabel(),this.clearCustomHTML()};clearScreenSpaceHandler=()=>{this.screenSpaceHandler_&&(this.screenSpaceHandler_.getInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)&&this.screenSpaceHandler_.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE),this.screenSpaceHandler_=void 0)};clearAxis=()=>{this.axisInstance_&&this.axisInstance_.clear(),this.axisInstance_=void 0};clearGeometry=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryOutlineInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryOutlineInstance_),this.geometryInstance_=void 0,this.geometryOutlineInstance_=void 0};clearPolyline=()=>{this.geometryPolylineInstance_&&this.geometryPolylineInstance_.clear(),this.geometryPolylineInstance_=void 0,this.polylineCoordinates_=[]};clearPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.pointInstances_&&e)for(let t=0;t<this.pointInstances_.length;t++){let i=this.pointInstances_[t];e.remove(i.primitive)}this.pointInstances_=[]};clearCenterPoints=()=>{let e=B.getPointPrimitiveCollection(this.containerID_);if(this.centerPointInstances_&&e)for(let t=0;t<this.centerPointInstances_.length;t++){let i=this.centerPointInstances_[t];e.remove(i.primitive)}this.centerPointInstances_=[]};clearDistanceLabels=()=>{if(this.distanceLabelInstances_)for(let e=0;e<this.distanceLabelInstances_.length;e++)this.distanceLabelInstances_[e].clear();this.distanceLabelInstances_=[]};clearCenterLabel=()=>{let e=B.getLabelCollection(this.containerID_);this.centerLabelInstance_&&e&&e.remove(this.centerLabelInstance_),this.centerLabelInstance_=void 0};clearCenterHTML=()=>{this.centerHTMLInstance_&&this.centerHTMLInstance_.clear(),this.centerHTMLInstance_=void 0};clearCustomLabel=()=>{let e=B.getLabelCollection(this.containerID_);if(this.customLabelInstances_&&e)for(let t=0;t<this.customLabelInstances_.length;t++)e.remove(this.customLabelInstances_[t].primitive);this.customLabelInstances_=[]};clearCustomHTML=()=>{if(this.customHTMLInstances_)for(let e=0;e<this.customHTMLInstances_.length;e++)this.customHTMLInstances_[e].clear();this.customHTMLInstances_=[]}}class j6e{containerID_=void 0;dataClass_=void 0;data_=void 0;geometryInstance_=void 0;visible_=!0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{this.data_=le.cloneDeep(e),this.reDraw()};reDraw=()=>{let e=this.data_.ID;this.visible_=this.data_?.visible??!0,this.clear();let t=B.getMapEngineInstance(this.containerID_),i=this.data_?.coordinates;if(t&&i&&i.length&&this.visible_){let n=B.computationBoundaryCoordinate(i),s=[n[0],n[1],n[2],n[1],n[2],n[3],n[0],n[3],n[0],n[1]],a=new Cesium.PolygonGeometry({polygonHierarchy:new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray(s))}),o=new Cesium.GeometryInstance({id:e+"-&-ZYWL-&-PhotoPresentation",geometry:a}),l=this.data_.url;Cesium.GroundPrimitive.initializeTerrainHeights().then(()=>{this.geometryInstance_&&t.scene.primitives.remove(this.geometryInstance_);let h=new Cesium.GroundPrimitive({geometryInstances:o,appearance:new Cesium.MaterialAppearance({material:new Cesium.Material({fabric:{type:"Image",uniforms:{image:l}}})}),show:this.visible_,releaseGeometryInstances:!1,asynchronous:!1});this.geometryInstance_=t.scene.primitives.add(h)})}};clear=()=>{let e=B.getMapEngineInstance(this.containerID_);this.geometryInstance_&&e&&e?.scene&&e?.scene?.primitives&&e.scene.primitives.remove(this.geometryInstance_),this.geometryInstance_=void 0}}class Z6e{containerID_=void 0;dataClass_=void 0;data_=void 0;radar_=void 0;scan_=void 0;scanAnimation_=void 0;trackingID_=void 0;constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{new Promise(t=>{this.data_=le.cloneDeep(e),t(this.data_)}).then(()=>{this.reDraw()})};reDraw=()=>{const e=this.data_.visible??!0,t=this.data_.radius??1e3,i=this.data_.isTracking??!0;this.trackingID_=this.data_.trackingID;const n=this.data_.xAngle??360,s=this.data_.yAngle??90,a=-(n/2),o=n/2,l=90,h=l-s;let c=this.data_.heading??0,u=c+n/2,f=u-n,d=Cesium.Color.fromCssColorString(this.data_.color??"#00d48f");const g=this.data_.coordinate.longitude??117.218481236,A=this.data_.coordinate.latitude??39.065651062,m=this.data_.coordinate.altitude??0,p=Cesium.Cartesian3.fromDegrees(g,A,m),C=B.getMapEngineInstance(this.containerID_),E=.1;let x=Cesium.Transforms.headingPitchRollQuaternion(p,Cesium.HeadingPitchRoll.fromDegrees(c-90,0,0));this.radar_?this.radar_.show=e:this.radar_=C.entities.add({id:this.data_?.ID+"-&-ZYWL-&-Radar",show:e,position:p,orientation:new Cesium.CallbackProperty(()=>x,!1),ellipsoid:{radii:new Cesium.Cartesian3(t,t,t),innerRadii:new Cesium.Cartesian3(E,E,E),minimumClock:Cesium.Math.toRadians(a),maximumClock:Cesium.Math.toRadians(o),minimumCone:Cesium.Math.toRadians(h),maximumCone:Cesium.Math.toRadians(l),fill:!0,material:new Cesium.ColorMaterialProperty(new Cesium.CallbackProperty(()=>new Cesium.Color.fromAlpha(d,.4),!1)),outline:!0,subdivisions:128,outlineColor:new Cesium.CallbackProperty(()=>new Cesium.Color.fromAlpha(d,1),!1),outlineWidth:2}});const w=this.data_.isReciprocating??!1;let T=this.data_.isClockWise??!0,D,O,P=.5;!w&&n===360?(O=0,P=1):T?O=f:O=u,D=B.calcPoints(g,A,m,t,O,s);let R=[];for(let H=0;H<D.length/3;H++)R.push(m);if(!this.scanAnimation_){let H=0;this.scanAnimation_=N=>{if(this.trackingID_){const U=C.scene.primitives._primitives.find(F=>{if(F instanceof Cesium.Model&&F.id===`${this.trackingID_}-&-ZYWL-&-Model`)return F});if(U&&U?._modelMatrix){const F=Cesium.Matrix4.getTranslation(U._modelMatrix,new Cesium.Cartesian3);if(F){const j=B.computeDistance(p,F);if(i&&j<=t){const Y=B.computeHeadingAndPitch(p,B.computeVector(F,p));H=Y.heading+180;let q=Y.pitch;x=Cesium.Transforms.headingPitchRollQuaternion(p,Cesium.HeadingPitchRoll.fromDegrees(H-90,-q-s/2,0)),u=H+n/2,f=u-n,!w&&n===360?(O=0,P=1):T?O=f:O=u}j<=t?(d=Cesium.Color.fromCssColorString(this.data_.alarmColor??"#FF0000"),this.scan_.show=!1):(d=Cesium.Color.fromCssColorString(this.data_.color??"#00d48f"),this.scan_.show=e,x=Cesium.Transforms.headingPitchRollQuaternion(p,Cesium.HeadingPitchRoll.fromDegrees(H-90,0,0)))}}}!w&&n===360?T?O+=P:O-=P:T?(O+=P,O===u&&(T=!1)):(O-=P,O===f&&(T=!0)),D=B.calcPoints(g,A,m,t,O,s)}}this.scan_?(this.scan_.show=e,this.scan_.wall.material=new Cesium.Color.fromAlpha(d,.6)):(this.scan_=C.entities.add({id:this.data_?.ID+"-&-ZYWL-&-RadarScan",show:e,position:p,wall:{positions:new Cesium.CallbackProperty(()=>Cesium.Cartesian3.fromDegreesArrayHeights(D),!1),material:new Cesium.Color.fromAlpha(d,.6),minimumHeights:R}}),C.clock.onTick.addEventListener(this.scanAnimation_))};clear=()=>{const e=B.getMapEngineInstance(this.containerID_);this.radar_&&e&&e?.entities&&e.entities.remove(this.radar_),this.scan_&&e&&e?.entities&&e.entities.remove(this.scan_),this.radar_=void 0,this.scan_=void 0,this.scanAnimation_&&e&&e?.clock&&e.clock.onTick.removeEventListener(this.scanAnimation_),this.scanAnimation_=void 0}}class X6e{containerID_=void 0;dataClass_=void 0;data_=void 0;S3MBPromise_=void 0;layers_=[];constructor(e,t){this.containerID_=e,this.dataClass_=t}DataProcessing=e=>{new Promise(t=>{this.data_=le.cloneDeep(e),t(this.data_)}).then(()=>{this.reDraw()})};reDraw=()=>{let e=this.data_?.url;if(!e||e&&!e.length)return;let t=this.data_?.type??-1,i=this.data_?.visible??!0,n=this.data_?.autoSetView??!1,s=this.data_?.ID+"-&-ZYWL-&-S3MB";const o=B.getMapEngineInstance(this.containerID_).scene;switch(t){case 1:this.S3MBPromise_?this.layers_.forEach(l=>{l.show=i}):(this.S3MBPromise_=o.addS3MTilesLayerByScp(e,{name:s}),this.S3MBPromise_.then(l=>{this.layers_.push(l),this.layers_.forEach(h=>{h.show=i}),n&&(o.camera.lookAt(l._position,new Cesium.HeadingPitchRange(Cesium.Math.toRadians(0),Cesium.Math.toRadians(-90),100)),o.camera.lookAtTransform(Cesium.Matrix4.IDENTITY))}));break;case 2:this.S3MBPromise_?this.layers_.forEach(l=>{l.show=i}):(this.S3MBPromise_=o.open(e,{autoSetView:n}),this.S3MBPromise_.then(l=>{Array.isArray(l)?this.layers_=l:this.layers_.push(l),this.layers_.forEach(h=>{h.show=i})}));break}};clear=()=>{const t=B.getMapEngineInstance(this.containerID_).scene;this.layers_.forEach(i=>{t.layers.remove(i)}),this.layers_=[],this.S3MBPromise_=void 0}}class K6e{constructor(e){const t={};t.bgColor=e?.bgColor??Cesium.Color.TRANSPARENT,t.alpha=e?.alpha??1,t.invert=e?.invert??!1,t.preMultiplyAlpha=e?.preMultiplyAlpha??!0,this.params=t;let i=B.isSupportWebGL2(),n,s;i?(n=`
|
|
15989
15989
|
uniform sampler2D u_map;
|
|
15990
15990
|
uniform vec4 u_bgColor;
|
|
15991
15991
|
|