@aibee/crc-bmap 0.0.9 → 0.0.10

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.
@@ -10,6 +10,9 @@
10
10
  <div id="app"></div>
11
11
  <div id="button-group">
12
12
  <button id="createPoi">创建poi</button>
13
+ <button id="getAllGraphics">获取全部图元</button>
14
+ <button id="switchFloor">切换楼层</button>
15
+ <button id="hoverShowOverlay">hover显示覆盖物</button>
13
16
  <button id="changeGraphicColor">修改图元颜色</button>
14
17
  <button id="changeGraphicOpacity">修改图元透明度</button>
15
18
  <button id="changeGraphicBorder">修改图元描边颜色</button>
@@ -1,9 +1,9 @@
1
- import { BMap, Overlay } from '../../src'
1
+ import { BMap, Graphic, Overlay } from '../../src'
2
2
 
3
3
  const bmap = new BMap(document.getElementById('app')!, {
4
4
  apiInfo: {
5
5
  headers: {
6
- "Authorization": "Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI1ZmM3YTY2YWQ4MjU0ZDNiYWJiNzZlMDU0ZDAzMmU0OCIsInN1YiI6IlFJTkdHVUFOR1BJTkc4ODgiLCJpc3MiOiJtaXhjIiwiaWF0IjoxNzAwNTQ0NDE2fQ.R4g3svZ5H95T50zySRy8mO3A0OOVM6nd6tfP0YHPMcs"
6
+ "Authorization": localStorage.getItem("Authorization_token") || "Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIzNzIwYjNhOGU3MGM0NGU3YTdkYzdiMTE4NDNhZjFhMyIsInN1YiI6IllVV0VJWEkiLCJpc3MiOiJtaXhjIiwiaWF0IjoxNzAwNzI2NTA4fQ.su7smca9cVeMQ9u-NyT_3NKa6kYfoLIGsOtNZLOnXXI"
7
7
  }
8
8
  }
9
9
  });
@@ -12,16 +12,19 @@ const bmap = new BMap(document.getElementById('app')!, {
12
12
  // 加载图元数据
13
13
  await bmap.load({
14
14
  brand: "crc",
15
- project: "0202A501",
16
- phase: "themixctd01",
15
+ project: "1402A001",
16
+ phase: "themixccitysy01",
17
17
  building: "A",
18
- floor: "L4",
19
- ts: "2023-11-21"
18
+ floor: "B1",
19
+ ts: "2016-01-01"
20
20
  });
21
21
  // 切换楼层
22
- bmap.switchFloor("L4")
22
+ bmap.switchFloor("B1")
23
23
  })();
24
24
 
25
+ // 监听放大缩小的变化
26
+ // bmap.context.control.addEventListener("change", () => {console.log(bmap.context.camera.zoom)})
27
+
25
28
  // 图元点击
26
29
  bmap.context.addEventListener('graphic-click', (data) => {
27
30
  console.log('graphic-click', data.graphics)
@@ -85,6 +88,70 @@ document.getElementById("createPoi")?.addEventListener('click', () => {
85
88
  // 修改poi显示文字
86
89
  // poi.options.text = "xxxx"
87
90
  })
91
+ // 获取全部图元
92
+ document.getElementById("getAllGraphics")?.addEventListener('click', () => {
93
+ console.log(bmap.getFloorAllGraphics())
94
+ })
95
+ // 切换楼层
96
+ document.getElementById("switchFloor")?.addEventListener('click', async () => {
97
+ await bmap.load({
98
+ brand: "crc",
99
+ project: "0202A501",
100
+ phase: "themixctd01",
101
+ building: "A",
102
+ floor: "B2",
103
+ ts: "2023-11-26"
104
+ });
105
+ // 切换楼层
106
+ bmap.switchFloor("B2")
107
+ })
108
+ // hover显示覆盖物
109
+ document.getElementById("hoverShowOverlay")?.addEventListener('click', async () => {
110
+ const overlaysMap = new Map<Graphic, Overlay>()
111
+ const overlayState = new Map<Overlay, { graphicHover: boolean, divHover: boolean }>()
112
+ bmap.context.addEventListener("hover", ({ graphics }) => {
113
+ console.log("hover", graphics)
114
+ // 没有hover的元素要删除
115
+ overlaysMap.forEach((overlay, graphic) => {
116
+ if (!graphics.includes(graphic)) {
117
+ overlayState.get(overlay)!.graphicHover = false
118
+ window.requestAnimationFrame(() => {
119
+ // 鼠标即不在div上也不再graphic上就销毁这个overlay
120
+ if (!overlayState.get(overlay)!.divHover) {
121
+ overlay.dispose();
122
+ overlaysMap.delete(graphic)
123
+ }
124
+ })
125
+ }
126
+ })
127
+ graphics.forEach(graphic => {
128
+ if (overlaysMap.has(graphic)) {
129
+ return
130
+ }
131
+ const overlay = new Overlay(bmap.context)
132
+ overlay.bindElement(graphic)
133
+ const div = document.createElement("div")
134
+ div.style.cssText = "width: 100px; height: 100px; background: red;transform: translate(-50%, -100%);"
135
+ div.textContent = "显示一段文本"
136
+ overlay.div.addEventListener("mouseover", () => {
137
+ console.log("进入额")
138
+ overlayState.get(overlay)!.divHover = true
139
+ console.log(overlayState.get(overlay))
140
+ })
141
+ overlay.div.addEventListener("mouseout", () => {
142
+ console.log("移除了")
143
+ overlayState.get(overlay)!.divHover = false
144
+ if (!overlayState.get(overlay)!.graphicHover) {
145
+ overlay.dispose();
146
+ overlaysMap.delete(graphic)
147
+ }
148
+ })
149
+ overlay.div.appendChild(div)
150
+ overlaysMap.set(graphic, overlay)
151
+ overlayState.set(overlay, {graphicHover: true, divHover: false})
152
+ })
153
+ })
154
+ })
88
155
  document.getElementById("changeGraphicColor")?.addEventListener('click', () => {
89
156
  graphic.options.fillColor = "#000fff";
90
157
  })
@@ -1,2 +1,2 @@
1
- "use strict";var N=Object.defineProperty;var Vt=Object.getOwnPropertyDescriptor;var Bt=Object.getOwnPropertyNames,yt=Object.getOwnPropertySymbols;var bt=Object.prototype.hasOwnProperty,It=Object.prototype.propertyIsEnumerable;var C=Math.pow,it=(o,n,t)=>n in o?N(o,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[n]=t,wt=(o,n)=>{for(var t in n||(n={}))bt.call(n,t)&&it(o,t,n[t]);if(yt)for(var t of yt(n))It.call(n,t)&&it(o,t,n[t]);return o};var jt=(o,n)=>{for(var t in n)N(o,t,{get:n[t],enumerable:!0})},$t=(o,n,t,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of Bt(n))!bt.call(o,i)&&i!==t&&N(o,i,{get:()=>n[i],enumerable:!(e=Vt(n,i))||e.enumerable});return o};var Kt=o=>$t(N({},"__esModule",{value:!0}),o);var s=(o,n,t)=>(it(o,typeof n!="symbol"?n+"":n,t),t);var V=(o,n,t)=>new Promise((e,i)=>{var r=h=>{try{c(t.next(h))}catch(p){i(p)}},a=h=>{try{c(t.throw(h))}catch(p){i(p)}},c=h=>h.done?e(h.value):Promise.resolve(h.value).then(r,a);c((t=t.apply(o,n)).next())});var _t={};jt(_t,{BMap:()=>vt,Context:()=>K,Floor:()=>q,Graphic:()=>M,GraphicLayer:()=>W,HeatmapElement:()=>Y,Layer:()=>O,Overlay:()=>U,Poi:()=>F,PoiLayer:()=>_,Shadow:()=>X,SvgLine:()=>Z,SvgPolygon:()=>Q,Timer:()=>B,clearCanvas:()=>dt,clearTextTexture:()=>mt,createCanvas:()=>Ct,createCircle:()=>S,createLine:()=>$,createSvg:()=>gt,createSvgElement:()=>tt,defaultConfig:()=>Mt,dispose:()=>P,getCenter:()=>ut,getConfig:()=>ft,getTextureByText:()=>Xt,hasChinese:()=>pt,initCamera:()=>rt,initCanvas:()=>Pt,initControl:()=>at,initDirectionalLight:()=>ht,initLight:()=>st,initRenderer:()=>ot,initScene:()=>nt,initShape:()=>ct,proxyOptions:()=>I,setCirclePosition:()=>L,setLineStartEnd:()=>b,timeoutPromise:()=>j,vector3ToDevice:()=>y});module.exports=Kt(_t);var kt=require("three");var B=class{constructor(){s(this,"tasks",{requestAnimation:new Set,timeout:new Set,interval:new Set})}requestAnimationFrame(n){let t=window.requestAnimationFrame(()=>{this.tasks.requestAnimation.delete(t),n()});return this.tasks.requestAnimation.add(t),t}cancelAnimationFrame(n){this.tasks.requestAnimation.delete(n),window.cancelAnimationFrame(n)}setTimeout(n,t){let e=window.setTimeout(()=>{this.tasks.timeout.delete(e),n()},t);return this.tasks.timeout.add(e),e}clearTimeout(n){this.tasks.timeout.delete(n),window.clearTimeout(n)}setInterval(n,t){let e=window.setInterval(()=>{this.tasks.interval.delete(e),n()},t);return this.tasks.interval.add(e),e}clearInterval(n){this.tasks.interval.delete(n),window.clearInterval(n)}dispose(){this.tasks.requestAnimation.forEach(n=>{window.cancelAnimationFrame(n)}),this.tasks.requestAnimation.clear(),this.tasks.timeout.forEach(n=>{window.clearTimeout(n)}),this.tasks.timeout.clear(),this.tasks.interval.forEach(n=>{window.clearInterval(n)}),this.tasks.interval.clear()}};var u=require("three"),Et=require("three/examples/jsm/controls/MapControls");function nt(){let o=new u.Scene;return o.background=new u.Color(16777215),o}function ot(){let o=new u.WebGLRenderer({antialias:!0});return o.setClearColor(16777215),o.setPixelRatio(window.devicePixelRatio),o.shadowMap.enabled=!0,o.shadowMap.autoUpdate=!0,o.shadowMap.type=u.PCFSoftShadowMap,o}function rt(o,n){let t=new u.OrthographicCamera(-o/2,o/2,n/2,-n/2,-1e3,5e3);return t.up.set(0,0,1),t.position.set(0,0,100),t.lookAt(0,0,0),t}function st(){let o=new u.Group,n=new u.HemisphereLight(16777215,15658734,1);n.intensity=1,n.position.set(0,0,10),n.up.set(0,0,1),o.add(n);let t=new u.AmbientLight(16777215);return o.add(t),o}function at(o,n){let t=new Et.MapControls(o,n);return t.enableDamping=!1,t.maxPolarAngle=0,t.minPolarAngle=0,t.maxAzimuthAngle=0,t.minAzimuthAngle=0,t}function ct(o){let n=new u.Shape;if(Array.isArray(o[0])){n.moveTo(...o[0]);for(let t=1;t<o.length;t++)n.lineTo(...o[t])}return n}function ht(o=16777215,n=1){let t=new u.DirectionalLight(o,n);return t.castShadow=!0,t.shadow.radius=8,t.shadow.bias=-.001,t.shadow.mapSize.set(64,64),t.shadow.camera.left=-200,t.shadow.camera.right=200,t.shadow.camera.top=200,t.shadow.camera.bottom=-200,t}function P(o,n){var t;if(n&&o.children&&o.children.length&&o.children.forEach(e=>{P(e,n)}),o.isMesh){let e=o;e.geometry&&e.geometry.dispose(),e.material&&(Array.isArray(e.material)?e.material.forEach(i=>{i.dispose()}):e.material.dispose())}o.isLight&&((t=o.dispose)==null||t.call(o))}function pt(o){return/[\u4E00-\u9FA5]+/g.test(o)}var A=require("three");var J=new Map;function Pt(){let o=document.createElement("canvas");o.width=1024,o.height=64;let n=o.getContext("2d",{willReadFrequently:!0});return n.font="54px sans-serif",n.textBaseline="hanging",n.lineWidth=12,n.fillStyle="rgba(0,0,0,1)",n.strokeStyle="white",{canvas:o,ctx:n}}var lt,G;function Ct(){if(!lt){let{canvas:o,ctx:n}=Pt();lt=o,G=n}}function Xt(o){if(J.has(o))return J.get(o);Ct(),G.clearRect(0,0,1024,64);let n=pt(o)?4:8;G.strokeText(o,2,n),G.fillText(o,2,n);let t=Math.ceil(G.measureText(o).width);t=t%2===0?t:t+1,t+=2;let e=G.getImageData(0,0,t,64),i=new A.DataTexture(Uint8Array.from(e.data),t,64,A.RGBAFormat);return i.flipY=!0,i.minFilter=A.LinearFilter,i.magFilter=A.LinearFilter,J.set(o,i),i}function mt(){J.clear()}function dt(){G=null,lt=null}var T=require("@turf/turf");function y(o,n,t,e){let i=o.clone().project(n),r=t/2,a=e/2,c=Math.round(i.x*r+r),h=Math.round(-i.y*a+a);return{x:c,y:h}}function ut(o){let n=(0,T.featureCollection)(o.map(e=>(0,T.point)(e)));return(0,T.center)(n).geometry.coordinates}function I(o,n){return new Proxy(o,{get:(t,e,i)=>Reflect.get(t,e,i),set:(t,e,i,r)=>{let a=Reflect.set(t,e,i,r);return n.dispatchEvent({type:`change-${e}`,value:i}),a}})}function j(o,n){return Promise.race([o,new Promise((t,e)=>{setTimeout(()=>e(new Error("Promise timeout")),n)})])}function tt(o){return document.createElementNS("http://www.w3.org/2000/svg",o)}function gt(o,n){let t=tt("svg");return t.setAttribute("width",o),t.setAttribute("height",n),t.style.cssText="position: absolute; left: 0; top: 0; pointer-events: none;",t}function S(o="2",n){let t=tt("circle");return t.setAttribute("r",o),t.setAttribute("fill",n),t}function $(o){let n=tt("line");return n.setAttribute("stroke",o),n}function L(o,n,t){o.setAttribute("cx",`${n}`),o.setAttribute("cy",`${t}`)}function b(o,n,t){n&&(o.setAttribute("x1",`${n.x}`),o.setAttribute("y1",`${n.y}`)),t&&(o.setAttribute("x2",`${t.x}`),o.setAttribute("y2",`${t.y}`))}var m=require("three"),k=require("@tweenjs/tween.js");var K=class extends m.EventDispatcher{constructor(t,e){super();this.container=t;this.config=e;s(this,"scene",nt());s(this,"renderer",ot());s(this,"camera");s(this,"control");s(this,"lights",st());s(this,"timer",new B);s(this,"tweenGroup",new k.Group);s(this,"currentFloor");s(this,"basicRatio");s(this,"onWindowResize",()=>{let{container:t,camera:e,renderer:i}=this,{clientWidth:r,clientHeight:a}=t;e.left=-r/2,e.right=r/2,e.top=a/2,e.bottom=-a/2,e.updateProjectionMatrix(),i.setSize(window.innerWidth,window.innerHeight)});s(this,"onClick",t=>{let{graphics:e,position:i}=this.getGraphicsByDeviceXy(t.offsetX,t.offsetY);e.length&&this.dispatchEvent({type:"graphic-click",graphics:e,position:i});let r=this.getPoisByDeviceXy(t.clientX,t.clientY);r.length&&this.dispatchEvent({type:"poi-click",pois:r})});s(this,"onPointerover",t=>{let{graphics:e,position:i}=this.getGraphicsByDeviceXy(t.offsetX,t.offsetY),r=this.getPoisByDeviceXy(t.clientX,t.clientY);this.dispatchEvent({type:"pointer-over",graphics:e,pois:r,position:i})});s(this,"onPointermove",t=>{let{graphics:e,position:i}=this.getGraphicsByDeviceXy(t.offsetX,t.offsetY),r=this.getPoisByDeviceXy(t.clientX,t.clientY);this.dispatchEvent({type:"pointer-move",graphics:e,pois:r,position:i})});s(this,"onPointerleave",()=>{this.dispatchEvent({type:"pointer-level"})});this.container.style.position="relative",this.container.style.overflow="hidden",this.init(),this.registryEvent()}init(){let{clientWidth:t,clientHeight:e}=this.container;this.camera=rt(t,e),this.renderer.setSize(t,e),this.control=at(this.camera,this.renderer.domElement),this.container.appendChild(this.renderer.domElement),this.scene.add(this.lights),this.basicRatio=this.getRatio(),this.control.addEventListener("change",()=>{var r;let i=this.control.getPolarAngle();(r=this.currentFloor)==null||r.setShadowOpacity(i/this.config.control.maxPolar),this.dispatchEvent({type:"change-ratio",px:(this.basicRatio||0)*this.camera.zoom})})}getRatio(t=new m.Vector3(0,0,0),e=new m.Vector3(100,0,0)){let{clientWidth:i,clientHeight:r}=this.container,a=y(t,this.camera,i,r),c=y(e,this.camera,i,r);return Math.ceil(Math.sqrt(C(c.x-a.x,2)+C(c.y-a.y,2)))}changeAmbientLightColor(t){this.lights.children.forEach(e=>{e instanceof m.AmbientLight&&(e.color=new m.Color(t))})}switchFloor(t){var i;this.currentFloor&&(this.scene.remove(t),t.dispose()),this.currentFloor=t,this.scene.add(t);let e=(i=t.ground)==null?void 0:i.getCenter();e&&(this.lights.position.x=e.x,this.lights.position.y=e.y)}getGraphicsByDeviceXy(t,e){var c;let i=new m.Vector2;i.x=t/this.container.clientWidth*2-1,i.y=e/this.container.clientHeight*-2+1;let r=new m.Raycaster;return r.setFromCamera(i,this.camera),((c=this.currentFloor)==null?void 0:c.graphicLayer.getGraphicByRaycaster(r))||{graphics:[],position:null}}getPoisByDeviceXy(t,e){var r;return((r=this.currentFloor)==null?void 0:r.poiLayer.getPoiByDeviceXy(t,e))||[]}registryEvent(){window.addEventListener("resize",this.onWindowResize),this.container.addEventListener("click",this.onClick),this.container.addEventListener("pointerover",this.onPointerover),this.container.addEventListener("pointermove",this.onPointermove),this.container.addEventListener("pointerleave",this.onPointerleave)}unRegistryEvent(){window.removeEventListener("resize",this.onWindowResize),this.container.removeEventListener("click",this.onClick),this.container.removeEventListener("pointerover",this.onPointerover),this.container.removeEventListener("pointermove",this.onPointermove),this.container.removeEventListener("pointerleave",this.onPointerleave)}setPolarAngle(t,e=500){return j(new Promise(i=>{let r={polar:this.control.getPolarAngle()},a={polar:t},c=new k.Tween(r,this.tweenGroup).to(a,e).onUpdate(()=>{this.control.maxPolarAngle=r.polar,this.control.minPolarAngle=r.polar,this.control.update()}).onComplete(()=>{this.control.enabled=!0,this.tweenGroup.remove(c),i(!0)}).onStart(()=>{this.control.enabled=!1}).start()}),e+500)}getCameraLookAt(){return new m.Vector3().subVectors(this.control.target,this.camera.position)}setZoom(t,e,i=500){return j(new Promise(r=>{let a={zoom:this.camera.zoom,target:this.control.target.clone()},c=this.getCameraLookAt(),h=new k.Tween(a,this.tweenGroup).to({zoom:t,target:e},i).onUpdate(()=>{this.camera.position.copy(a.target.clone().sub(c)),this.control.target.copy(a.target),this.camera.zoom=a.zoom,this.control.update()}).onComplete(()=>{this.tweenGroup.remove(h),this.control.enabled=!0,r(!0)}).onStart(()=>{this.control.enabled=!1}).start()}),i+500)}fitCameraToObject(t,e=[20,20,20,20],i=500){let[r,a,c,h]=e,{clientWidth:p,clientHeight:d}=this.container,v=new m.Box3().setFromObject(t),{max:g,min:E}=v,x=y(g,this.camera,p,d),z=y(E,this.camera,p,d),xt=new m.Box2().setFromPoints([new m.Vector2(x.x,x.y),new m.Vector2(z.x,z.y)]).getSize(new m.Vector2),Ft=(p-a-h)/xt.x,Rt=(d-r-c)/xt.y,Ht=Math.min(Ft,Rt),zt=new m.Vector3((g.x+E.x)/2,(g.y+E.y)/2,g.z);return this.setZoom(Ht*this.camera.zoom,zt,i)}fitCameraToGround(t=[20,20,20,20],e=500){var r;let i=(r=this.currentFloor)==null?void 0:r.ground;return i?this.fitCameraToObject(i,t,e):Promise.resolve(!1)}setCameraPosition(t,e){return j(new Promise(i=>{let r=this.camera.position.clone(),a=this.getCameraLookAt(),c=new k.Tween(r,this.tweenGroup).to(t,e).onUpdate(()=>{this.camera.position.copy(r),this.control.target.copy(t.clone().add(a))}).onComplete(()=>{this.tweenGroup.remove(c),this.control.update(),this.control.enabled=!0,i(!0)}).onStart(()=>{this.control.enabled=!1}).start()}),e+500)}render(){this.renderer.render(this.scene,this.camera),this.dispatchEvent({type:"update"}),this.timer.requestAnimationFrame(()=>{this.render()}),this.tweenGroup.update()}dispose(){this.tweenGroup.getAll().forEach(t=>t.stop()),this.tweenGroup.removeAll(),this.unRegistryEvent(),this.container.removeChild(this.renderer.domElement),this.timer.dispose(),this.renderer.dispose(),this.lights.children.forEach(t=>t.dispose()),P(this.scene)}};var Lt=require("lodash"),Mt={apiDomain:"",apiInfo:{},apiPath:{floorGraphic:"/api/inception-map/floor/get",floorRange:"/api/inception-map/range/get"},heatMap:{radius:50,gradient:{0:"#8F9FCD",.5:"#6284FF",1:"#F95D5D"}},useFloorCache:!0,control:{maxPolar:1.2},svg:{circle:{radius:"2",fill:"#EFF4FB"},line:{stroke:"#EFF4FB"}}};function ft(o){return(0,Lt.merge)({},Mt,o)}var l=require("three");var Dt=require("lodash");var Ut={id:"",height:.1,airHeight:0,area:0,group:"",fillColor:"#EFF4FB",strokeColor:"#ffffff",fillOpacity:1,strokeOpacity:1,doors:[],locked:!1,visible:!0,geometry:{type:"polygon",cds:[],curveCpt:[],curveIndex:[]},layerType:"",zIndex:0},M=class extends l.Object3D{constructor(t,e){super();this.context=t;s(this,"geometry");s(this,"material");s(this,"mesh");s(this,"line");s(this,"options");this.options=I((0,Dt.merge)({},Ut,e),this),this.init(),this.visible=this.options.visible,this.addEventListener("change-fillColor",({value:i})=>{this.material.color=new l.Color(i)}),this.addEventListener("change-fillOpacity",({value:i})=>{this.material.opacity=i}),this.addEventListener("change-height",({value:i})=>{this.dispose(),this.init()}),this.addEventListener("change-strokeColor",({value:i})=>{this.line.material.color=new l.Color(i)}),this.addEventListener("change-strokeOpacity",({value:i})=>{this.line.material.opacity=i}),this.addEventListener("change-airHeight",({value:i})=>{this.position.z=i}),this.addEventListener("change-visible",({value:i})=>{this.visible=i})}getCenter(){let t=new l.Vector3,e=new l.Box3;return e.setFromObject(this),e.getCenter(t),t}getSize(){let t=new l.Box3,e=new l.Vector3;return t.setFromObject(this),t.getSize(e),e}init(){this.geometry=this.initGeometry(),this.material=this.initMaterial(),this.mesh=this.initMesh(),this.mesh.position.z=this.options.airHeight+this.options.height/2,this.mesh.castShadow=!0,this.add(this.mesh),this.line=this.createBorder(),this.add(this.line)}initGeometry(){let t=ct(this.options.geometry.cds[0]);return new l.ExtrudeGeometry(t,{steps:1,bevelEnabled:!1,depth:this.options.height,curveSegments:4})}initMaterial(){return new l.MeshStandardMaterial({color:this.options.fillColor,roughness:1,transparent:!0,opacity:this.options.fillOpacity,depthWrite:!0})}initLineMaterial(){return new l.LineBasicMaterial({color:this.options.strokeColor,opacity:this.options.strokeOpacity,transparent:!0,depthWrite:!0})}initMesh(){return new l.Mesh(this.geometry,this.material)}createBorder(){let t=this.initLineMaterial(),e=new l.EdgesGeometry(this.geometry);return new l.LineSegments(e,t)}raycast(t){if(!this.visible)return!1;let e=t.intersectObject(this.mesh);return e[0]?e[0].point:!1}dispose(){P(this),this.clear()}};var w=require("three");var X=class extends w.Object3D{constructor(){super();s(this,"directionalLight");s(this,"plane");s(this,"basicOpacity",.39);this.directionalLight=this.initLight(),this.initPlane()}initLight(){let t=ht(16777215,1);return t.position.set(0,0,100),this.add(t),t}changeLightCamera(t){let e=t.x,i=t.y;this.directionalLight.shadow.camera.left=-e,this.directionalLight.shadow.camera.right=e,this.directionalLight.shadow.camera.top=i,this.directionalLight.shadow.camera.bottom=-i,this.directionalLight.shadow.camera.near=.5,this.directionalLight.shadow.camera.far=Math.max(e,i)}changeLightColor(t){this.directionalLight.color=new w.Color(t)}initPlane(t=1e4,e=1e4){let i=new w.PlaneGeometry(t,e),r=new w.ShadowMaterial({transparent:!0,opacity:0,side:w.DoubleSide}),a=new w.Mesh(i,r);return a.receiveShadow=!0,a.position.z=-20,this.add(a),this.plane=a,a}setTarget(t){this.directionalLight.target=t}transformOpacity(t){return t*this.basicOpacity}setOpacity(t){this.plane.material.opacity=this.transformOpacity(t)}dispose(){P(this,!0)}};var Gt=require("three"),At=require("lodash");var et=require("three");var U=class extends et.EventDispatcher{constructor(t){super();this.context=t;s(this,"div");s(this,"element");s(this,"position",new et.Vector3);s(this,"onUpdate",()=>{let t=this.getPosition(),{clientWidth:e,clientHeight:i}=this.context.container,{x:r,y:a}=y(t,this.context.camera,e,i);this.div.style.left=`${r}px`,this.div.style.top=`${a}px`});this.registryEvent(),this.div=this.initDiv(),this.context.container.appendChild(this.div)}initDiv(){let t=document.createElement("div");return t.style.position="absolute",t}bindElement(t){this.element=t}unBindElement(){this.element=void 0}setVisible(t,e="block"){this.div.style.display=t?e:"none"}getPosition(){return this.element?this.element.position.clone().setFromMatrixPosition(this.element.matrixWorld):this.position}registryEvent(){this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.removeEventListener("update",this.onUpdate)}dispose(){this.unRegistryEvent(),this.unBindElement(),this.context.container.removeChild(this.div),this.div=null}};var Wt={text:"",level:1,collision_enable:!0},F=class extends Gt.Object3D{constructor(t,e){super();this.context=t;s(this,"span");s(this,"img");s(this,"overlay");s(this,"options");s(this,"_changePosition",()=>{this.overlay.div.style.transform=`translate3d(-50%, ${this.options.icon?"-100%":"-50%"}, 0)`});this.options=I((0,At.merge)({},Wt,e),this),this.overlay=new U(this.context),this.overlay.bindElement(this),this._changePosition(),this.registryEvent(),this.initDiv(),this.addEventListener("change-icon",({value:i})=>{i?this.img?this.img.setAttribute("src",i):this.overlay.div.appendChild(this.initIcon()):(this.img&&this.overlay.div.removeChild(this.img),this.img=void 0)}),this.addEventListener("change-text",({value:i})=>{this.span.textContent=i})}initDiv(){let t=this.overlay.div;return t.appendChild(this.initText()),this.options.icon&&t.appendChild(this.initIcon()),t.style.fontSize="12px",t.style.display="flex",t.style.flexDirection="column",t.style.justifyContent="center",t.style.alignItems="center",t.style.pointerEvents="none",t}initText(){let t=document.createElement("span");return t.style.whiteSpace="nowrap",t.textContent=this.options.text,this.span=t,t}initIcon(){var e,i;let t=document.createElement("img");return t.setAttribute("src",this.options.icon),t.style.width=`${((e=this.options.icon_size)==null?void 0:e[0])||32}px`,t.style.height=`${((i=this.options.icon_size)==null?void 0:i[1])||32}px`,this.img=t,t}registryEvent(){this.context.addEventListener("update",this._changePosition)}unRegistryEvent(){this.context.removeEventListener("update",this._changePosition)}setVisible(t){this.overlay.setVisible(t,"flex")}getBox(){return this.overlay.div.getBoundingClientRect()}isContain(t,e){let i=this.getBox();return t>=i.left&&t<=i.right&&e>=i.top&&e<=i.bottom}dispose(){this.unRegistryEvent(),this.overlay.dispose(),this.span=null,this.img=void 0}};var St=require("three");var Ot=require("three");var O=class extends Ot.Object3D{constructor(t){super();this.context=t}dispose(){P(this),this.clear()}};var W=class extends O{constructor(n){super(n)}createGraphic(n){let t=new M(this.context,n);return this.add(t),t}getGraphicByRaycaster(n){let t=null;return{graphics:this.children.filter(i=>{if(i instanceof M){let r=i.raycast(n);return r&&(t?r.z>t.z&&(t=r):t=r),!!r}}),position:t}}};var _=class extends O{constructor(t){super(t);s(this,"pois",[]);s(this,"onUpdate",()=>{this.collisionDetection()});this.registryEvent()}createPoi(t){let e=new F(this.context,t);return this.add(e),this.pushPoi(e),e.addEventListener("change-level",()=>this.changePoiLevelOrCollisionEnable(e)),e.addEventListener("change-collision_enable",()=>this.changePoiLevelOrCollisionEnable(e)),e}changePoiLevelOrCollisionEnable(t){let e=this.pois.findIndex(i=>i===t);e!==-1&&(this.pois.splice(e,1),this.pushPoi(t))}removePoi(t){let e=this.pois.findIndex(i=>i===t);e!==-1&&(this.pois.splice(e,1),this.remove(t),t.dispose())}pushPoi(t){if(!t.options.collision_enable){this.pois.unshift(t);return}if(t.options.level===1){this.pois.push(t);return}for(let e=0;e<this.pois.length;e++){let i=this.pois[e];if(i.options.collision_enable&&i.options.level<=t.options.level){this.pois.splice(e,0,t);return}}this.pois.push(t)}getPoiByDeviceXy(t,e){return this.children.filter(r=>r instanceof F&&r.isContain(t,e))}collisionDetection(){let t=[];this.pois.forEach((e,i)=>{e.setVisible(!0);let{left:r,right:a,top:c,bottom:h}=e.getBox();if(i===0){t.push({left:r,right:a,top:c,bottom:h});return}let p=t.some(d=>{let v=a<d.left||r>d.right,g=c>d.bottom||h<d.top;return v||g});e.setVisible(p)})}registryEvent(){this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.removeEventListener("update",this.onUpdate)}dispose(){super.dispose(),this.unRegistryEvent(),this.pois.forEach(t=>t.dispose()),this.pois.length=0}};var f=require("three"),Tt=require("@mars3d/heatmap.js"),D=require("@turf/turf");var Y=class extends f.Object3D{constructor(t){super();this.context=t;s(this,"heatmap");s(this,"div");s(this,"plane");this.div=document.createElement("div")}clearHeatmap(){this.div.firstChild&&this.div.removeChild(this.div.firstChild),this.heatmap=void 0}loadData(t){this.clearHeatmap();let{width:e,height:i,leftTop:r,center:a}=this.getBox(t);this.heatmap=(0,Tt.create)(wt({width:e,height:i,container:this.div},this.context.config.heatMap)),this.heatmap.setData(this.transformData(t,r)),this.initPlane(e,i),this.position.set(a[0],a[1],this.position.z)}initPlane(t,e){this.plane&&this.remove(this.plane);let i=new f.PlaneGeometry(t,e),r=new f.Texture(this.div.firstChild);r.needsUpdate=!0;let a=new f.MeshBasicMaterial({transparent:!0,side:f.DoubleSide,map:r});a.needsUpdate=!0,this.plane=new f.Mesh(i,a),this.add(this.plane)}getTransMatrix({x:t,y:e}){return new f.Matrix3().makeScale(1,-1).multiply(new f.Matrix3().makeTranslation(0-t,0-e))}transformData(t,e){let i=this.getTransMatrix(e);return{data:t.data.map(a=>{let c=new f.Vector2(a.x,a.y).applyMatrix3(i);return{x:c.x,y:c.y,value:a.value}}),max:t.max,min:t.min}}getBox(t){let e=(0,D.featureCollection)(t.data.map(p=>(0,D.point)([p.x,p.y]))),i=(0,D.bbox)(e),r=i[2]-i[0],a=i[3]-i[1],c={x:i[0],y:i[3]},h=(0,D.center)(e);return{width:r,height:a,leftTop:c,center:h.geometry.coordinates}}dispose(){this.div=null,this.heatmap=void 0}};var q=class extends St.Object3D{constructor(t){super();this.context=t;s(this,"graphicLayer");s(this,"poiLayer");s(this,"ground");s(this,"shadow",new X);s(this,"heatmap");this.graphicLayer=new W(this.context),this.poiLayer=new _(this.context),this.add(this.graphicLayer),this.add(this.poiLayer),this.add(this.shadow)}addGround(t){this.ground=t,this.add(t);let e=t.getCenter(),i=t.getSize();this.shadow.position.x=e.x,this.shadow.position.y=e.y,this.shadow.changeLightCamera(i),this.shadow.setTarget(t)}addGraphic(t){return this.graphicLayer.createGraphic(t)}addPoi(t){return this.poiLayer.createPoi(t)}addHeatmap(t){var e,i;return this.heatmap||(this.heatmap=new Y(this.context),this.add(this.heatmap)),this.heatmap.loadData(t),this.ground&&this.heatmap.position.setZ(((e=this.ground)==null?void 0:e.options.airHeight)+((i=this.ground)==null?void 0:i.options.height)),this.heatmap}removeHeatMap(){this.heatmap&&(this.remove(this.heatmap),this.heatmap.dispose(),this.heatmap=void 0)}setShadowOpacity(t){this.shadow.setOpacity(t)}setShadowVisible(t){this.shadow.visible=t}dispose(){var t,e;this.shadow.dispose(),this.graphicLayer.dispose(),this.poiLayer.dispose(),(t=this.ground)==null||t.dispose(),(e=this.heatmap)==null||e.dispose(),this.clear()}};var H=require("three");var R=class extends H.EventDispatcher{constructor(t){super();this.context=t;s(this,"points",[]);s(this,"svg");s(this,"enable",!0);this.svg=gt(`${t.container.clientWidth}`,`${t.container.clientHeight}`),t.container.appendChild(this.svg)}setEnable(t){this.enable=t,t?this.svg.style.display="block":this.svg.style.display="none"}getIntersectByPointerEvent(t){var h;if(!((h=this.context.currentFloor)!=null&&h.ground))return;let{offsetX:e,offsetY:i}=t,r=new H.Vector2;r.x=e/this.context.container.clientWidth*2-1,r.y=i/this.context.container.clientHeight*-2+1;let a=new H.Raycaster;return a.setFromCamera(r,this.context.camera),a.intersectObjects(this.context.currentFloor.ground.children,!0)[0]}getSvgCoordinate(t){let{camera:e,container:i}=this.context;return y(t,e,i.clientWidth,i.clientHeight)}dispose(){this.context.container.removeChild(this.svg),this.svg=null}};var Z=class extends R{constructor(t){super(t);this.context=t;s(this,"circles");s(this,"line");s(this,"onUpdate",()=>{if(this.points[0]){let t=this.getSvgCoordinate(this.points[0]);L(this.circles[0],t.x,t.y),b(this.line,t)}if(this.points[1]){let t=this.getSvgCoordinate(this.points[1]);L(this.circles[1],t.x,t.y),b(this.line,void 0,t)}});s(this,"onPointermove",t=>{this.points.length===1&&(this.line.style.display="block",b(this.line,void 0,{x:t.offsetX,y:t.offsetY}))});s(this,"onPointerleave",()=>{this.points[1]||(this.line.style.display="none")});s(this,"onPointerdown",t=>{if(this.points[1])return;let e=this.getIntersectByPointerEvent(t);if(e!=null&&e.point){let{offsetX:i,offsetY:r}=t,a=this.circles[this.points.length];L(a,i,r),this.points.length||b(this.line,{x:i,y:r},{x:i,y:r}),this.addPoint(e.point)}});let{config:{svg:{circle:e,line:i}}}=t;this.circles=[S(e.radius,e.fill),S(e.radius,e.fill)],this.line=$(i.stroke),this.svg.appendChild(this.circles[0]),this.svg.appendChild(this.circles[1]),this.svg.appendChild(this.line),this.registryEvent()}setEnable(t){super.setEnable(t),t?this.registryEvent():this.unRegistryEvent()}registryEvent(){this.context.container.addEventListener("pointerenter",this.onPointermove),this.context.container.addEventListener("pointermove",this.onPointermove),this.context.container.addEventListener("pointerleave",this.onPointerleave),this.context.container.addEventListener("pointerdown",this.onPointerdown),this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.container.removeEventListener("pointerenter",this.onPointermove),this.context.container.removeEventListener("pointermove",this.onPointermove),this.context.container.removeEventListener("pointerleave",this.onPointerleave),this.context.container.removeEventListener("pointerdown",this.onPointerdown),this.context.removeEventListener("update",this.onUpdate)}addPoint(t){if(this.points.push(t),this.points.length>=2){let e=this.calculatedDistance();this.dispatchEvent({type:"distance",distance:e})}}calculatedDistance(){let[{x:t,y:e},{x:i,y:r}]=this.points;return Math.sqrt(C(i-t,2)+C(r-e,2))}dispose(){super.dispose(),this.unRegistryEvent(),this.line=null,this.circles=[]}};var Q=class extends R{constructor(t){super(t);s(this,"circles",[]);s(this,"lines",[]);s(this,"isClose",!1);s(this,"onUpdate",()=>{this.points.length&&this.points.forEach((t,e)=>{let i=this.getSvgCoordinate(t);this.circles[e]&&L(this.circles[e],i.x,i.y),e!==0&&b(this.lines[e-1],void 0,i),this.lines[e]&&b(this.lines[e],i)})});s(this,"onPointermove",t=>{!this.lastLine||this.isClose||(this.lastLine.style.display="block",b(this.lastLine,void 0,{x:t.offsetX,y:t.offsetY}))});s(this,"onPointerleave",()=>{this.isClose||(this.lastLine.style.display="none")});s(this,"onPointerdown",t=>{if(this.isClose)return;let e=this.getIntersectByPointerEvent(t);if(e!=null&&e.point){let{offsetX:i,offsetY:r}=t;this.checkAdsorb(i,r)?(this.isClose=!0,this.addPoint(this.points[0])):this.addPoint(e.point);let{circle:{fill:a,radius:c},line:{stroke:h}}=this.context.config.svg;if(!this.isClose){let p=S(c,a);L(p,i,r),this.addCircle(p)}if(this.lines.length&&b(this.lastLine,void 0,{x:i,y:r}),!this.isClose){let p=$(h);b(p,{x:i,y:r},{x:i,y:r}),this.addLine(p)}}});this.registryEvent()}setEnable(t){super.setEnable(t),t?this.registryEvent():this.unRegistryEvent()}get lastLine(){return this.lines.slice(-1)[0]}addCircle(t){this.circles.push(t),this.svg.appendChild(t)}addLine(t){this.lines.push(t),this.svg.appendChild(t)}registryEvent(){this.context.container.addEventListener("pointerenter",this.onPointermove),this.context.container.addEventListener("pointermove",this.onPointermove),this.context.container.addEventListener("pointerleave",this.onPointerleave),this.context.container.addEventListener("pointerdown",this.onPointerdown),this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.container.removeEventListener("pointerenter",this.onPointermove),this.context.container.removeEventListener("pointermove",this.onPointermove),this.context.container.removeEventListener("pointerleave",this.onPointerleave),this.context.container.removeEventListener("pointerdown",this.onPointerdown),this.context.removeEventListener("update",this.onUpdate)}checkAdsorb(t,e){if(this.points.length<3)return!1;let i=this.circles[0],r=+i.getAttribute("cx"),a=+i.getAttribute("cy");return Math.sqrt(C(t-r,2)+C(e-a,2))<=5}addPoint(t){if(this.points.push(t),this.isClose){let e=this.calculatedArea();this.dispatchEvent({type:"area",area:e})}}calculatedArea(){let t=this.points.map(r=>[r.x,r.y]),e=0,i=t.length;for(let r=0;r<i;r++){let a=(r+1)%i;e+=t[r][0]*t[a][1]-t[a][0]*t[r][1]}return Math.abs(e/2)}dispose(){super.dispose(),this.unRegistryEvent(),this.lines=[],this.circles=[]}};var vt=class extends kt.EventDispatcher{constructor(t,e={}){super();this.container=t;s(this,"config");s(this,"context");s(this,"polarKeys",[]);s(this,"azimuthalKeys",[]);s(this,"svgLine");s(this,"svgPolygon");s(this,"floorDataMap",new Map);s(this,"onKeydown",t=>{this.polarKeys.includes(t.code)&&(this.context.control.maxPolarAngle=this.config.control.maxPolar,this.context.control.minPolarAngle=0),this.azimuthalKeys.includes(t.code)&&(this.context.control.maxAzimuthAngle=1/0,this.context.control.minAzimuthAngle=1/0)});s(this,"onKeyUp",t=>{if(this.polarKeys.includes(t.code)){let e=this.context.control.getPolarAngle();this.context.control.maxPolarAngle=e,this.context.control.minPolarAngle=e}if(this.azimuthalKeys.includes(t.code)){let e=this.context.control.getAzimuthalAngle();this.context.control.maxAzimuthAngle=e,this.context.control.minAzimuthAngle=e}});this.config=ft(e),this.context=new K(t,this.config),this.registryEvent(),this.context.render()}loadGraphics(h){return V(this,arguments,function*({brand:t,project:e,phase:i,building:r,floor:a,ts:c}){let{apiDomain:p,apiPath:{floorGraphic:d},apiInfo:v}=this.config,g=`${p}${d}?brand=${t}&project=${e}&phase=${i}&building=${r}&floor=${a}&ts=${c}&resource_type_list=`;return yield fetch(g,v).then(x=>x.json()).then(x=>x.data).then(x=>((x||[]).map(z=>z.info=JSON.parse(z.info)),x))})}loadBuildingGround(a){return V(this,arguments,function*({brand:t,project:e,phase:i,building:r}){let{apiDomain:c,apiPath:{floorRange:h},apiInfo:p}=this.config,d=`${c}${h}?brand=${t}&project=${e}&phase=${i}&building=${r}`;return(yield fetch(d,p).then(g=>g.json()).then(g=>g.data).then(g=>((g||[]).map(E=>E.info=JSON.parse(E.info)),g)))[0]})}load(h){return V(this,arguments,function*({brand:t,project:e,phase:i,building:r,floor:a,ts:c}){if(this.floorDataMap.get(a))return;let[p,d]=yield Promise.all([this.loadGraphics({brand:t,project:e,phase:i,building:r,floor:a,ts:c}),this.loadBuildingGround({brand:t,project:e,phase:i,building:r})]),v=ut(d.info.geometry.cds[0]);return p.forEach(g=>{g.info.geometry.cds.map(E=>{Array.isArray(E)&&E.forEach(x=>{x[0]-=v[0],x[1]-=v[1]})})}),this.config.useFloorCache||this.floorDataMap.clear(),this.floorDataMap.set(a,p),p})}createFloor(t){let e=new q(this.context),i=t.findIndex(d=>d.info.group==="floor");i===-1&&(i=0);let r=t[i];console.log(r.info.height,r.info.airHeight);let a=[...t];a.splice(i,1);let c=new M(this.context,r.info);e.addGround(c);let h=new Map,p=a.map(d=>{let v=e.addGraphic(d.info);return v.userData.data=d,h.set(d.legacy_id,v),v});return e.userData.legacyToGraphicMap=h,{curFloor:e,ground:c,graphics:p}}switchFloor(t){let e=this.floorDataMap.get(t);if(e){let{curFloor:i}=this.createFloor(e);this.context.switchFloor(i),this.context.fitCameraToGround(void 0,0)}else console.warn("[switchFloor error] \u6CA1\u6709\u8FD9\u4E2A\u697C\u5C42\uFF0C\u8BF7\u5148\u8C03\u7528load\u65B9\u6CD5\u52A0\u8F7D\u697C\u5C42")}addHeatmap(t){var e;return(e=this.context.currentFloor)==null?void 0:e.addHeatmap(t)}getLegacyToGraphicMap(){var t;return((t=this.context.currentFloor)==null?void 0:t.userData.legacyToGraphicMap)||new Map}createGraphicPoi(t,e){if(this.context.currentFloor){let i=this.context.currentFloor.addPoi(e);i.position.copy(t.getCenter()),i.position.z=i.position.z+t.options.height/2}return null}removeHeatMap(){var t;(t=this.context.currentFloor)==null||t.removeHeatMap()}translateElementToCenter(t,e=500){let i=t.position.clone().setFromMatrixPosition(t.matrixWorld);return this.context.setCameraPosition(i,e)}getElementDeviceCoordinate(t){let e=t.position.clone(),{clientWidth:i,clientHeight:r}=this.container;return y(e,this.context.camera,i,r)}changeMapType(t,e=500){t==="2d"?this.context.setPolarAngle(0):this.context.setPolarAngle(1.2)}reduceMap(t=.5,e=500){let i=this.context.camera.zoom;return this.context.setZoom(i-t,this.context.control.target,e)}enlargeMap(t=.5,e=500){let i=this.context.camera.zoom;return this.context.setZoom(i+t,this.context.control.target,e)}registryEvent(){window.addEventListener("keydown",this.onKeydown),window.addEventListener("keyup",this.onKeyUp)}unRegistryEvent(){window.removeEventListener("keydown",this.onKeydown),window.removeEventListener("keyup",this.onKeyUp)}configurePolarShortcutKeys(t){this.polarKeys=t}configureAzimuthalShortcutKeys(t){this.azimuthalKeys=t}rotateMap(t=.1){let e=this.context.control.getAzimuthalAngle();this.context.control.maxAzimuthAngle=e+t,this.context.control.minAzimuthAngle=e+t,this.context.control.update()}measureDistance(){return V(this,null,function*(){return this.cancelDistance(),new Promise((t,e)=>{this.changeMapType("2d",0),this.context.control.enableRotate=!1,this.svgLine=new Z(this.context);let i=this.svgLine.dispose.bind(this.svgLine);this.svgLine.dispose=function(){i(),e("cancel")},this.svgLine.addEventListener("distance",({distance:r})=>{t(r)})})})}cancelDistance(){this.svgLine&&(this.svgLine.dispose(),this.svgLine=void 0,this.context.control.enableRotate=!0)}measureArea(){return this.cancelArea(),new Promise((t,e)=>{this.changeMapType("2d",0),this.context.control.enableRotate=!1,this.svgPolygon=new Q(this.context);let i=this.svgPolygon.dispose.bind(this.svgPolygon);this.svgPolygon.dispose=function(){i(),e("cancel")},this.svgPolygon.addEventListener("area",({area:r})=>{t(r)})})}cancelArea(){this.svgPolygon&&(this.svgPolygon.dispose(),this.svgPolygon=void 0,this.context.control.enableRotate=!0)}dispose(){this.context.dispose(),mt(),dt(),this.unRegistryEvent()}};
1
+ "use strict";var et=Object.defineProperty;var Wt=Object.getOwnPropertyDescriptor;var Yt=Object.getOwnPropertyNames,Mt=Object.getOwnPropertySymbols;var Gt=Object.prototype.hasOwnProperty,qt=Object.prototype.propertyIsEnumerable;var L=Math.pow,ct=(r,o,t)=>o in r?et(r,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[o]=t,it=(r,o)=>{for(var t in o||(o={}))Gt.call(o,t)&&ct(r,t,o[t]);if(Mt)for(var t of Mt(o))qt.call(o,t)&&ct(r,t,o[t]);return r};var Zt=(r,o)=>{for(var t in o)et(r,t,{get:o[t],enumerable:!0})},Qt=(r,o,t,e)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of Yt(o))!Gt.call(r,i)&&i!==t&&et(r,i,{get:()=>o[i],enumerable:!(e=Wt(o,i))||e.enumerable});return r};var Nt=r=>Qt(et({},"__esModule",{value:!0}),r);var s=(r,o,t)=>(ct(r,typeof o!="symbol"?o+"":o,t),t);var V=(r,o,t)=>new Promise((e,i)=>{var n=p=>{try{c(t.next(p))}catch(h){i(h)}},a=p=>{try{c(t.throw(p))}catch(h){i(h)}},c=p=>p.done?e(p.value):Promise.resolve(p.value).then(n,a);c((t=t.apply(r,o)).next())});var ie={};Zt(ie,{BMap:()=>Ct,BaseSvg:()=>M,Context:()=>tt,Floor:()=>q,Graphic:()=>w,GraphicLayer:()=>_,HeatmapElement:()=>Y,HoverHelper:()=>J,Layer:()=>k,Overlay:()=>X,Poi:()=>R,PoiLayer:()=>W,Selection:()=>N,Shadow:()=>U,SvgLine:()=>Z,SvgPolygon:()=>Q,Timer:()=>S,clearCanvas:()=>yt,clearTextTexture:()=>xt,createCanvas:()=>At,createCircle:()=>H,createLine:()=>j,createRect:()=>Pt,createSvg:()=>bt,createSvgElement:()=>K,defaultConfig:()=>$t,dispose:()=>C,getCenter:()=>Et,getConfig:()=>wt,getTextureByText:()=>Jt,hasChinese:()=>vt,initCamera:()=>lt,initCanvas:()=>St,initControl:()=>dt,initDirectionalLight:()=>gt,initLight:()=>mt,initRenderer:()=>pt,initScene:()=>ht,initShape:()=>ut,isContain:()=>ot,proxyOptions:()=>I,setCirclePosition:()=>G,setLineStartEnd:()=>b,setRectPosition:()=>rt,timeoutPromise:()=>$,vector3ToDevice:()=>v});module.exports=Nt(ie);var Kt=require("three");var S=class{constructor(){s(this,"tasks",{requestAnimation:new Set,timeout:new Set,interval:new Set})}requestAnimationFrame(o){let t=window.requestAnimationFrame(()=>{this.tasks.requestAnimation.delete(t),o()});return this.tasks.requestAnimation.add(t),t}cancelAnimationFrame(o){this.tasks.requestAnimation.delete(o),window.cancelAnimationFrame(o)}setTimeout(o,t){let e=window.setTimeout(()=>{this.tasks.timeout.delete(e),o()},t);return this.tasks.timeout.add(e),e}clearTimeout(o){this.tasks.timeout.delete(o),window.clearTimeout(o)}setInterval(o,t){let e=window.setInterval(()=>{this.tasks.interval.delete(e),o()},t);return this.tasks.interval.add(e),e}clearInterval(o){this.tasks.interval.delete(o),window.clearInterval(o)}dispose(){this.tasks.requestAnimation.forEach(o=>{window.cancelAnimationFrame(o)}),this.tasks.requestAnimation.clear(),this.tasks.timeout.forEach(o=>{window.clearTimeout(o)}),this.tasks.timeout.clear(),this.tasks.interval.forEach(o=>{window.clearInterval(o)}),this.tasks.interval.clear()}};var l=require("three"),Dt=require("three/examples/jsm/controls/MapControls");function ht(){let r=new l.Scene;return r.background=new l.Color(16777215),r}function pt(){let r=new l.WebGLRenderer({antialias:!0});return r.setClearColor(16777215),r.setPixelRatio(window.devicePixelRatio),r.shadowMap.enabled=!0,r.shadowMap.autoUpdate=!0,r.shadowMap.type=l.PCFSoftShadowMap,r}function lt(r,o){let t=new l.OrthographicCamera(-r/2,r/2,o/2,-o/2,-1e3,5e3);return t.up.set(0,0,1),t.position.set(0,0,100),t.lookAt(0,0,0),t}function mt(){let r=new l.Group,o=new l.HemisphereLight(16777215,15658734,1);o.intensity=1,o.position.set(0,0,10),o.up.set(0,0,1),r.add(o);let t=new l.AmbientLight(16777215);return r.add(t),r}function dt(r,o){let t=new Dt.MapControls(r,o);return t.enableDamping=!1,t.maxPolarAngle=0,t.minPolarAngle=0,t.maxAzimuthAngle=0,t.minAzimuthAngle=0,t.minZoom=1,t.maxZoom=100,t}function ut(r,o=[]){let t=new l.Shape(r.map(e=>new l.Vector2(...e)));return o.length&&o.forEach(e=>{var i=new l.Path(e.map(n=>new l.Vector2(...n)));t.holes.push(i)}),t}function gt(r=16777215,o=1){let t=new l.DirectionalLight(r,o);return t.castShadow=!0,t.shadow.radius=8,t.shadow.bias=-.001,t.shadow.mapSize.set(64,64),t.shadow.camera.left=-200,t.shadow.camera.right=200,t.shadow.camera.top=200,t.shadow.camera.bottom=-200,t}function C(r,o){var t;if(o&&r.children&&r.children.length&&r.children.forEach(e=>{C(e,o)}),r.isMesh){let e=r;e.geometry&&e.geometry.dispose(),e.material&&(Array.isArray(e.material)?e.material.forEach(i=>{i.dispose()}):e.material.dispose())}r.isLight&&((t=r.dispose)==null||t.call(r))}function vt(r){return/[\u4E00-\u9FA5]+/g.test(r)}var T=require("three");var nt=new Map;function St(){let r=document.createElement("canvas");r.width=1024,r.height=64;let o=r.getContext("2d",{willReadFrequently:!0});return o.font="54px sans-serif",o.textBaseline="hanging",o.lineWidth=12,o.fillStyle="rgba(0,0,0,1)",o.strokeStyle="white",{canvas:r,ctx:o}}var ft,A;function At(){if(!ft){let{canvas:r,ctx:o}=St();ft=r,A=o}}function Jt(r){if(nt.has(r))return nt.get(r);At(),A.clearRect(0,0,1024,64);let o=vt(r)?4:8;A.strokeText(r,2,o),A.fillText(r,2,o);let t=Math.ceil(A.measureText(r).width);t=t%2===0?t:t+1,t+=2;let e=A.getImageData(0,0,t,64),i=new T.DataTexture(Uint8Array.from(e.data),t,64,T.RGBAFormat);return i.flipY=!0,i.minFilter=T.LinearFilter,i.magFilter=T.LinearFilter,nt.set(r,i),i}function xt(){nt.clear()}function yt(){A=null,ft=null}var F=require("@turf/turf");function v(r,o,t,e){let i=r.clone().project(o),n=t/2,a=e/2,c=Math.round(i.x*n+n),p=Math.round(-i.y*a+a);return{x:c,y:p}}function Et(r){let o=(0,F.featureCollection)(r.map(e=>(0,F.point)(e)));return(0,F.center)(o).geometry.coordinates}function ot(r,o,t){return r.x>=o.x&&r.x<=t.x&&r.y>=o.y&&r.y<=t.y}function I(r,o){return new Proxy(r,{get:(t,e,i)=>Reflect.get(t,e,i),set:(t,e,i,n)=>{let a=Reflect.set(t,e,i,n);return o.dispatchEvent({type:`change-${e}`,value:i}),a}})}function $(r,o){return Promise.race([r,new Promise((t,e)=>{setTimeout(()=>e(new Error("Promise timeout")),o)})])}function K(r){return document.createElementNS("http://www.w3.org/2000/svg",r)}function bt(r,o){let t=K("svg");return t.setAttribute("width",r),t.setAttribute("height",o),t.style.cssText="position: absolute; left: 0; top: 0; pointer-events: none;",t}function H(r="2",o){let t=K("circle");return t.setAttribute("r",r),t.setAttribute("fill",o),t}function j(r){let o=K("line");return o.setAttribute("stroke",r),o}function Pt(r,o){let t=K("rect");return t.setAttribute("stroke",r),t.setAttribute("fill",o),t}function G(r,o,t){r.setAttribute("cx",`${o}`),r.setAttribute("cy",`${t}`)}function b(r,o,t){o&&(r.setAttribute("x1",`${o.x}`),r.setAttribute("y1",`${o.y}`)),t&&(r.setAttribute("x2",`${t.x}`),r.setAttribute("y2",`${t.y}`))}function rt(r,o,t,e,i){r.setAttribute("x",`${o}`),r.setAttribute("y",`${t}`),r.setAttribute("width",`${e}`),r.setAttribute("height",`${i}`)}var d=require("three"),B=require("@tweenjs/tween.js");var zt=require("three");var m=require("three");var Tt=require("lodash");var te={id:"",height:.1,airHeight:0,area:0,group:"",fillColor:"#EFF4FB",strokeColor:"#ffffff",fillOpacity:1,strokeOpacity:1,doors:[],locked:!1,visible:!0,geometry:{type:"polygon",cds:[],curveCpt:[],curveIndex:[]},layerType:"",zIndex:0},w=class extends m.Object3D{constructor(t,e){super();this.context=t;s(this,"geometry");s(this,"material");s(this,"mesh");s(this,"line");s(this,"options");this.options=I((0,Tt.merge)({},te,e),this),this.init(),this.visible=this.options.visible,this.addEventListener("change-fillColor",({value:i})=>{this.material.color=new m.Color(i)}),this.addEventListener("change-fillOpacity",({value:i})=>{this.material.opacity=i}),this.addEventListener("change-height",({value:i})=>{this.dispose(),this.init()}),this.addEventListener("change-strokeColor",({value:i})=>{this.line.material.color=new m.Color(i)}),this.addEventListener("change-strokeOpacity",({value:i})=>{this.line.material.opacity=i}),this.addEventListener("change-airHeight",({value:i})=>{this.position.z=i}),this.addEventListener("change-visible",({value:i})=>{this.visible=i})}getCenter(){let t=new m.Vector3,e=new m.Box3;return e.setFromObject(this),e.getCenter(t),t}getSize(){let t=new m.Box3,e=new m.Vector3;return t.setFromObject(this),t.getSize(e),e}getPosition(){return this.getCenter()}init(){this.geometry=this.initGeometry(),this.material=this.initMaterial(),this.mesh=this.initMesh(),this.mesh.position.z=this.options.airHeight+this.options.height/2,this.mesh.castShadow=!0,this.add(this.mesh),this.line=this.createBorder(),this.add(this.line)}initGeometry(){let t=ut(this.options.geometry.cds[0],this.options.geometry.cds.slice(1));return new m.ExtrudeGeometry(t,{steps:1,bevelEnabled:!1,depth:this.options.height,curveSegments:4})}initMaterial(){return new m.MeshStandardMaterial({color:this.options.fillColor,roughness:1,transparent:!0,opacity:this.options.fillOpacity,depthWrite:!0})}initLineMaterial(){return new m.LineBasicMaterial({color:this.options.strokeColor,opacity:this.options.strokeOpacity,transparent:!0,depthWrite:!0})}initMesh(){return new m.Mesh(this.geometry,this.material)}createBorder(){let t=this.initLineMaterial(),e=new m.EdgesGeometry(this.geometry),i=new m.LineSegments(e,t);return i.position.z=this.options.airHeight+this.options.height/2,i}raycast(t){if(!this.visible)return!1;let e=t.intersectObject(this.mesh);return e[0]?e[0].point:!1}dispose(){C(this),this.clear()}};var P=require("three");var U=class extends P.Object3D{constructor(){super();s(this,"directionalLight");s(this,"plane");s(this,"basicOpacity",.39);this.directionalLight=this.initLight(),this.initPlane()}initLight(){let t=gt(16777215,1);return t.position.set(0,0,100),this.add(t),t}changeLightCamera(t){let e=t.x,i=t.y;this.directionalLight.shadow.camera.left=-e,this.directionalLight.shadow.camera.right=e,this.directionalLight.shadow.camera.top=i,this.directionalLight.shadow.camera.bottom=-i,this.directionalLight.shadow.camera.near=.5,this.directionalLight.shadow.camera.far=Math.max(e,i)}changeLightColor(t){this.directionalLight.color=new P.Color(t)}initPlane(t=1e4,e=1e4){let i=new P.PlaneGeometry(t,e),n=new P.ShadowMaterial({transparent:!0,opacity:0,side:P.DoubleSide}),a=new P.Mesh(i,n);return a.receiveShadow=!0,a.position.z=-5,this.add(a),this.plane=a,a}setTarget(t){this.directionalLight.target=t}transformOpacity(t){return t*this.basicOpacity}setOpacity(t){this.plane.material.opacity=this.transformOpacity(t)}dispose(){C(this,!0)}};var Ot=require("three"),kt=require("lodash");var O=require("three");var X=class extends O.EventDispatcher{constructor(t){super();this.context=t;s(this,"div");s(this,"element");s(this,"position",new O.Vector3);s(this,"onUpdate",()=>{let t=this.getPosition(),{clientWidth:e,clientHeight:i}=this.context.container,{x:n,y:a}=v(t,this.context.camera,e,i);this.div.style.left=`${n}px`,this.div.style.top=`${a}px`});this.registryEvent(),this.div=this.initDiv(),this.context.container.appendChild(this.div)}initDiv(){let t=document.createElement("div");return t.style.position="absolute",t}bindElement(t){this.element=t}unBindElement(){this.element=void 0}setVisible(t,e="block"){this.div.style.display=t?e:"none"}getPosition(){return this.element?typeof this.element.getPosition=="function"?this.element.getPosition():new O.Box3().setFromObject(this.element).getCenter(new O.Vector3):this.position}registryEvent(){this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.removeEventListener("update",this.onUpdate)}dispose(){this.unRegistryEvent(),this.unBindElement(),this.context.container.removeChild(this.div),this.div=null}};var ee={text:"",level:1,collision_enable:!0},R=class extends Ot.Object3D{constructor(t,e){super();this.context=t;s(this,"span");s(this,"img");s(this,"overlay");s(this,"options");s(this,"_changePosition",()=>{this.overlay.div.style.transform=`translate3d(-50%, ${this.options.icon?"-100%":"-50%"}, 0)`});this.options=I((0,kt.merge)({},ee,e),this),this.overlay=new X(this.context),this.overlay.bindElement(this),this._changePosition(),this.registryEvent(),this.initDiv(),this.addEventListener("change-icon",({value:i})=>{i?this.img?this.img.setAttribute("src",i):this.overlay.div.appendChild(this.initIcon()):(this.img&&this.overlay.div.removeChild(this.img),this.img=void 0)}),this.addEventListener("change-text",({value:i})=>{this.span.textContent=i})}initDiv(){let t=this.overlay.div;return t.appendChild(this.initText()),this.options.icon&&t.appendChild(this.initIcon()),t.style.fontSize="12px",t.style.display="flex",t.style.flexDirection="column",t.style.justifyContent="center",t.style.alignItems="center",t.style.pointerEvents="none",t}getPosition(){return this.position}initText(){let t=document.createElement("span");return t.style.whiteSpace="nowrap",t.textContent=this.options.text,this.span=t,t}initIcon(){var e,i;let t=document.createElement("img");return t.setAttribute("src",this.options.icon),t.style.width=`${((e=this.options.icon_size)==null?void 0:e[0])||32}px`,t.style.height=`${((i=this.options.icon_size)==null?void 0:i[1])||32}px`,this.img=t,t}registryEvent(){this.context.addEventListener("update",this._changePosition)}unRegistryEvent(){this.context.removeEventListener("update",this._changePosition)}setVisible(t){this.overlay.setVisible(t,"flex")}getBox(){return this.overlay.div.getBoundingClientRect()}isContain(t,e){let i=this.getBox();return t>=i.left&&t<=i.right&&e>=i.top&&e<=i.bottom}dispose(){this.unRegistryEvent(),this.overlay.dispose(),this.span=null,this.img=void 0}};var Rt=require("three");var Ft=require("three");var k=class extends Ft.Object3D{constructor(t){super();this.context=t}dispose(){C(this),this.clear()}};var _=class extends k{constructor(o){super(o)}createGraphic(o){let t=new w(this.context,o);return this.add(t),t}getGraphicByRaycaster(o){let t=null;return{graphics:this.children.filter(i=>{if(i instanceof w){let n=i.raycast(o);return n&&(t?n.z>t.z&&(t=n):t=n),!!n}}),position:t}}};var W=class extends k{constructor(t){super(t);s(this,"pois",[]);s(this,"onUpdate",()=>{this.collisionDetection()});this.registryEvent()}createPoi(t){let e=new R(this.context,t);return this.add(e),this.pushPoi(e),e.addEventListener("change-level",()=>this.changePoiLevelOrCollisionEnable(e)),e.addEventListener("change-collision_enable",()=>this.changePoiLevelOrCollisionEnable(e)),e}changePoiLevelOrCollisionEnable(t){let e=this.pois.findIndex(i=>i===t);e!==-1&&(this.pois.splice(e,1),this.pushPoi(t))}removePoi(t){let e=this.pois.findIndex(i=>i===t);e!==-1&&(this.pois.splice(e,1),this.remove(t),t.dispose())}pushPoi(t){if(!t.options.collision_enable){this.pois.unshift(t);return}if(t.options.level===1){this.pois.push(t);return}for(let e=0;e<this.pois.length;e++){let i=this.pois[e];if(i.options.collision_enable&&i.options.level<=t.options.level){this.pois.splice(e,0,t);return}}this.pois.push(t)}getPoiByDeviceXy(t,e){return this.children.filter(n=>n instanceof R&&n.isContain(t,e))}collisionDetection(){let t=[];this.pois.forEach((e,i)=>{e.setVisible(!0);let{left:n,right:a,top:c,bottom:p}=e.getBox();if(i===0){t.push({left:n,right:a,top:c,bottom:p});return}let h=t.some(u=>{let x=a<u.left||n>u.right,g=c>u.bottom||p<u.top;return x||g});e.setVisible(h)})}registryEvent(){this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.removeEventListener("update",this.onUpdate)}dispose(){super.dispose(),this.unRegistryEvent(),this.pois.forEach(t=>t.dispose()),this.pois.length=0}};var f=require("three"),Ht=require("@mars3d/heatmap.js"),D=require("@turf/turf");var Y=class extends f.Object3D{constructor(t){super();this.context=t;s(this,"heatmap");s(this,"div");s(this,"plane");this.div=document.createElement("div")}clearHeatmap(){this.div.firstChild&&this.div.removeChild(this.div.firstChild),this.heatmap=void 0}loadData(t){this.clearHeatmap();let{width:e,height:i,leftTop:n,center:a}=this.getBox(t);this.heatmap=(0,Ht.create)(it({width:e,height:i,container:this.div},this.context.config.heatMap)),this.heatmap.setData(this.transformData(t,n)),this.initPlane(e,i),this.position.set(a[0],a[1],this.position.z)}initPlane(t,e){this.plane&&this.remove(this.plane);let i=new f.PlaneGeometry(t,e),n=new f.Texture(this.div.firstChild);n.needsUpdate=!0;let a=new f.MeshBasicMaterial({transparent:!0,side:f.DoubleSide,map:n});a.needsUpdate=!0,this.plane=new f.Mesh(i,a),this.add(this.plane)}getTransMatrix({x:t,y:e}){return new f.Matrix3().makeScale(1,-1).multiply(new f.Matrix3().makeTranslation(0-t,0-e))}transformData(t,e){let i=this.getTransMatrix(e);return{data:t.data.map(a=>{let c=new f.Vector2(a.x,a.y).applyMatrix3(i);return{x:c.x,y:c.y,value:a.value}}),max:t.max,min:t.min}}getBox(t){let e=(0,D.featureCollection)(t.data.map(h=>(0,D.point)([h.x,h.y]))),i=(0,D.bbox)(e),n=i[2]-i[0],a=i[3]-i[1],c={x:i[0],y:i[3]},p=(0,D.center)(e);return{width:n,height:a,leftTop:c,center:p.geometry.coordinates}}dispose(){this.div=null,this.heatmap=void 0}};var q=class extends Rt.Object3D{constructor(t){super();this.context=t;s(this,"graphicLayer");s(this,"poiLayer");s(this,"ground");s(this,"shadow",new U);s(this,"heatmap");this.graphicLayer=new _(this.context),this.poiLayer=new W(this.context),this.add(this.graphicLayer),this.add(this.poiLayer),this.add(this.shadow)}addGround(t){this.ground=t,this.add(t);let e=t.getCenter(),i=t.getSize();this.shadow.position.x=e.x,this.shadow.position.y=e.y,this.shadow.changeLightCamera(i),this.shadow.setTarget(t)}addGraphic(t){return this.graphicLayer.createGraphic(t)}addPoi(t){return this.poiLayer.createPoi(t)}addHeatmap(t){var e,i;return this.heatmap||(this.heatmap=new Y(this.context),this.add(this.heatmap)),this.heatmap.loadData(t),this.ground&&this.heatmap.position.setZ(((e=this.ground)==null?void 0:e.options.airHeight)+((i=this.ground)==null?void 0:i.options.height)),this.heatmap}removeHeatMap(){this.heatmap&&(this.remove(this.heatmap),this.heatmap.dispose(),this.heatmap=void 0)}setShadowOpacity(t){this.shadow.setOpacity(t)}setShadowVisible(t){this.shadow.visible=t}dispose(){var t,e;this.shadow.dispose(),this.graphicLayer.dispose(),this.poiLayer.dispose(),(t=this.ground)==null||t.dispose(),(e=this.heatmap)==null||e.dispose(),this.clear()}};var st=require("three");var M=class extends st.EventDispatcher{constructor(t){super();this.context=t;s(this,"points",[]);s(this,"svg");s(this,"enable",!0);this.svg=bt(`${t.container.clientWidth}`,`${t.container.clientHeight}`),t.container.appendChild(this.svg)}setEnable(t){this.enable=t,t?this.svg.style.display="block":this.svg.style.display="none"}getIntersectByPointerEvent(t){let{camera:e,renderer:i}=this.context,{offsetX:n,offsetY:a}=t,{clientWidth:c,clientHeight:p}=i.domElement,h=n/c*2-1,u=1-a/p*2;return new st.Vector3(h,u,0).unproject(e)}getSvgCoordinate(t){let{camera:e,container:i}=this.context;return v(t,e,i.clientWidth,i.clientHeight)}dispose(){this.context.container.removeChild(this.svg),this.svg=null}};var Z=class extends M{constructor(t){super(t);this.context=t;s(this,"circles");s(this,"line");s(this,"onUpdate",()=>{if(this.points[0]){let t=this.getSvgCoordinate(this.points[0]);G(this.circles[0],t.x,t.y),b(this.line,t)}if(this.points[1]){let t=this.getSvgCoordinate(this.points[1]);G(this.circles[1],t.x,t.y),b(this.line,void 0,t)}});s(this,"onPointermove",t=>{this.points.length===1&&(this.line.style.display="block",b(this.line,void 0,{x:t.offsetX,y:t.offsetY}))});s(this,"onPointerleave",()=>{this.points[1]||(this.line.style.display="none")});s(this,"onPointerdown",t=>{if(this.points[1])return;let e=this.getIntersectByPointerEvent(t);if(e){let{offsetX:i,offsetY:n}=t,a=this.circles[this.points.length];G(a,i,n),this.points.length||b(this.line,{x:i,y:n},{x:i,y:n}),this.addPoint(e)}});let{config:{svg:{circle:e,line:i}}}=t;this.circles=[H(e.radius,e.fill),H(e.radius,e.fill)],this.line=j(i.stroke),this.svg.appendChild(this.circles[0]),this.svg.appendChild(this.circles[1]),this.svg.appendChild(this.line),this.registryEvent()}setEnable(t){super.setEnable(t),t?this.registryEvent():this.unRegistryEvent()}registryEvent(){this.context.container.addEventListener("pointerenter",this.onPointermove),this.context.container.addEventListener("pointermove",this.onPointermove),this.context.container.addEventListener("pointerleave",this.onPointerleave),this.context.container.addEventListener("pointerdown",this.onPointerdown),this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.container.removeEventListener("pointerenter",this.onPointermove),this.context.container.removeEventListener("pointermove",this.onPointermove),this.context.container.removeEventListener("pointerleave",this.onPointerleave),this.context.container.removeEventListener("pointerdown",this.onPointerdown),this.context.removeEventListener("update",this.onUpdate)}addPoint(t){if(this.points.push(t),this.points.length>=2){let e=this.calculatedDistance();this.dispatchEvent({type:"distance",distance:e})}}calculatedDistance(){let[{x:t,y:e},{x:i,y:n}]=this.points;return Math.sqrt(L(i-t,2)+L(n-e,2))}dispose(){super.dispose(),this.unRegistryEvent(),this.line=null,this.circles=[]}};var Q=class extends M{constructor(t){super(t);s(this,"circles",[]);s(this,"lines",[]);s(this,"isClose",!1);s(this,"onUpdate",()=>{this.points.length&&this.points.forEach((t,e)=>{let i=this.getSvgCoordinate(t);this.circles[e]&&G(this.circles[e],i.x,i.y),e!==0&&b(this.lines[e-1],void 0,i),this.lines[e]&&b(this.lines[e],i)})});s(this,"onPointermove",t=>{!this.lastLine||this.isClose||(this.lastLine.style.display="block",b(this.lastLine,void 0,{x:t.offsetX,y:t.offsetY}))});s(this,"onPointerleave",()=>{this.isClose||(this.lastLine.style.display="none")});s(this,"onPointerdown",t=>{if(this.isClose)return;let e=this.getIntersectByPointerEvent(t);if(e){let{offsetX:i,offsetY:n}=t;this.checkAdsorb(i,n)?(this.isClose=!0,this.addPoint(this.points[0])):this.addPoint(e);let{circle:{fill:a,radius:c},line:{stroke:p}}=this.context.config.svg;if(!this.isClose){let h=H(c,a);G(h,i,n),this.addCircle(h)}if(this.lines.length&&b(this.lastLine,void 0,{x:i,y:n}),!this.isClose){let h=j(p);b(h,{x:i,y:n},{x:i,y:n}),this.addLine(h)}}});this.registryEvent()}setEnable(t){super.setEnable(t),t?this.registryEvent():this.unRegistryEvent()}get lastLine(){return this.lines.slice(-1)[0]}addCircle(t){this.circles.push(t),this.svg.appendChild(t)}addLine(t){this.lines.push(t),this.svg.appendChild(t)}registryEvent(){this.context.container.addEventListener("pointerenter",this.onPointermove),this.context.container.addEventListener("pointermove",this.onPointermove),this.context.container.addEventListener("pointerleave",this.onPointerleave),this.context.container.addEventListener("pointerdown",this.onPointerdown),this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.container.removeEventListener("pointerenter",this.onPointermove),this.context.container.removeEventListener("pointermove",this.onPointermove),this.context.container.removeEventListener("pointerleave",this.onPointerleave),this.context.container.removeEventListener("pointerdown",this.onPointerdown),this.context.removeEventListener("update",this.onUpdate)}checkAdsorb(t,e){if(this.points.length<3)return!1;let i=this.circles[0],n=+i.getAttribute("cx"),a=+i.getAttribute("cy");return Math.sqrt(L(t-n,2)+L(e-a,2))<=5}addPoint(t){if(this.points.push(t),this.isClose){let e=this.calculatedArea();this.dispatchEvent({type:"area",area:e})}}calculatedArea(){let t=this.points.map(n=>[n.x,n.y]),e=0,i=t.length;for(let n=0;n<i;n++){let a=(n+1)%i;e+=t[n][0]*t[a][1]-t[a][0]*t[n][1]}return Math.abs(e/2)}dispose(){super.dispose(),this.unRegistryEvent(),this.lines=[],this.circles=[]}};var Bt=require("three");var at=class extends M{constructor(t){super(t);s(this,"startPoint");s(this,"endPoint");s(this,"rect");s(this,"frustum",new Bt.Frustum);s(this,"onPointerDown",t=>{if(!this.enable)return;let e=this.getIntersectByPointerEvent(t);e&&(this.startPoint=e),this.endPoint=void 0});s(this,"onPointerMove",t=>{if(!this.enable||!this.startPoint)return;let e=this.getIntersectByPointerEvent(t);e&&(this.endPoint=e)});s(this,"onPointerUp",t=>{if(!this.enable)return;let e=this.getIntersectByPointerEvent(t);e&&(this.endPoint=e),this.doSelect(),this.startPoint=void 0});s(this,"onUpdate",()=>{if(this.startPoint){let t=this.getSvgCoordinate(this.startPoint),e=it({},t);this.endPoint&&(e=this.getSvgCoordinate(this.endPoint));let i={x:Math.min(t.x,e.x),y:Math.min(t.y,e.y)},n=Math.abs(e.x-t.x),a=Math.abs(e.y-t.y);rt(this.rect,i.x,i.y,n,a)}});let{config:{selectBox:{fill:e,stroke:i}}}=t;this.rect=Pt(i,e),this.svg.appendChild(this.rect),this.registryEvent()}setEnable(t){super.setEnable(t),rt(this.rect,0,0,0,0)}registryEvent(){this.context.container.addEventListener("pointerdown",this.onPointerDown),this.context.container.addEventListener("pointermove",this.onPointerMove),this.context.container.addEventListener("pointerup",this.onPointerUp),this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.container.removeEventListener("pointerdown",this.onPointerDown),this.context.container.removeEventListener("pointermove",this.onPointerMove),this.context.container.removeEventListener("pointerup",this.onPointerUp),this.context.removeEventListener("update",this.onUpdate)}doSelect(){if(this.startPoint&&this.endPoint){if(this.startPoint.distanceTo(this.endPoint)<.1)return;let{context:{camera:e,container:{clientWidth:i,clientHeight:n}}}=this,a=v(this.startPoint,e,i,n),c=v(this.endPoint,e,i,n),p={x:Math.min(a.x,c.x),y:Math.min(a.y,c.y)},h={x:Math.max(a.x,c.x),y:Math.max(a.y,c.y)},u=this.searchMapInFrustum(p,h);this.dispatchEvent({type:"selected",list:u})}}searchMapInFrustum(t,e){var n;let{context:i}=this;return((n=i.currentFloor)==null?void 0:n.graphicLayer.children.filter(a=>a instanceof w&&this.searchChildInFrustum(a,t,e)))||[]}searchChildInFrustum(t,e,i){let{context:{camera:n,container:{clientWidth:a,clientHeight:c}}}=this;if(!t)return!1;t.mesh.geometry.boundingBox||t.mesh.geometry.computeBoundingBox();let p=t.mesh.geometry.boundingBox;if(!p)return!1;let{min:h,max:u}=p,x=v(h,n,a,c),g=v(u,n,a,c);return!(!ot(x,e,i)||!ot(g,e,i))}dispose(){this.unRegistryEvent()}};var N=class extends zt.EventDispatcher{constructor(t){super();this.context=t;s(this,"_list",new Set);s(this,"boxSelection");s(this,"prevPanStatus");s(this,"onPointerDown",t=>{let{graphics:e}=this.context.getGraphicsByDeviceXy(t.offsetX,t.offsetY);t.ctrlKey||this._list.clear(),e.forEach(i=>this._list.add(i)),this.selectEnd()});s(this,"onKeyDown",t=>{t.key==="Control"&&(this.boxSelection.setEnable(!0),this.prevPanStatus=this.context.control.enablePan,this.context.control.enablePan=!1)});s(this,"onKeyUp",t=>{t.key==="Control"&&(this.boxSelection.setEnable(!1),this.context.control.enablePan=!!this.prevPanStatus)});s(this,"onBoxSelected",({list:t})=>{this._list.clear(),t.forEach(e=>{this._list.add(e)}),this.selectEnd()});this.boxSelection=new at(t),this.boxSelection.setEnable(!1),this.registryEvent()}get list(){return this._list}selectEnd(){this.dispatchEvent({type:"select",graphics:[...this._list]})}registryEvent(){this.context.container.addEventListener("pointerdown",this.onPointerDown),window.addEventListener("keydown",this.onKeyDown),window.addEventListener("keyup",this.onKeyUp),this.boxSelection.addEventListener("selected",this.onBoxSelected)}unRegistryEvent(){this.context.container.removeEventListener("pointerdown",this.onPointerDown),window.removeEventListener("keydown",this.onKeyDown),window.removeEventListener("keyup",this.onKeyUp),this.boxSelection.removeEventListener("selected",this.onBoxSelected)}dispose(){this.unRegistryEvent()}};var Vt=require("three");var J=class extends Vt.EventDispatcher{constructor(t){super();this.context=t;s(this,"curGraphics",new Set);s(this,"timer",new S);s(this,"graphicTimerMap",new Map);s(this,"onPointerMove",({graphics:t})=>{if(!t.length&&this.curGraphics.size){this.curGraphics.clear(),this.handleHoverGraphicsChange();return}let{time:e}=this.context.config.hover;t.forEach(n=>{if(this.graphicTimerMap.get(n)||this.curGraphics.has(n))return;let a=this.timer.setTimeout(()=>{this.curGraphics.add(n),this.handleHoverGraphicsChange()},e);this.graphicTimerMap.set(n,a)}),this.graphicTimerMap.forEach((n,a)=>{t.includes(a)||(this.timer.clearTimeout(n),this.graphicTimerMap.delete(a))});let i=this.curGraphics.size;this.curGraphics.forEach(n=>{t.includes(n)||this.curGraphics.delete(n)}),i!==this.curGraphics.size&&this.handleHoverGraphicsChange()});s(this,"onPointerLevel",()=>{this.curGraphics.clear(),this.handleHoverGraphicsChange()});this.registryEvent()}handleHoverGraphicsChange(t=this.curGraphics){this.dispatchEvent({type:"hover-change",graphics:Array.from(this.curGraphics)})}registryEvent(){this.context.addEventListener("pointer-over",this.onPointerMove),this.context.addEventListener("pointer-move",this.onPointerMove),this.context.addEventListener("pointer-level",this.onPointerLevel)}unRegistryEvent(){this.context.removeEventListener("pointer-over",this.onPointerMove),this.context.removeEventListener("pointer-move",this.onPointerMove),this.context.removeEventListener("pointer-level",this.onPointerLevel)}dispose(){this.unRegistryEvent(),this.timer.dispose()}};var tt=class extends d.EventDispatcher{constructor(t,e){super();this.container=t;this.config=e;s(this,"scene",ht());s(this,"renderer",pt());s(this,"camera");s(this,"control");s(this,"lights",mt());s(this,"timer",new S);s(this,"tweenGroup",new B.Group);s(this,"currentFloor");s(this,"selection");s(this,"hoverHelper");s(this,"basicRatio");s(this,"onWindowResize",()=>{let{container:t,camera:e,renderer:i}=this,{clientWidth:n,clientHeight:a}=t;e.left=-n/2,e.right=n/2,e.top=a/2,e.bottom=-a/2,e.updateProjectionMatrix(),i.setSize(window.innerWidth,window.innerHeight)});s(this,"onClick",t=>{let{graphics:e,position:i}=this.getGraphicsByDeviceXy(t.offsetX,t.offsetY);e.length&&this.dispatchEvent({type:"graphic-click",graphics:e,position:i});let n=this.getPoisByDeviceXy(t.clientX,t.clientY);n.length&&this.dispatchEvent({type:"poi-click",pois:n})});s(this,"onPointerover",t=>{let{graphics:e,position:i}=this.getGraphicsByDeviceXy(t.offsetX,t.offsetY),n=this.getPoisByDeviceXy(t.clientX,t.clientY);this.dispatchEvent({type:"pointer-over",graphics:e,pois:n,position:i})});s(this,"onPointermove",t=>{let{graphics:e,position:i}=this.getGraphicsByDeviceXy(t.offsetX,t.offsetY),n=this.getPoisByDeviceXy(t.clientX,t.clientY);this.dispatchEvent({type:"pointer-move",graphics:e,pois:n,position:i})});s(this,"onPointerleave",()=>{this.dispatchEvent({type:"pointer-level"})});s(this,"onSelectionSelect",({graphics:t})=>{this.dispatchEvent({type:"select-graphic",graphics:t})});s(this,"onHoverChange",({graphics:t})=>{this.dispatchEvent({type:"hover",graphics:t})});this.container.style.position="relative",this.container.style.overflow="hidden",this.init(),this.selection=new N(this),this.hoverHelper=new J(this),this.registryEvent()}init(){let{clientWidth:t,clientHeight:e}=this.container;this.camera=lt(t,e),this.renderer.setSize(t,e),this.control=dt(this.camera,this.renderer.domElement),this.container.appendChild(this.renderer.domElement),this.scene.add(this.lights),this.basicRatio=this.getRatio(),this.control.addEventListener("change",()=>{var n;let i=this.control.getPolarAngle();(n=this.currentFloor)==null||n.setShadowOpacity(i/this.config.control.maxPolar),this.dispatchEvent({type:"change-ratio",px:(this.basicRatio||0)*this.camera.zoom})})}getRatio(t=new d.Vector3(0,0,0),e=new d.Vector3(100,0,0)){let{clientWidth:i,clientHeight:n}=this.container,a=v(t,this.camera,i,n),c=v(e,this.camera,i,n);return Math.ceil(Math.sqrt(L(c.x-a.x,2)+L(c.y-a.y,2)))}changeAmbientLightColor(t){this.lights.children.forEach(e=>{e instanceof d.AmbientLight&&(e.color=new d.Color(t))})}switchFloor(t){var i;this.currentFloor&&(this.scene.remove(this.currentFloor),this.currentFloor.dispose()),this.currentFloor=t,this.scene.add(t);let e=(i=t.ground)==null?void 0:i.getCenter();e&&(this.lights.position.x=e.x,this.lights.position.y=e.y)}getGraphicsByDeviceXy(t,e){var c;let i=new d.Vector2;i.x=t/this.container.clientWidth*2-1,i.y=e/this.container.clientHeight*-2+1;let n=new d.Raycaster;return n.setFromCamera(i,this.camera),((c=this.currentFloor)==null?void 0:c.graphicLayer.getGraphicByRaycaster(n))||{graphics:[],position:null}}getPoisByDeviceXy(t,e){var n;return((n=this.currentFloor)==null?void 0:n.poiLayer.getPoiByDeviceXy(t,e))||[]}registryEvent(){window.addEventListener("resize",this.onWindowResize),this.container.addEventListener("click",this.onClick),this.container.addEventListener("pointerover",this.onPointerover),this.container.addEventListener("pointermove",this.onPointermove),this.container.addEventListener("pointerleave",this.onPointerleave),this.selection.addEventListener("select",this.onSelectionSelect),this.hoverHelper.addEventListener("hover-change",this.onHoverChange)}unRegistryEvent(){window.removeEventListener("resize",this.onWindowResize),this.container.removeEventListener("click",this.onClick),this.container.removeEventListener("pointerover",this.onPointerover),this.container.removeEventListener("pointermove",this.onPointermove),this.container.removeEventListener("pointerleave",this.onPointerleave),this.selection.removeEventListener("select",this.onSelectionSelect),this.hoverHelper.removeEventListener("hover-change",this.onHoverChange)}setPolarAngle(t,e=500){return $(new Promise(i=>{let n={polar:this.control.getPolarAngle()},a={polar:t},c=new B.Tween(n,this.tweenGroup).to(a,e).onUpdate(()=>{this.control.maxPolarAngle=n.polar,this.control.minPolarAngle=n.polar,this.control.update()}).onComplete(()=>{this.control.enabled=!0,this.tweenGroup.remove(c),i(!0)}).onStart(()=>{this.control.enabled=!1}).start()}),e+500)}getCameraLookAt(){return new d.Vector3().subVectors(this.control.target,this.camera.position)}setZoom(t,e,i=500){return $(new Promise(n=>{let a={zoom:this.camera.zoom,target:this.control.target.clone()},c=this.getCameraLookAt(),p=new B.Tween(a,this.tweenGroup).to({zoom:t,target:e},i).onUpdate(()=>{this.camera.position.copy(a.target.clone().sub(c)),this.control.target.copy(a.target),this.camera.zoom=a.zoom,this.control.update()}).onComplete(()=>{this.tweenGroup.remove(p),this.control.enabled=!0,n(!0)}).onStart(()=>{this.control.enabled=!1}).start()}),i+500)}fitCameraToObject(t,e=[20,20,20,20],i=500){let[n,a,c,p]=e,{clientWidth:h,clientHeight:u}=this.container,x=new d.Box3().setFromObject(t),{max:g,min:y}=x,E=v(g,this.camera,h,u),z=v(y,this.camera,h,u),Lt=new d.Box2().setFromPoints([new d.Vector2(E.x,E.y),new d.Vector2(z.x,z.y)]).getSize(new d.Vector2),jt=(h-a-p)/Lt.x,Ut=(u-n-c)/Lt.y,Xt=Math.min(jt,Ut),_t=new d.Vector3((g.x+y.x)/2,(g.y+y.y)/2,g.z);return this.setZoom(Xt*this.camera.zoom,_t,i)}fitCameraToGround(t=[20,20,20,20],e=500){return this.currentFloor?this.fitCameraToObject(this.currentFloor.graphicLayer,t,e):Promise.resolve(!1)}setCameraPosition(t,e){return $(new Promise(i=>{let n=this.camera.position.clone(),a=this.getCameraLookAt(),c=new B.Tween(n,this.tweenGroup).to(t,e).onUpdate(()=>{this.camera.position.copy(n),this.control.target.copy(t.clone().add(a))}).onComplete(()=>{this.tweenGroup.remove(c),this.control.update(),this.control.enabled=!0,i(!0)}).onStart(()=>{this.control.enabled=!1}).start()}),e+500)}render(){this.renderer.render(this.scene,this.camera),this.dispatchEvent({type:"update"}),this.timer.requestAnimationFrame(()=>{this.render()}),this.tweenGroup.update()}dispose(){this.selection.dispose(),this.hoverHelper.dispose(),this.tweenGroup.getAll().forEach(t=>t.stop()),this.tweenGroup.removeAll(),this.unRegistryEvent(),this.container.removeChild(this.renderer.domElement),this.timer.dispose(),this.renderer.dispose(),this.lights.children.forEach(t=>t.dispose()),C(this.scene)}};var It=require("lodash"),$t={apiDomain:"",apiInfo:{},apiPath:{floorGraphic:"/api/inception-map/floor/get",floorRange:"/api/inception-map/range/get"},heatMap:{radius:50,gradient:{0:"#8F9FCD",.5:"#6284FF",1:"#F95D5D"}},useFloorCache:!0,control:{maxPolar:1.2},svg:{circle:{radius:"2",fill:"#1CADFF"},line:{stroke:"#1CADFF"}},selectBox:{stroke:"#1CADFF",fill:"rgba(28, 173, 255, 0.3)"},hover:{time:500}};function wt(r){return(0,It.merge)({},$t,r)}var Ct=class extends Kt.EventDispatcher{constructor(t,e={}){super();this.container=t;s(this,"config");s(this,"context");s(this,"polarKeys",[]);s(this,"azimuthalKeys",[]);s(this,"svgLine");s(this,"svgPolygon");s(this,"basicZoom",1);s(this,"floorDataMap",new Map);s(this,"onKeydown",t=>{this.polarKeys.includes(t.code)&&(this.context.control.maxPolarAngle=this.config.control.maxPolar,this.context.control.minPolarAngle=0),this.azimuthalKeys.includes(t.code)&&(this.context.control.maxAzimuthAngle=1/0,this.context.control.minAzimuthAngle=1/0)});s(this,"onKeyUp",t=>{if(this.polarKeys.includes(t.code)){let e=this.context.control.getPolarAngle();this.context.control.maxPolarAngle=e,this.context.control.minPolarAngle=e}if(this.azimuthalKeys.includes(t.code)){let e=this.context.control.getAzimuthalAngle();this.context.control.maxAzimuthAngle=e,this.context.control.minAzimuthAngle=e}});this.config=wt(e),this.context=new tt(t,this.config),this.registryEvent(),this.context.render()}loadGraphics(p){return V(this,arguments,function*({brand:t,project:e,phase:i,building:n,floor:a,ts:c}){let{apiDomain:h,apiPath:{floorGraphic:u},apiInfo:x}=this.config,g=`${h}${u}?brand=${t}&project=${e}&phase=${i}&building=${n}&floor=${a}&ts=${c}&resource_type_list=`;return yield fetch(g,x).then(E=>E.json()).then(E=>E.data).then(E=>((E||[]).map(z=>z.info=JSON.parse(z.info)),E||[]))})}loadBuildingGround(a){return V(this,arguments,function*({brand:t,project:e,phase:i,building:n}){let{apiDomain:c,apiPath:{floorRange:p},apiInfo:h}=this.config,u=`${c}${p}?brand=${t}&project=${e}&phase=${i}&building=${n}`;return yield fetch(u,h).then(g=>g.json()).then(g=>g.data).then(g=>{let y=(g||[])[0];return y&&(y.info=JSON.parse(y.info)),y})})}load(p){return V(this,arguments,function*({brand:t,project:e,phase:i,building:n,floor:a,ts:c}){if(this.floorDataMap.get(a))return;let[h,u]=yield Promise.all([this.loadGraphics({brand:t,project:e,phase:i,building:n,floor:a,ts:c}),this.loadBuildingGround({brand:t,project:e,phase:i,building:n})]);if(u){let x=Et(u.info.geometry.cds[0]);h.forEach(g=>{g.info.geometry.cds.map(y=>{Array.isArray(y)&&y.forEach(E=>{E[0]-=x[0],E[1]-=x[1]})})})}return this.config.useFloorCache||this.floorDataMap.clear(),this.floorDataMap.set(a,h),h})}createFloor(t){if(!t.length)return null;let e=new q(this.context),i=[...t],n=t.findIndex(p=>p.info.group==="ground");if(n!==-1){let p=t[n],h=new w(this.context,p.info);e.addGround(h),i.splice(n,1)}let a=new Map,c=i.map(p=>{let h=e.addGraphic(p.info);return h.userData.data=p,a.set(p.legacy_id,h),h});return e.userData.legacyToGraphicMap=a,{curFloor:e,graphics:c}}switchFloor(t){let e=this.floorDataMap.get(t);if(e){let i=this.createFloor(e);i?(this.context.switchFloor(i.curFloor),this.context.fitCameraToGround(void 0,0),this.basicZoom=this.context.camera.zoom):console.warn("[switchFloor error] ["+t+"] \u697C\u5C42\u6CA1\u6709\u6570\u636E")}else console.warn("[switchFloor error] \u6CA1\u6709\u8FD9\u4E2A\u697C\u5C42\uFF0C\u8BF7\u5148\u8C03\u7528load\u65B9\u6CD5\u52A0\u8F7D\u697C\u5C42")}addHeatmap(t){var e;return(e=this.context.currentFloor)==null?void 0:e.addHeatmap(t)}getLegacyToGraphicMap(){var t;return((t=this.context.currentFloor)==null?void 0:t.userData.legacyToGraphicMap)||new Map}getFloorAllGraphics(){var t;return((t=this.context.currentFloor)==null?void 0:t.graphicLayer.children.filter(e=>e instanceof w))||[]}createGraphicPoi(t,e){if(this.context.currentFloor){let i=this.context.currentFloor.addPoi(e);i.position.copy(t.getCenter()),i.position.z=i.position.z+t.options.height/2}return null}removeHeatMap(){var t;(t=this.context.currentFloor)==null||t.removeHeatMap()}translateElementToCenter(t,e=500){let i=t.position.clone().setFromMatrixPosition(t.matrixWorld);return this.context.setCameraPosition(i,e)}getElementDeviceCoordinate(t){let e=t.position.clone(),{clientWidth:i,clientHeight:n}=this.container;return v(e,this.context.camera,i,n)}changeMapType(t,e=500){t==="2d"?this.context.setPolarAngle(0):this.context.setPolarAngle(1.2)}reduceMap(t=.5,e=500){let i=this.context.camera.zoom;return this.context.setZoom(i-t,this.context.control.target,e)}enlargeMap(t=.5,e=500){let i=this.context.camera.zoom;return this.context.setZoom(i+t,this.context.control.target,e)}registryEvent(){window.addEventListener("keydown",this.onKeydown),window.addEventListener("keyup",this.onKeyUp)}unRegistryEvent(){window.removeEventListener("keydown",this.onKeydown),window.removeEventListener("keyup",this.onKeyUp)}configurePolarShortcutKeys(t){this.polarKeys=t}configureAzimuthalShortcutKeys(t){this.azimuthalKeys=t}rotateMap(t=.1){let e=this.context.control.getAzimuthalAngle();this.context.control.maxAzimuthAngle=e+t,this.context.control.minAzimuthAngle=e+t,this.context.control.update()}measureDistance(){return V(this,null,function*(){return this.cancelDistance(),new Promise((t,e)=>{this.changeMapType("2d",0),this.context.control.enableRotate=!1,this.svgLine=new Z(this.context);let i=this.svgLine.dispose.bind(this.svgLine);this.svgLine.dispose=function(){i(),e("cancel")},this.svgLine.addEventListener("distance",({distance:n})=>{t(n)})})})}cancelDistance(){this.svgLine&&(this.svgLine.dispose(),this.svgLine=void 0,this.context.control.enableRotate=!0)}measureArea(){return this.cancelArea(),new Promise((t,e)=>{this.changeMapType("2d",0),this.context.control.enableRotate=!1,this.svgPolygon=new Q(this.context);let i=this.svgPolygon.dispose.bind(this.svgPolygon);this.svgPolygon.dispose=function(){i(),e("cancel")},this.svgPolygon.addEventListener("area",({area:n})=>{t(n)})})}cancelArea(){this.svgPolygon&&(this.svgPolygon.dispose(),this.svgPolygon=void 0,this.context.control.enableRotate=!0)}dispose(){this.context.dispose(),xt(),yt(),this.unRegistryEvent()}};
2
2
  //# sourceMappingURL=bmap.cjs.min.js.map