vis-core 0.25.7 → 0.25.8

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/index.d.ts CHANGED
@@ -8,4 +8,4 @@ export * from './getVisConfig';
8
8
  export declare const access: {
9
9
  token: string;
10
10
  };
11
- export declare const VERSION = "0.25.7";
11
+ export declare const VERSION = "0.25.8";
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  (function(){"use strict";try{if(typeof document!="undefined"){var t=document.createElement("style");t.appendChild(document.createTextNode(".-translate-x-1\\/2,.-translate-y-1\\/2,.transform{--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1 }.shadow{--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000 }.ring{--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000 }.invert,.filter{--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: }.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.left-1\\/2{left:50%}.top-1\\/2{top:50%}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.whitespace-nowrap{white-space:nowrap}.text-center{text-align:center}.text-sm{font-size:14px;line-height:20px}.text-xs{font-size:12px;line-height:16px}.leading-\\[1\\]{line-height:1}.text-\\[\\#809083\\]{--tw-text-opacity: 1;color:rgb(128 144 131 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-opacity-80{--tw-text-opacity: .8 }.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}")),document.head.appendChild(t)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
2
- "use strict";var H1=Object.defineProperty,J1=Object.defineProperties;var k1=Object.getOwnPropertyDescriptors;var v1=Object.getOwnPropertySymbols,K1=Object.getPrototypeOf,w1=Object.prototype.hasOwnProperty,z1=Object.prototype.propertyIsEnumerable,U1=Reflect.get;var p1=(d,t)=>(t=Symbol[d])?t:Symbol.for("Symbol."+d),B1=d=>{throw TypeError(d)},s1=Math.pow,I1=(d,t,o)=>t in d?H1(d,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):d[t]=o,ii=(d,t)=>{for(var o in t||(t={}))w1.call(t,o)&&I1(d,o,t[o]);if(v1)for(var o of v1(t))z1.call(t,o)&&I1(d,o,t[o]);return d},Ki=(d,t)=>J1(d,k1(t));var T0=(d,t,o)=>I1(d,typeof t!="symbol"?t+"":t,o);var t1=(d,t,o)=>U1(K1(d),o,t);var _0=(d,t,o)=>new Promise((r,g)=>{var v=ne=>{try{O(o.next(ne))}catch(ye){g(ye)}},w=ne=>{try{O(o.throw(ne))}catch(ye){g(ye)}},O=ne=>ne.done?r(ne.value):Promise.resolve(ne.value).then(v,w);O((o=o.apply(d,t)).next())}),P1=function(d,t){this[0]=d,this[1]=t};var T1=d=>{var t=d[p1("asyncIterator")],o=!1,r,g={};return t==null?(t=d[p1("iterator")](),r=v=>g[v]=w=>t[v](w)):(t=t.call(d),r=v=>g[v]=w=>{if(o){if(o=!1,v==="throw")throw w;return w}return o=!0,{done:!1,value:new P1(new Promise(O=>{var ne=t[v](w);ne instanceof Object||B1("Object expected"),O(ne)}),1)}}),g[p1("iterator")]=()=>g,r("next"),"throw"in t?r("throw"):g.throw=v=>{throw v},"return"in t&&r("return"),g},M1=(d,t,o)=>(t=d[p1("asyncIterator")])?t.call(d):(d=d[p1("iterator")](),t={},o=(r,g)=>(g=d[r])&&(t[r]=v=>new Promise((w,O,ne)=>(v=g.call(d,v),ne=v.done,Promise.resolve(v.value).then(ye=>w({value:ye,done:ne}),O)))),o("next"),o("return"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const jsrsasign=require("jsrsasign"),CryptoJS=require("crypto-js"),esusLite=require("esus-lite"),events=require("events"),lodashEs=require("lodash-es"),turf=require("@turf/turf"),world$1=require("geojson-cn/extra/countries-next.json"),json100000Lite=require("geojson-cn/extra/100000-lite-next.json"),json100000=require("geojson-cn/extra/100000-next.json"),continentsCountriesIsoOrigin=require("geojson-cn/extra/continents-countries-iso.json"),continents=require("geojson-cn/extra/continents.json"),geojsonCn=require("geojson-cn");Array.prototype.at||(Array.prototype.at=function(d){return d<0&&(d=this.length+d),this[d]});const publicKeyPEM="LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEyTG1aVVQzVG9LZEVRRUdrdUU1QQo3dnlYTzRMM1Z6NDA5RFF2a2xzRHZ2SytNM2M2OGl4ZEVhZDZFcnZGS2FKQ1QrNTZNdU1XSXhUTnlDZDVQSkFGCjVYdzI4cW1iVkVCR3FGdXVIZTltSm5GUmRXN1NpK1Z1cTZvRWxwQkRkeEFIQ0dsWVVpU1R3WmhBbjJaVXJLSUYKd1J2c1k1bi9uWWNhZnl5QW9tRjhmNVRsTkpwS1JtbDU3WlRSWjBMdzdQRDFSeHFIbmJ0YWFETkpiSDV5eFd6cQpaVTBwQWhxMFNkNHdlOW1DUTJWWXc5czhtUERLbW4rU083eGovSUsrR1ZEaEJNOUpaZ3VIcGFZUGt3bWd5UkdwCkx6V0tHMkZULzJRalZUT1dRT09mRFVtVitDSVlsN1hVVlh1Q0toYWFNQ0ZVa1JQOHg4aEZucmNFeklHQ1JpM3IKK3dJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0t",accessToken={token:void 0,getInfo(){if(!this.token)return"";const[d,t,o]=this.token.split(":::"),r=jsrsasign.KEYUTIL.getKey(atob(publicKeyPEM)),g=CryptoJS.enc.Base64.parse(t),v=CryptoJS.enc.Base64.parse(o),w=CryptoJS.lib.WordArray.create(g.words.slice(0,4)),O=CryptoJS.lib.WordArray.create(g.words.slice(4)),ne=jsrsasign.KJUR.crypto.Util.hashHex(g.toString(),"sha256"),ye=r.verifyWithMessageHashPSS(ne,jsrsasign.b64tohex(d),"sha256",32);if(!ye)return this.token=void 0,"";const Je=CryptoJS.AES.decrypt({ciphertext:O},v,{iv:w,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8),De=JSON.parse(Je),bt=Date.now();return!De.s||De.s>bt?(this.token=void 0,""):De.e&&De.e<bt?(this.token=void 0,""):(De.isValid=ye,De)}},version="0.25.7";/**
2
+ "use strict";var H1=Object.defineProperty,J1=Object.defineProperties;var k1=Object.getOwnPropertyDescriptors;var v1=Object.getOwnPropertySymbols,K1=Object.getPrototypeOf,w1=Object.prototype.hasOwnProperty,z1=Object.prototype.propertyIsEnumerable,U1=Reflect.get;var p1=(d,t)=>(t=Symbol[d])?t:Symbol.for("Symbol."+d),B1=d=>{throw TypeError(d)},s1=Math.pow,I1=(d,t,o)=>t in d?H1(d,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):d[t]=o,ii=(d,t)=>{for(var o in t||(t={}))w1.call(t,o)&&I1(d,o,t[o]);if(v1)for(var o of v1(t))z1.call(t,o)&&I1(d,o,t[o]);return d},Ki=(d,t)=>J1(d,k1(t));var T0=(d,t,o)=>I1(d,typeof t!="symbol"?t+"":t,o);var t1=(d,t,o)=>U1(K1(d),o,t);var _0=(d,t,o)=>new Promise((r,g)=>{var v=ne=>{try{O(o.next(ne))}catch(ye){g(ye)}},w=ne=>{try{O(o.throw(ne))}catch(ye){g(ye)}},O=ne=>ne.done?r(ne.value):Promise.resolve(ne.value).then(v,w);O((o=o.apply(d,t)).next())}),P1=function(d,t){this[0]=d,this[1]=t};var T1=d=>{var t=d[p1("asyncIterator")],o=!1,r,g={};return t==null?(t=d[p1("iterator")](),r=v=>g[v]=w=>t[v](w)):(t=t.call(d),r=v=>g[v]=w=>{if(o){if(o=!1,v==="throw")throw w;return w}return o=!0,{done:!1,value:new P1(new Promise(O=>{var ne=t[v](w);ne instanceof Object||B1("Object expected"),O(ne)}),1)}}),g[p1("iterator")]=()=>g,r("next"),"throw"in t?r("throw"):g.throw=v=>{throw v},"return"in t&&r("return"),g},M1=(d,t,o)=>(t=d[p1("asyncIterator")])?t.call(d):(d=d[p1("iterator")](),t={},o=(r,g)=>(g=d[r])&&(t[r]=v=>new Promise((w,O,ne)=>(v=g.call(d,v),ne=v.done,Promise.resolve(v.value).then(ye=>w({value:ye,done:ne}),O)))),o("next"),o("return"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const jsrsasign=require("jsrsasign"),CryptoJS=require("crypto-js"),esusLite=require("esus-lite"),events=require("events"),lodashEs=require("lodash-es"),turf=require("@turf/turf"),world$1=require("geojson-cn/extra/countries-next.json"),json100000Lite=require("geojson-cn/extra/100000-lite-next.json"),json100000=require("geojson-cn/extra/100000-next.json"),continentsCountriesIsoOrigin=require("geojson-cn/extra/continents-countries-iso.json"),continents=require("geojson-cn/extra/continents.json"),geojsonCn=require("geojson-cn");Array.prototype.at||(Array.prototype.at=function(d){return d<0&&(d=this.length+d),this[d]});const publicKeyPEM="LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEyTG1aVVQzVG9LZEVRRUdrdUU1QQo3dnlYTzRMM1Z6NDA5RFF2a2xzRHZ2SytNM2M2OGl4ZEVhZDZFcnZGS2FKQ1QrNTZNdU1XSXhUTnlDZDVQSkFGCjVYdzI4cW1iVkVCR3FGdXVIZTltSm5GUmRXN1NpK1Z1cTZvRWxwQkRkeEFIQ0dsWVVpU1R3WmhBbjJaVXJLSUYKd1J2c1k1bi9uWWNhZnl5QW9tRjhmNVRsTkpwS1JtbDU3WlRSWjBMdzdQRDFSeHFIbmJ0YWFETkpiSDV5eFd6cQpaVTBwQWhxMFNkNHdlOW1DUTJWWXc5czhtUERLbW4rU083eGovSUsrR1ZEaEJNOUpaZ3VIcGFZUGt3bWd5UkdwCkx6V0tHMkZULzJRalZUT1dRT09mRFVtVitDSVlsN1hVVlh1Q0toYWFNQ0ZVa1JQOHg4aEZucmNFeklHQ1JpM3IKK3dJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0t",accessToken={token:void 0,getInfo(){if(!this.token)return"";const[d,t,o]=this.token.split(":::"),r=jsrsasign.KEYUTIL.getKey(atob(publicKeyPEM)),g=CryptoJS.enc.Base64.parse(t),v=CryptoJS.enc.Base64.parse(o),w=CryptoJS.lib.WordArray.create(g.words.slice(0,4)),O=CryptoJS.lib.WordArray.create(g.words.slice(4)),ne=jsrsasign.KJUR.crypto.Util.hashHex(g.toString(),"sha256"),ye=r.verifyWithMessageHashPSS(ne,jsrsasign.b64tohex(d),"sha256",32);if(!ye)return this.token=void 0,"";const Je=CryptoJS.AES.decrypt({ciphertext:O},v,{iv:w,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8),De=JSON.parse(Je),bt=Date.now();return!De.s||De.s>bt?(this.token=void 0,""):De.e&&De.e<bt?(this.token=void 0,""):(De.isValid=ye,De)}},version="0.25.8";/**
3
3
  * @license
4
4
  * Copyright 2010-2025 Three.js Authors
5
5
  * SPDX-License-Identifier: MIT
@@ -5099,7 +5099,7 @@ version 0.8.2
5099
5099
  gl_FragColor = vec4(ccccc, alpha * 0.65);
5100
5100
 
5101
5101
 
5102
- `)},O.needsUpdate=!0)}}setAreaEmissiveByProperty(o,r,g,v=1){if(!this.map)return;const w=this.map.areaArr.find(O=>O.userData[o]===r);w&&this.map.setAreaEmissive(w,g,v)}setLineColorByProperty(o,r,g){if(!this.map)return;const v=this.map.lineArr.find(w=>w.userData[o]===r);v&&this.map.setLineColor(v,g)}setLineWidthByProperty(o,r,g){if(!this.map)return;const v=this.map.lineArr.find(w=>w.userData[o]===r);v&&this.map.setLineWidth(v,g)}addAreaPlaneByProperty(v,w){return _0(this,arguments,function*(o,r,g={}){var ye;if(!this.map)return;const ne=this.map.options.geojson.features.find(fe=>fe.properties&&fe.properties[o]===r);if(ne){const fe=`${r}`;let Je=!1;if(this.mList.objectList.forEach((Lt,Yt)=>{if(Lt.key==="planeCopyExtrudePolygon"+fe){console.warn("已经存在复制面",fe),Je=!0;return}}),Je)return;let De;g.material?f(g.material)?De=new MeshBasicMaterial(ii({},g.material)):De=g.material:De=new MeshBasicMaterial({color:"red"});let bt;g.lineMaterial?f(g.lineMaterial)?bt=new me$1(ii({},g.lineMaterial)):bt=g.lineMaterial:bt=new me$1({color:new Color$1("blue"),sizeAttenuation:0,lineWidth:this.options.lineWidth});const Ct=yield this.map.addPlane(ne,{material:De,lineMaterial:bt,topSegments:(ye=g.topSegments)!=null?ye:0});return Ct.children.forEach(Lt=>{Lt instanceof Be?(Lt.object3d.name="复制面"+fe,this.mList.setObject3d(Lt.object3d,"planeCopyExtrudePolygon"+fe,{baseObject:Lt})):Lt instanceof Ee&&(Lt.object3d.name="复制线"+fe,this.mList.setObject3d(Lt.object3d,"planeCopyLine"+fe,{baseObject:Lt}),this.initBaseObjectUserData(Lt),g.lineBloom&&(Lt.object3d.userData.bloom=!0))}),Ct}})}showAction(){return _0(this,null,function*(){t1(r1.prototype,this,"showAction").call(this),this.useSaveCamera(`map-${this.options.adcode}`);const o=this.lead.group;if(this.mapHistory[0]){const{stop:r,start:g}=sinusoidalInOut({onUpdate:v=>{if(!this.mapHistory[0]){r();return}o.position.z=-this.mapHistory[0].depth*(1-v)}});if(yield g(),this.mapHistory[0]){const v=this.pencil.cameraTarget.toArray();this.pencil.controls.setTarget(v[0],v[1],this.mapHistory[0].depth+this.mapHistory[0].z,!1)}this.saveCamvasState("controls",0)}this.handlePickTest()})}handlePickTest(){return _0(this,null,function*(){var o;this.playing||(o=this.mapArea)==null||o.forEach(r=>{r.onPointerEvent("down",g=>_0(this,null,function*(){var ne,ye,fe;(ye=(ne=this.pencil)==null?void 0:ne.helperController)==null||ye.removeAllExcludeScene(),(fe=this.pencil.helperController)==null||fe.add(g.object3d),this.caId=g.userData.ISO_A2||g.userData.adcode;const v=this.mapLine.find(Je=>Je.userData.ISO_A2===this.caId||Je.userData.adcode===this.caId),O=g.object3d.material[0].color.getHexString();this.settings["测试板块颜色.color:::caId"]="#"+O,yield this.settings["测试板块颜色.color:::caId"],this.settings["测试边框颜色.color:::caId"]="#"+(v==null?void 0:v.material.color.getHexString()),yield this.settings["测试边框颜色.color:::caId"],this.settings["测试边框宽度:::caId"]=v==null?void 0:v.material.lineWidth,yield this.settings["测试边框宽度:::caId"],this.emit("settingsChanged")}))})})}hide(){return _0(this,null,function*(){if(!this.showState)return;const o=this.lead.group;yield sinusoidalInOut({onUpdate:r=>{o.position.z=-this.mapHistory[0].depth*r}}).start(),setTimeout(()=>{t1(r1.prototype,this,"hide").call(this)})})}shadowMapEnabled(){return _0(this,null,function*(){if(this.pencil.scene.userData.shadowMapEnabled)return;this.pencil.scene.userData.shadowMapEnabled=!0;const o=yield this.lead.draw("Light",{type:"SpotLight",color:"#c1e6dd",intensity:1,distance:0,angle:.5,penumbra:1,decay:0}),r=o.object3d;this.mList.changeObject3dKey(r,"Shadow$1"),this.mList.changeObject3dKey(r.target,"Shadow$1"),this.shadowMapLight=o,o.object3d.position.set(.281,32.487,43.077),o.object3d.castShadow=!0;const g=yield this.lead.draw("PlaneShadow");this.mList.setObject3d(g.object3d,"PlaneShadow",{baseObject:g}),this.planeShadow=g})}shadowMapDisabled(){this.pencil.scene.userData.shadowMapEnabled&&(this.pencil.scene.userData.shadowMapEnabled=!1,this.shadowMapLight&&(this.shadowMapLight.erase(),this.mList.delObject3d(this.shadowMapLight.object3d),this.shadowMapLight=void 0),this.planeShadow&&(this.mList.delObject3d(this.planeShadow.object3d),this.planeShadow.erase(),this.planeShadow=void 0))}getOptionsDepth(o){const r=this.getAdcodeShowLevel(o);let g=this.options.mapDepth;Array.isArray(g)||(g=new Array(3).fill(g));let v;return r==="country"?v=g[0]:r==="province"?v=g[1]:v=g[2],v}getDepth(o,r){let g=this.getOptionsDepth(o);if(this.options.depthReference&&this.options.bboxMap[o]){const v=this.options.depthReference,w=this.options.bboxMap[o];g=g*this.getReferenceScale(v,w)}else if(this.mapHistory.length&&this.options.bboxMap[this.mapHistory[0].mapInfo.adcode]){const v=this.options.bboxMap[this.mapHistory[0].mapInfo.adcode],w=this.getReferenceScale(v,r);g=g*w}return g}getReferenceScale(o,r){const g=Math.abs(r[3]-r[1])/Math.abs(o[3]-o[1]),v=Math.abs(r[2]-r[0])/Math.abs(o[2]-o[0]);return Math.max(g,v)}getAdcodeShowLevel(o,r=!0){var g;if((g=this.options.fixCity)!=null&&g[o]&&(o=this.options.fixCity[o]),o===0)return"world";if(o===1e5)return"country";if(/^\d{6}$/.test(`${o}`)){const{level:v,parent:w}=geojsonCn.adcodeMap[o],O=w&&geojsonCn.adcodeMap[w].level;return v==="district"&&O==="province"&&r?"city":v}else if(continentsType.find(v=>v.adcode===o))return"continent"}handleClick(o){const{drillDownRestrictions:r}=this.options;this.isAnimating||(o&&o.userData.adcode?this.getAdcodeShowLevel(o.userData.adcode,!1)!==r?this.showMap({adcode:o.userData.adcode}):this.emit("drilldownRestrictions",o.userData.adcode):!o&&this.mapHistory.length>1&&this.showMap({adcode:this.adcodes.at(-2)}))}beforeShowMap(o){return!0}getAdcodes(o){const r=[];let g=o;for(;g;)r.unshift(g),g=geojsonCn.adcodeMap[g].parent;return r}showMap(v){return _0(this,arguments,function*({adcode:o,adcodes:r,duration:g=1e3}){const w=r||this.getAdcodes(o);(yield this.beforeShowMap(w))!==!1&&(this.emit("beforeDrillDown",[...w]),yield this.setAdcode({adcodes:w,duration:g}),this.emit("afterDrillDown",[...w]))})}drawLabels(){return _0(this,null,function*(){var g;const o=this.options.showLabel;!((g=this.mapArea)!=null&&g.length)||!o||this.lead.getAllObject("Node",{key:"mapLabel"}).length||(yield Promise.all(this.mapArea.map(v=>_0(this,null,function*(){let{name:w,adcode:O,centroid:ne}=v.userData;const{DistrictID:ye,DistName:fe,NAME_CN:Je,CENTROID:De,center:bt}=v.userData;if(O=O||ye,ne=this.options.adcode===0?De:ne||bt,w=this.options.adcode===0?Je:w||fe,!ne)return;const Ct=this.getLocationPosition(ne);if(this.lead.getObject("Node",{key:`mapLabel-${O}`})||!Ct)return;const[Lt,Yt,St]=Ct;let Tt=w;o==="lite"&&Tt&&(Tt=w.replace("自治州","").replace("地区","").replace("自治区","").replace("省","").replace("市","").replace("壮族","").replace("特别行政区","").replace("回族","").replace("维吾尔",""));const Mt=Tt&&getLabelElement(Tt),Ht=Tt!=null&&Tt.startsWith("澳门")?-1:0;yield this.lead.draw("Node",{position:new Vector3(Lt,Yt+Ht,St),children:Mt,key:`mapLabel#${this.options.adcode===0?w:O}`})}))))})}eraseLabels(){const o=this.lead.getAllObject("Node",{key:"mapLabel"});this.lead.erase(...o)}geAdcodePosition(o){var g;const r=(g=this.mapArea)==null?void 0:g.find(v=>v.userData.adcode===o);if(r){const{centroid:v,center:w}=r.userData;return this.getLocationPosition(v||w)}}getLocationPosition(o){const[r,g]=o,[v,w]=this.projection([r,g]);return[v,-w,this.mapObj?this.mapObj.z+this.mapObj.depth:0]}getAdcodeScreenPosition(o){const r=this.geAdcodePosition(o);if(r){const[g,v,w]=r,O=new Vector3(g,v,w);O.project(this.pencil.camera);const{width:ne,height:ye}=this.pencil.getSize(),fe=(O.x*.5+.5)*ne,Je=(O.y*-.5+.5)*ye;return{x:fe,y:Je}}}booleanPointInCn(o){return chinaLiteJson.features[0].geometry.coordinates.some(r=>turf.booleanPointInPolygon(turf.point(o),turf.polygon(r)))}handleDrillDown(O){return _0(this,arguments,function*({adcode:o,duration:r,handleLook:g,saveBackCamvasState:v,extrudelineBloom:w}){var ne,ye,fe,Je,De,bt,Ct,Lt,Yt;if(typeof o!="undefined"&&!this.isAnimating){const St=(ne=this.map)==null?void 0:ne.findGroup(o,!0),Tt=findLevelJsonItem2(+o);if(this.isAnimating||!Tt)return;this.isAnimating=!0;const{name:Mt}=Tt;let{res:Ht}=(ye=this.options.geojsonMap)!=null&&ye[o]?{res:(fe=this.options.geojsonMap)==null?void 0:fe[o]}:yield jsonFetch(`${this.options.assetsPrefix}/geojson/json/${o}.json`),{res:wt}=this.options.extrudeLine?(Je=this.options.extrudeLineGeojsonMap)!=null&&Je[o]?{res:(De=this.options.extrudeLineGeojsonMap)==null?void 0:De[o]}:yield jsonFetch(`${this.options.assetsPrefix}/geojson/json-lite/${o}.json`):{res:void 0};if(!this.options.showDistrict&&this.getAdcodeShowLevel(o)==="city"&&(Ht=wt,wt=void 0),[Ht,wt].filter(Boolean).forEach(Et=>{if(!Et.features[0].properties.adcode&&/^\d{6}$/.test(`${o}`)){const At=geojsonCn.adcodeMap[o];Et.features[0].properties=Ki(ii(ii({},Et.features[0].properties),At),{center:[At.lng,At.lat]})}}),Ht){const Et=this.options.plateInCenter&&(this.mapHistory.length<1||this.options.drillDownPlateInCenter);if((bt=this.options.fixGeojson)!=null&&bt[o]){const k0=(Ct=this.options.fixGeojson)==null?void 0:Ct[o];if(k0.startsWith("-")){const ai=+k0.slice(1);Ht.features=Ht.features.filter(I0=>I0.properties.adcode!==ai)}}let At=this.options.bboxMap[o]||turf.bbox(wt||Ht);this.options.bboxMap[o]=At;const Ot=[...At];this.mapHistory.length===1&&!this.options.drillDownSecondLevelMats?At=this.options.bboxMap[this.mapInfo.adcode]:this.mapHistory.length===2&&!this.options.drillDownThirdLevelMats&&(this.options.drillDownSecondLevelMats?At=this.options.bboxMap[this.mapInfo.adcode]:At=this.options.bboxMap[this.mapHistory[0].mapInfo.adcode]),this.eraseLabels(),this.map&&(this.options.drillDownHideParent&&this.parentBg.forEach(k0=>{k0.hide()}),this.options.showOneLevel?this.map.hide():this.map.deactive(),v&&this.saveCamvasState("userControls",-1));const e0=this.mapHistory.length,t0=e0-1,o0=this.getDepth(o,Ot),d0=(Lt=this.mapHistory[t0])==null?void 0:Lt.depth,u0=e0===0||this.options.showOneLevel?0:this.mapHistory[t0].z+d0,r0=e0===0||this.options.showOneLevel?0:u0-o0,n0=turf.center(Ht).geometry.coordinates,[l0,i0]=this.projection(n0),c0=yield this.drawPlaneMap({geojson:Ht,extrudeLineGeojson:wt,depth:o0,bbox:At,adcode:o,extrudelineBloom:w});St==null||St.hide(),c0.position.setZ(r0);const S0=c0.position.z,g0=()=>_0(this,null,function*(){yield sinusoidalInOut({onUpdate:k0=>{u0!==S0&&(c0.position.z=S0+(u0-S0)*k0)}}).start({duration:r})});if(Et)if(this.fixNear(o),c0.position.z=u0,g){const k0=(Yt=this.mapHistory.at(-1))==null?void 0:Yt.controls;yield this.fitTo(c0,{fixZ:u0+o0,enableTransition:r!==0,polarAngle:k0==null?void 0:k0.polarAngle,azimuthAngle:k0==null?void 0:k0.azimuthAngle,handleStart:()=>_0(this,null,function*(){c0.position.z=S0,yield g0()})})}else this.options.showOneLevel&&c0.hide();else yield g0();g&&this.drawLabels(),this.mapHistory.push({map:c0,mapInfo:Tt,z:u0,depth:o0,cX:l0,cY:-i0}),this.saveCamvasState("controls",-1)}else console.log(`${Mt}的地图数据不存在`);this.event.emit("handleDrillDown",{adcode:o,z:this.mapObj.z+this.mapObj.depth})}this.isAnimating=!1})}saveCamvasState(o,r){const g=this.mapHistory.at(r);g&&(g[o]={lookAt:[...this.pencil.cameraPositon.toArray(),...this.pencil.cameraTarget.toArray()],polarAngle:this.pencil.controls.polarAngle,azimuthAngle:this.pencil.controls.azimuthAngle})}fixNear(o){const r=this.getAdcodeShowLevel(o);o===0?(this.pencil.camera.near=1,this.pencil.camera.far=1e3,this.pencil.camera.updateProjectionMatrix()):(r==="country"||r==="province")&&this.pencil.camera.near!==this.pencilConfig.camera.near*10?(this.pencil.camera.near=this.pencilConfig.camera.near*10,this.pencil.camera.updateProjectionMatrix()):(r==="city"||r==="district")&&this.pencil.camera.near!==this.pencilConfig.camera.near&&(this.pencil.camera.near=this.pencilConfig.camera.near,this.pencil.camera.updateProjectionMatrix())}fitTo(ne){return _0(this,arguments,function*(o,{polarAngle:r,azimuthAngle:g,fixZ:v,handleStart:w,enableTransition:O=!0}={}){var Mt;if(!(o!=null&&o.object3d))return;if(yield this.useSaveCamera(`map-${(Mt=this.mapInfo)==null?void 0:Mt.adcode}`,O)){w&&(yield w());return}const fe=this.options.mapPadding,{height:Je,width:De}=this.pencil.getSize();Je<fe[0]+fe[2]+50&&(fe[0]=0,fe[2]=0),De<fe[1]+fe[3]+50&&(fe[1]=0,fe[3]=0);const bt=r!=null?r:this.options.polarAngle,Ct=g!=null?g:this.options.azimuthAngle,Lt=this.pencil.cameraPositon.toArray(),Yt=this.pencil.cameraTarget.toArray();yield this.paddingInCssPixel(o,fe[0],fe[1],fe[2],fe[3],!1);let St;v&&(St=this.pencil.cameraTarget.toArray(),yield this.pencil.controls.setTarget(St[0],St[1],v,!1)),yield this.pencil.controls.rotateTo(Ct,bt,!1),St=this.pencil.cameraTarget.toArray();const Tt=this.pencil.cameraPositon.toArray();yield this.lookAt(...Lt,...Yt),yield Promise.all([this.lookAt(...Tt,...St,O),w==null?void 0:w()].filter(Boolean))})}drawPlaneMap(ne){return _0(this,arguments,function*({geojson:o,extrudeLineGeojson:r,bbox:g,depth:v,extrudelineBloom:w,adcode:O}){const ye=[this.mList.getMaterialObj("plane"),this.mList.getMaterialObj("secondPlane"),this.mList.getMaterialObj("thirdPlane")];let fe=this.mapHistory.length,Je;for(;!Je;)Je=ye[fe],fe--;const De=this.mList.getMaterialObj("bgPlane"),bt=ii(ii({},Je),De?{bgTopMat:De.topMat,bgSideMat:De.sideMat,bgLineMat:De.lineMat,bgExtrudeLineMat:De.extrudeLineMat}:{});let Ct=o,Lt=r;this.options.cityOnMap&&r&&(Ct=r,this.options.showCityOnMapInnerLine?Lt=o:Lt=void 0);const Yt=yield this.lead.draw("PlaneMap",{geojson:Ct,extrudeLineGeojson:Lt,depth:v,projection:{center:this.pcenter,scale:this.pscale,rotate:this.options.worldPacificCentre?[-160,0]:void 0,projectionType:this.options.projectionType},materialOptions:bt,bbox:g,topSegments:this.options.topSegments,lineOffset:this.options.lineOffset,mergeSide:this.options.mergeSide},this.group);return this.mapHistory.length===0?(this.mList.setFixMeshList("area",["plane#topMat","plane#sideMat"],{name:"板块"}),this.mList.setFixMeshList("line","plane#lineMat",{name:"板块线"}),Yt.extrudelineArr&&Yt.extrudelineArr.forEach(St=>{St.object3d.name="板块边线",this.mList.setObject3d(St.object3d,"extrudeLine",{baseObject:St,replace:!0}),this.initBaseObjectUserData(St),w&&(St.object3d.userData.bloom=!0)})):Yt.extrudelineArr&&w&&Yt.extrudelineArr.forEach(St=>{this.initBaseObjectUserData(St),St.object3d.userData.bloom=!0}),Yt})}handleBack(){return _0(this,arguments,function*({duration:o=1e3,handleLookBack:r=!0,keepOne:g=!0}={}){if(this.isAnimating||(g?this.mapHistory.length<=1:this.mapHistory.length===0))return;this.isAnimating=!0;const v=this.mapHistory.pop();if(v!=null&&v.map){if(!this.options.drillDownPlateInCenter){const w=v.map.position.z,O=this.mapObj?this.mapObj.z+(this.mapObj.depth-v.depth):0;yield sinusoidalInOut({onUpdate:ne=>{v.map.position.z=w+(O-w)*ne}}).start({duration:o})}this.lead.eraseWithoutMaterial(v.map),this.eraseLabels()}if(this.mapObj){const{map:w}=this.mapObj,O=w==null?void 0:w.findGroup(v==null?void 0:v.mapInfo.adcode,!0);O&&O.show(),w&&r&&(this.options.showOneLevel?w.show():w.active(),this.options.drillDownHideParent&&this.parentBg.forEach(ne=>{ne.show()}),yield this.handleLookBack(o),this.drawLabels())}this.emit("handleBack",{adcodes:this.adcodes}),this.isAnimating=!1})}handleLookBack(o){return _0(this,null,function*(){const{userControls:r,controls:g}=this.mapObj;yield this.pencil.controls.setLookAt(...r?r.lookAt:g.lookAt,o!==0)})}compareLocations(o,r){const g=o.filter(ne=>ne),v=r.filter(ne=>ne),w=[];let O=0;for(let ne=0;ne<Math.min(g.length,v.length)&&g[ne]===v[ne];ne++)O++;for(let ne=O;ne<g.length;ne++)w.push(-1);for(let ne=O;ne<v.length;ne++)w.push(v[ne]);return w}setAdcode(g){return _0(this,arguments,function*({adcodes:o,duration:r}){var w,O,ne;const{adcodes:v}=this;if(!(JSON.stringify(o)===JSON.stringify(v)||this.isAnimating))if(JSON.stringify(o)===JSON.stringify([0]))try{yield this.handleDrillDown({adcode:0,duration:r})}catch(bt){console.error(bt)}else{const{continent:bt,country:Ct,province:Lt,city:Yt,district:St}=o.reduce((e0,t0)=>{const o0=this.getAdcodeShowLevel(t0);return e0[o0]=t0,e0},{}),{continent:Tt,country:Mt,province:Ht,city:wt,district:Pt}=v.reduce((e0,t0)=>{const o0=this.getAdcodeShowLevel(t0);return e0[o0]=t0,e0},{}),Et=bt||Tt,At=(ne=(O=(w=this.map)==null?void 0:w.extrudelineArr)==null?void 0:O[0])==null?void 0:ne.object3d.userData.bloom,Ot=this.compareLocations([Tt,Mt,Ht,wt,Pt],[bt,Ct,Lt,Yt,St]);try{for(var ye=M1(Ot.entries()),fe,Je,De;fe=!(Je=yield ye.next()).done;fe=!1){const[e0,t0]=Je.value;const o0=e0===Ot.length-1?r:0,d0=e0===Ot.length-1;t0===-1?yield this.handleBack({duration:o0,handleLookBack:d0,keepOne:!Et}):yield this.handleDrillDown({adcode:t0,duration:o0,handleLook:d0,saveBackCamvasState:Ot.includes(-1)?!1:this.options.handleBackKeepCamvasState,extrudelineBloom:At})}}catch(Je){De=[Je]}finally{try{fe&&(Je=ye.return)&&(yield Je.call(ye))}finally{if(De)throw De[0]}}}})}setPadding(o,r=!1,g=!1){this.options.mapPadding=[...o],r&&this.fitTo(this.map,{enableTransition:g})}dispose(){var o,r;(o=this.map)==null||o.dispose(),this.parentBg.forEach(g=>{g.dispose()}),this.parentBg.length=0,(r=this.continentsBg)==null||r.dispose(),this.continentsBg=void 0,this.mapHistory.length=0,super.dispose()}};T0(r1,"VisName","map");let Map$2=r1;const PENCIL_CONFIG$3={camera:{near:.01,far:100,fov:45,up:new Vector3(0,0,1)}},objs$3=ii({},objs$4),base=d=>{d.loaderAdd=function(){return _0(this,null,function*(){this.loaderAddBg()})},d.initMaterial=function(){return _0(this,null,function*(){const t=(()=>{const o=new MeshBasicMaterial({name:"板块顶面",color:new Color$1("#064773")}),r=new MeshBasicMaterial({name:"板块侧面",color:new Color$1("#064d73"),side:DoubleSide}),g=new me$1({name:"板块线",color:new Color$1("#02BAF7"),lineWidth:3,sizeAttenuation:0}),v=new me$1({name:"板块边框线",color:new Color$1("#02BAF7"),lineWidth:3,sizeAttenuation:0});return{topMat:o,sideMat:r,lineMat:g,extrudeLineMat:v}})();this.mList.setMaterialObj("plane",t),this.options.clickHandleDrillDown&&this.mList.copyMaterialObj("plane","bgPlane"),this.initMaterialBg()})}},cityOnMap=d=>{d.extendsOptions={mapDepth:d.extendsOptions.mapDepth,continentsBg:d.options.continentsBg,continentsBgDepth:d.options.continentsBgDepth,allCity:d.options.allCity,clipOutShow:d.options.clipOutShow,handleBackKeepCamvasState:d.options.handleBackKeepCamvasState,mapBoundary:d.options.mapBoundary,showBuilding:d.options.showBuilding,showRoad:d.options.showRoad,showGrassland:d.options.showGrassland,showRiver:d.options.showRiver,buildingSideGradient:d.options.buildingSideGradient,setWaterMaterial:d.options.setWaterMaterial,showCityOnMapInnerLine:d.options.showCityOnMapInnerLine,greyFull:d.options.greyFull},d.loaderAdd=function(){this.loader.add(["/image/map2/side.png"])},d.initMaterial=function(){return _0(this,null,function*(){const o=this.loader,r=(()=>{const g=new MeshBasicMaterial({name:"板块顶面",color:"#094253"}),v=new MeshBasicMaterial({name:"板块侧面",map:o.getAsset("/image/map2/side.png"),side:DoubleSide}),w=new me$1({name:"板块边框",color:new Color$1("#02f7eb"),lineWidth:6,sizeAttenuation:0,depthTest:!1}),O={topMat:g,sideMat:v,lineMat:w};return this.options.showCityOnMapInnerLine&&(O.extrudeLineMat=new me$1({name:"板块内线",color:new Color$1("#02f7eb"),lineWidth:6,sizeAttenuation:0,depthTest:!1})),O})();this.mList.setMaterialObj("plane",r),this.initMaterialBg()})};const t=d.drawPlaneMap.bind(d);d.drawPlaneMap=function(o){return _0(this,null,function*(){const r=yield t(o);return r.lineArr.forEach(g=>{g.object3d.userData=new Proxy({bloom:!1,animationDuration:0},{set:(v,w,O)=>(w==="bloom"?d.pencil.composerController.toggleBloomSelection(g,O):w==="animationDuration"&&(g.material.userData.tween&&(g.material.userData.tween.stop(),remove(g.material.userData.tween),g.material.userData.tween=null),O&&(g.material.uniforms.offset.value.x=1,g.material.uniforms.offsetLoop.value=1,g.animate({duration:O,repeat:1/0,lineLoop:!0,startShow:!0}))),Reflect.set(v,w,O))}),g.object3d.name="板块边框",d.mList.setObject3d(g.object3d,"plane#lineMat")}),r})}},map350000=d=>{d.loaderAdd=function(){d.options.bottomPlane&&d.loader.add(["/image/map2/plane.webp"]),d.loader.add(["/image/map2/side.webp","/image/map2/plane.webp","/image/map2/350000side.webp","/image/map2/line.png"]),d.loader.add(["/image/map2/china_texture.webp"]),d.loader.add(["/image/map2/shuchu1.webp"],{colorCorrection:!1}),d.loader.add(["/image/water/normalMap0.jpg","/image/water/normalMap1.jpg"],{colorCorrection:!1}),d.loader.add(["/image/map2/350000-2.webp"]),d.loader.add(["/image/map2/350000normal.webp","/image/map2/350000-3.webp","/image/map2/350000-4.webp"],{colorCorrection:!1})},d.initMaterial=function(){return _0(this,null,function*(){const t=d.getRoomEnvMap(),o=d.loader,r=(()=>{const v=new MeshStandardMaterial({name:"顶面",color:"#005ec2",emissive:"#010f1f",map:o.getAsset("/image/map2/china_texture.webp"),bumpMap:o.getAsset("/image/map2/shuchu1.webp"),envMap:t}),w=new MeshBasicMaterial({name:"侧面",map:o.getAsset("/image/map2/side.webp"),side:DoubleSide}),O=new me$1({color:new Color$1("#3f648c"),lineWidth:4,sizeAttenuation:0});return{topMat:v,sideMat:w,lineMat:O}})();d.mList.setMaterialObj("parentPlane",r);const g=(()=>{const v=new MeshStandardMaterial({name:"顶面",map:o.getAsset("/image/map2/350000-2.webp"),normalMap:o.getAsset("/image/map2/350000normal.webp"),displacementMap:o.getAsset("/image/map2/350000-3.webp"),displacementScale:.08,envMap:t}),w=v.clone();w.displacementMap=o.getAsset("/image/map2/350000-4.webp"),w.displacementScale=.08,w.normalMap=null;const O=new MeshBasicMaterial({name:"侧面",map:o.getAsset("/image/map2/350000side.webp"),side:DoubleSide}),ne=new me$1({color:new Color$1("#02BAF7"),lineWidth:3,sizeAttenuation:0,depthTest:!1}),ye=o.getAsset("/image/map2/line.png");ye.wrapS=RepeatWrapping,ye.wrapT=RepeatWrapping;const fe=new me$1({color:new Color$1("#69d9ff"),lineWidth:10,sizeAttenuation:0,useMap:1,map:ye,transparent:!0}),Je=v.clone();Je.color=new Color$1("#808080"),Je.emissive=new Color$1("#1f1f1f"),Je.displacementScale=0;const De=new MeshBasicMaterial({name:"侧面",map:o.getAsset("/image/map2/side.webp"),side:DoubleSide}),bt=new me$1({color:new Color$1("#3773b0"),lineWidth:2,sizeAttenuation:0}),Ct=new me$1({color:new Color$1("#3773b0"),lineWidth:4,sizeAttenuation:0});return{topMatOne:v,topMatTwo:w,sideMat:O,lineMat:ne,extrudeLineMat:fe,bgTopMatOne:Je,bgSideMat:De,bgLineMat:bt,bgExtrudeLineMat:Ct}})();d.mList.setMaterialObj("plane",g)})},d.initVis=t=>_0(exports,null,function*(){let o=1e3,r=1e3;const g=new Vector3(0,0,0);if(d.options.parentBg){const v=geojsonCn.adcodeMap[t].parent||0,w=d.options.geojsonMap[v],O=d.options.bboxMap[v],ne=d.mList.getMaterialObj("parentPlane"),ye=yield d.lead.draw("PlaneMap",{geojson:Ki(ii({},w),{features:w.features.filter(De=>De.properties.adcode!==t)}),projection:{center:d.pcenter,scale:d.pscale,rotate:[0,0],projectionType:d.options.projectionType},areaGroup:!1,bbox:O,depth:.1,materialOptions:ii({},ne)},d.group),{min:fe,max:Je}=ye.getSize();o=Je.x-fe.x,r=Je.y-fe.y,g.set((Je.x+fe.x)/2,(Je.y+fe.y)/2,0),d.parentBg.push(ye)}if(yield d.setAdcode({adcodes:[t],duration:0}),d.options.bottomPlane){const v=d.loader.getAsset("/image/map2/plane.webp");v.wrapS=RepeatWrapping,v.wrapT=RepeatWrapping,v.repeat.set(4,4);const w=yield d.lead.draw("CityPlane",{width:o,height:r,color:"#ffffff",map:v},d.group);d.mList.setObject3d(w.object3d,"plane",{baseObject:w}),d.options.bottomPlaneWater&&w.addWater(),d.mList.changeObject3dKey(w.object3d,"map-$1"),w.position.copy(g)}})},city350000=d=>{d.loaderAdd=function(){const t=d.loader;t.add(["/image/city/20-1.webp","/image/city/60-1.webp","/image/city/max-1.webp","/image/city/luwangduan.webp","/image/city/cylinder.webp"]),t.add(["/image/city/20.webp","/image/city/60.webp","/image/city/max.webp"],{colorCorrection:!1})},d.initMaterial=function(){return _0(this,null,function*(){if(!d.mList.getMaterialObj("building")){const t=["20","60","max"].reduce((o,r)=>{const g=d.loader.getAsset(`/image/city/${r}-1.webp`),v=d.loader.getAsset(`/image/city/${r}.webp`);return o[r]=[new MeshBasicMaterial({name:"顶面",color:r==="max"?"#10437a":"#0b5285"}),new MeshStandardMaterial({color:r==="max"?"#8bb3d9":"#3d6e99",name:"侧面",map:g,normalMap:v,envMap:d.getRoomEnvMap()})],[g,v].forEach(w=>{w.wrapS=RepeatWrapping,w.wrapT=RepeatWrapping,w.repeat.set(1,1)}),o},{});d.mList.setMaterialObj("building",{"20Top":t[20][0],"20Side":t[20][1],"60Top":t[60][0],"60Side":t[60][1],maxTop:t.max[0],maxSide:t.max[1]})}if(!d.mList.getMaterialObj("road")){const t=d.loader.getAsset("/image/city/luwangduan.webp");t.wrapS=RepeatWrapping,t.wrapT=RepeatWrapping,t.needsUpdate=!0;const o=new me$1({color:"#d0d984",map:t,useMap:1,transparent:!0});d.mList.setMaterialObj("road",{primary:o})}if(d.mList.getMaterialObj("area")||d.mList.setMaterialObj("area",{river:new MeshBasicMaterial({color:"#0b75b8"}),grassland:new MeshBasicMaterial({color:"#092646"})}),!d.mList.getMaterialObj("city-plane")){const t=new MeshBasicMaterial({name:"城市底面",color:"#082a47"});d.mList.setMaterial("city-plane",t)}})}};class Map$1 extends Map$2{constructor(){super(...arguments);T0(this,"leadObjs",objs$3);T0(this,"initSettingsObj",{label:!1,labelLite:!1,shadowMap:!1,"测试板块颜色.color:::caId":"ffffff","测试边框颜色.color:::caId":"ffffff","测试边框宽度:::caId":0,"测试添加面.btn:::caId":0})}setOptions(o){super.setOptions(ii({polarAngle:Math.PI/180*30,mapDepth:[1,.3,.12],bottomPlane:!0,parentBg:!0,cityOnMap:!1,style:"map2"},o)),this.extendsOptions=Ki(ii({},this.extendsOptions),{mapDepth:()=>this.options.mapDepth,bottomPlane:this.options.bottomPlane,bottomPlaneWater:this.options.bottomPlaneWater,initCity:this.options.initCity}),this.options.adcode===35e4?map350000(this):this.options.cityOnMap?cityOnMap(this):base(this)}initMaterialBg(){return _0(this,null,function*(){const o=this.getRoomEnvMap();if(this.options.parentBg){if(this.options.adcode!==1e5){const g=(()=>{const v=new MeshStandardMaterial({name:"顶面",color:"#031529",emissive:"#010f1f",envMap:o}),w=new MeshBasicMaterial({name:"侧面",color:"#064d73",side:DoubleSide}),O=new me$1({name:"板块线",color:new Color$1("#3f648c"),lineWidth:4,sizeAttenuation:0});return{topMat:v,sideMat:w,lineMat:O}})();this.mList.setMaterialObj("parentPlane",g)}const r=(()=>{const g=new MeshStandardMaterial({name:"顶面",color:"#031529",emissive:"#010f1f",envMap:o}),v=new MeshBasicMaterial({name:"侧面",color:"#064d73",side:DoubleSide}),w=new me$1({name:"板块线",color:new Color$1("#3f648c"),lineWidth:4,sizeAttenuation:0});return{topMat:g,sideMat:v,lineMat:w}})();this.mList.setMaterialObj("worldPlane",r)}if(this.options.continentsBg){const r=(()=>{const g=new MeshStandardMaterial({name:"大洲板块顶面",emissive:"#235278"}),v=new MeshBasicMaterial({name:"大洲板块侧面",color:"#0c1528"}),w=new me$1({name:"大洲板块线",color:new Color$1("#1488e0"),sizeAttenuation:0,lineWidth:this.options.lineWidth});return{topMat:g,sideMat:v,lineMat:w}})();this.mList.setMaterialObj("continents",r),this.mList.setFixMeshList("continentsArea",["continents#topMat","continents#sideMat"],{name:"大洲板块"}),this.mList.setFixMeshList("continentsLine","continents#lineMat",{name:"大洲板块线"})}})}initVis(o){return _0(this,null,function*(){var r;if(yield this.setAdcode({adcodes:[o],duration:0}),this.options.mapBoundary){const g=new Box3().setFromObject((r=this.map)==null?void 0:r.object3d);this.pencil.controls.setBoundary(g)}yield this.initVisBg(o)})}}function clipGeojson(d,t){const o=turf.flatten(d).features,r=turf.flatten(t).features,g={type:"FeatureCollection",features:[]};for(let v=o.length-1;v>=0;v--){const w=o[v];for(let O=r.length-1;O>=0;O--){const ne=r[O];if(contains(w,ne))g.features.push(ne);else if(contains(ne,w))w.properties=ne.properties,g.features.push(w);else{const ye=turf.intersect(w,ne);ye&&(ye.properties=ne.properties,g.features.push(ye))}}}return g}function contains(d,t){let o=!0;const r=turf.explode(t).features;for(let g=r.length-1;g>=0;g--)if(!turf.inside(r[g],d)){o=!1;break}return o}const getBoxMultiPoly=d=>{const t=d.features.map(o=>o.geometry.type==="Polygon"?[o.geometry.coordinates]:o.geometry.coordinates).flat();return Array.from({length:t.length},(o,r)=>turf.polygon(t[r]))};class Building extends Gt$2{constructor(o){super();T0(this,"options");T0(this,"building",{});T0(this,"outJson",new Map);T0(this,"worldPositionZ",{value:0});this.options=ii({},o)}create(){return _0(this,null,function*(){const{json:o,projection:r,cacheKey:g,meters:v,grey:w,clip:O}=this.options,ne=this.pencil.installPlugins.get("materialList"),ye=this.pencil.getPlugin("worker"),fe=this.pencil.lead,Je=w?"-grey":"";this.createGroup();const De=ne.getMaterialObj("building"+Je);let bt=g?yield ye.getCachedGeometry({cacheKey:g}):[];if(bt.length)O&&this.outJson.set(1,!0);else{let Ct;O&&(Ct=getBoxMultiPoly(O));const Lt={};(o.features||o).forEach(St=>{const Tt=typeof St.properties.h=="string"?St.properties.h.split(".")[1]:0,Mt=Number(St.properties.h)|0;Lt[Tt]||(Lt[Tt]={}),Lt[Tt][Mt]||(Lt[Tt][Mt]=[]),Ct?Ct.some(wt=>{St.geometry.coordinates[1]&&console.log(St.geometry.coordinates[1]);const Pt=turf.polygon(St.geometry.coordinates[0]);return turf.booleanContains(wt,Pt)?(Lt[Tt][Mt].push(St),!0):!1})||this.outJson.set(St,!1):Lt[Tt][Mt].push(St)});const Yt=Object.keys(Lt).map(St=>{const Tt=Lt[St];return Object.keys(Tt).map(Mt=>{const Ht=Tt[Mt];return{z:+St,h:+Mt,coordinatesArr:Ht.map(wt=>wt.geometry.type==="Polygon"?wt.geometry.coordinates[0]:wt.geometry.coordinates[0][0])}})}).flat().filter(St=>St.coordinatesArr.length);bt=yield Promise.all(Yt.map(St=>{const{h:Tt,z:Mt,coordinatesArr:Ht}=St,wt=+Tt<=20?+Tt/18:+Tt<=60?+Tt/27:+Tt/12;return ye.geoGeometry("extrudePolygon",{cacheKey:g,userData:{z:Mt,h:Tt},mesaage:{coordinatesArr:Ht,projection:r,useGroups:2,depth:[Number(Tt)*(v||1)],hasBottom:!1,sideRepeat:wt}})}))}yield Promise.all(bt.map(Ct=>_0(this,null,function*(){const{h:Lt,z:Yt}=Ct.userData,St=Lt+Yt,Tt=St<=20?"20":St<=60?"60":"max";let Mt=this.options.material;Mt||(Mt=[De[Tt+"Top"],De[Tt+"Side"]]);const Ht=yield fe.draw("ExtrudePolygon",{key:"building",geometry:Ct,material:Mt},this);this.building[Lt]||(this.building[Lt]=[]),this.building[Lt].push(Ht),Ht.position.z=Number(Yt)*(v||1)}))),this.options.sideGradient&&this.sideGradient(),this.object3d.name="建筑组",w||ne.setObject3d(this.object3d,`building${Je?"-grey":""}#group`)})}sideGradient(o="#052438",r=.05/100){this.traverse(g=>{if(g instanceof Be){const v=g.object3d.material;v[1].onBeforeCompile=w=>{w.uniforms.gradientColor={value:new Color$1(o)},w.uniforms.maxGradientHeight={value:r},w.uniforms.worldPositionZ=this.worldPositionZ,w.vertexShader=`
5102
+ `)},O.needsUpdate=!0)}}setAreaEmissiveByProperty(o,r,g,v=1){if(!this.map)return;const w=this.map.areaArr.find(O=>O.userData[o]===r);w&&this.map.setAreaEmissive(w,g,v)}setLineColorByProperty(o,r,g){if(!this.map)return;const v=this.map.lineArr.find(w=>w.userData[o]===r);v&&this.map.setLineColor(v,g)}setLineWidthByProperty(o,r,g){if(!this.map)return;const v=this.map.lineArr.find(w=>w.userData[o]===r);v&&this.map.setLineWidth(v,g)}addAreaPlaneByProperty(v,w){return _0(this,arguments,function*(o,r,g={}){var ye;if(!this.map)return;const ne=this.map.options.geojson.features.find(fe=>fe.properties&&fe.properties[o]===r);if(ne){const fe=`${r}`;let Je=!1;if(this.mList.objectList.forEach((Lt,Yt)=>{if(Lt.key==="planeCopyExtrudePolygon"+fe){console.warn("已经存在复制面",fe),Je=!0;return}}),Je)return;let De;g.material?f(g.material)?De=new MeshBasicMaterial(ii({},g.material)):De=g.material:De=new MeshBasicMaterial({color:"red"});let bt;g.lineMaterial?f(g.lineMaterial)?bt=new me$1(ii({},g.lineMaterial)):bt=g.lineMaterial:bt=new me$1({color:new Color$1("blue"),sizeAttenuation:0,lineWidth:this.options.lineWidth});const Ct=yield this.map.addPlane(ne,{material:De,lineMaterial:bt,topSegments:(ye=g.topSegments)!=null?ye:0});return Ct.children.forEach(Lt=>{Lt instanceof Be?(Lt.object3d.name="复制面"+fe,this.mList.setObject3d(Lt.object3d,"planeCopyExtrudePolygon"+fe,{baseObject:Lt})):Lt instanceof Ee&&(Lt.object3d.name="复制线"+fe,this.mList.setObject3d(Lt.object3d,"planeCopyLine"+fe,{baseObject:Lt}),this.initBaseObjectUserData(Lt),g.lineBloom&&(Lt.object3d.userData.bloom=!0))}),Ct}})}showAction(){return _0(this,null,function*(){t1(r1.prototype,this,"showAction").call(this),this.useSaveCamera(`map-${this.options.adcode}`);const o=this.lead.group;if(this.mapHistory[0]){const{stop:r,start:g}=sinusoidalInOut({onUpdate:v=>{if(!this.mapHistory[0]){r();return}o.position.z=-this.mapHistory[0].depth*(1-v)}});if(yield g(),this.mapHistory[0]){const v=this.pencil.cameraTarget.toArray();this.pencil.controls.setTarget(v[0],v[1],this.mapHistory[0].depth+this.mapHistory[0].z,!1)}this.saveCamvasState("controls",0)}this.handlePickTest()})}handlePickTest(){return _0(this,null,function*(){var o;this.playing||(o=this.mapArea)==null||o.forEach(r=>{r.onPointerEvent("down",g=>_0(this,null,function*(){var ne,ye,fe;(ye=(ne=this.pencil)==null?void 0:ne.helperController)==null||ye.removeAllExcludeScene(),(fe=this.pencil.helperController)==null||fe.add(g.object3d),this.caId=g.userData.ISO_A2||g.userData.adcode;const v=this.mapLine.find(Je=>Je.userData.ISO_A2===this.caId||Je.userData.adcode===this.caId),O=g.object3d.material[0].color.getHexString();this.settings["测试板块颜色.color:::caId"]="#"+O,yield this.settings["测试板块颜色.color:::caId"],this.settings["测试边框颜色.color:::caId"]="#"+(v==null?void 0:v.material.color.getHexString()),yield this.settings["测试边框颜色.color:::caId"],this.settings["测试边框宽度:::caId"]=v==null?void 0:v.material.lineWidth,yield this.settings["测试边框宽度:::caId"],this.emit("settingsChanged")}))})})}hide(){return _0(this,null,function*(){if(!this.showState)return;const o=this.lead.group;yield sinusoidalInOut({onUpdate:r=>{o.position.z=-this.mapHistory[0].depth*r}}).start(),setTimeout(()=>{t1(r1.prototype,this,"hide").call(this)})})}shadowMapEnabled(){return _0(this,null,function*(){if(this.pencil.scene.userData.shadowMapEnabled)return;this.pencil.scene.userData.shadowMapEnabled=!0;const o=yield this.lead.draw("Light",{type:"SpotLight",color:"#c1e6dd",intensity:1,distance:0,angle:.5,penumbra:1,decay:0}),r=o.object3d;this.mList.changeObject3dKey(r,"Shadow$1"),this.mList.changeObject3dKey(r.target,"Shadow$1"),this.shadowMapLight=o,o.object3d.position.set(.281,32.487,43.077),o.object3d.castShadow=!0;const g=yield this.lead.draw("PlaneShadow");this.mList.setObject3d(g.object3d,"PlaneShadow",{baseObject:g}),this.planeShadow=g})}shadowMapDisabled(){this.pencil.scene.userData.shadowMapEnabled&&(this.pencil.scene.userData.shadowMapEnabled=!1,this.shadowMapLight&&(this.shadowMapLight.erase(),this.mList.delObject3d(this.shadowMapLight.object3d),this.shadowMapLight=void 0),this.planeShadow&&(this.mList.delObject3d(this.planeShadow.object3d),this.planeShadow.erase(),this.planeShadow=void 0))}getOptionsDepth(o){const r=this.getAdcodeShowLevel(o);let g=this.options.mapDepth;Array.isArray(g)||(g=new Array(3).fill(g));let v;return r==="country"?v=g[0]:r==="province"?v=g[1]:v=g[2],v}getDepth(o,r){let g=this.getOptionsDepth(o);if(this.options.depthReference&&this.options.bboxMap[o]){const v=this.options.depthReference,w=this.options.bboxMap[o];g=g*this.getReferenceScale(v,w)}else if(this.mapHistory.length&&this.options.bboxMap[this.mapHistory[0].mapInfo.adcode]){const v=this.options.bboxMap[this.mapHistory[0].mapInfo.adcode],w=this.getReferenceScale(v,r);g=g*w}return g}getReferenceScale(o,r){const g=Math.abs(r[3]-r[1])/Math.abs(o[3]-o[1]),v=Math.abs(r[2]-r[0])/Math.abs(o[2]-o[0]);return Math.max(g,v)}getAdcodeShowLevel(o,r=!0){var g;if((g=this.options.fixCity)!=null&&g[o]&&(o=this.options.fixCity[o]),o===0)return"world";if(o===1e5)return"country";if(/^\d{6}$/.test(`${o}`)){const{level:v,parent:w}=geojsonCn.adcodeMap[o],O=w&&geojsonCn.adcodeMap[w].level;return v==="district"&&O==="province"&&r?"city":v}else if(continentsType.find(v=>v.adcode===o))return"continent"}handleClick(o){const{drillDownRestrictions:r}=this.options;this.isAnimating||(o&&o.userData.adcode?this.getAdcodeShowLevel(o.userData.adcode,!1)!==r?this.showMap({adcode:o.userData.adcode}):this.emit("drilldownRestrictions",o.userData.adcode):!o&&this.mapHistory.length>1&&this.showMap({adcode:this.adcodes.at(-2)}))}beforeShowMap(o){return!0}getAdcodes(o){const r=[];let g=o;for(;g;)r.unshift(g),g=geojsonCn.adcodeMap[g].parent;return r}showMap(v){return _0(this,arguments,function*({adcode:o,adcodes:r,duration:g=1e3}){const w=r||this.getAdcodes(o);(yield this.beforeShowMap(w))!==!1&&(this.emit("beforeDrillDown",[...w]),yield this.setAdcode({adcodes:w,duration:g}),this.emit("afterDrillDown",[...w]))})}drawLabels(){return _0(this,null,function*(){var g;const o=this.options.showLabel;!((g=this.mapArea)!=null&&g.length)||!o||this.lead.getAllObject("Node",{key:"mapLabel"}).length||(yield Promise.all(this.mapArea.map(v=>_0(this,null,function*(){let{name:w,adcode:O,centroid:ne}=v.userData;const{DistrictID:ye,DistName:fe,NAME_CN:Je,CENTROID:De,center:bt}=v.userData;if(O=O||ye,ne=this.options.adcode===0?De:ne||bt,w=this.options.adcode===0?Je:w||fe,!ne)return;const Ct=this.getLocationPosition(ne);if(this.lead.getObject("Node",{key:`mapLabel-${O}`})||!Ct)return;const[Lt,Yt,St]=Ct;let Tt=w;o==="lite"&&Tt&&(Tt=w.replace(/自治州|地区|自治区|省|市|壮族|特别行政区|回族|维吾尔/g,""));const Mt=Tt&&getLabelElement(Tt),Ht=Tt!=null&&Tt.startsWith("澳门")?-1:0;yield this.lead.draw("Node",{position:new Vector3(Lt,Yt+Ht,St),children:Mt,key:`mapLabel#${this.options.adcode===0?w:O}`})}))))})}eraseLabels(){const o=this.lead.getAllObject("Node",{key:"mapLabel"});this.lead.erase(...o)}geAdcodePosition(o){var g;const r=(g=this.mapArea)==null?void 0:g.find(v=>v.userData.adcode===o);if(r){const{centroid:v,center:w}=r.userData;return this.getLocationPosition(v||w)}}getLocationPosition(o){const[r,g]=o,[v,w]=this.projection([r,g]);return[v,-w,this.mapObj?this.mapObj.z+this.mapObj.depth:0]}getAdcodeScreenPosition(o){const r=this.geAdcodePosition(o);if(r){const[g,v,w]=r,O=new Vector3(g,v,w);O.project(this.pencil.camera);const{width:ne,height:ye}=this.pencil.getSize(),fe=(O.x*.5+.5)*ne,Je=(O.y*-.5+.5)*ye;return{x:fe,y:Je}}}booleanPointInCn(o){return chinaLiteJson.features[0].geometry.coordinates.some(r=>turf.booleanPointInPolygon(turf.point(o),turf.polygon(r)))}handleDrillDown(O){return _0(this,arguments,function*({adcode:o,duration:r,handleLook:g,saveBackCamvasState:v,extrudelineBloom:w}){var ne,ye,fe,Je,De,bt,Ct,Lt,Yt;if(typeof o!="undefined"&&!this.isAnimating){const St=(ne=this.map)==null?void 0:ne.findGroup(o,!0),Tt=findLevelJsonItem2(+o);if(this.isAnimating||!Tt)return;this.isAnimating=!0;const{name:Mt}=Tt;let{res:Ht}=(ye=this.options.geojsonMap)!=null&&ye[o]?{res:(fe=this.options.geojsonMap)==null?void 0:fe[o]}:yield jsonFetch(`${this.options.assetsPrefix}/geojson/json/${o}.json`),{res:wt}=this.options.extrudeLine?(Je=this.options.extrudeLineGeojsonMap)!=null&&Je[o]?{res:(De=this.options.extrudeLineGeojsonMap)==null?void 0:De[o]}:yield jsonFetch(`${this.options.assetsPrefix}/geojson/json-lite/${o}.json`):{res:void 0};if(!this.options.showDistrict&&this.getAdcodeShowLevel(o)==="city"&&(Ht=wt,wt=void 0),[Ht,wt].filter(Boolean).forEach(Et=>{if(!Et.features[0].properties.adcode&&/^\d{6}$/.test(`${o}`)){const At=geojsonCn.adcodeMap[o];Et.features[0].properties=Ki(ii(ii({},Et.features[0].properties),At),{center:[At.lng,At.lat]})}}),Ht){const Et=this.options.plateInCenter&&(this.mapHistory.length<1||this.options.drillDownPlateInCenter);if((bt=this.options.fixGeojson)!=null&&bt[o]){const k0=(Ct=this.options.fixGeojson)==null?void 0:Ct[o];if(k0.startsWith("-")){const ai=+k0.slice(1);Ht.features=Ht.features.filter(I0=>I0.properties.adcode!==ai)}}let At=this.options.bboxMap[o]||turf.bbox(wt||Ht);this.options.bboxMap[o]=At;const Ot=[...At];this.mapHistory.length===1&&!this.options.drillDownSecondLevelMats?At=this.options.bboxMap[this.mapInfo.adcode]:this.mapHistory.length===2&&!this.options.drillDownThirdLevelMats&&(this.options.drillDownSecondLevelMats?At=this.options.bboxMap[this.mapInfo.adcode]:At=this.options.bboxMap[this.mapHistory[0].mapInfo.adcode]),this.eraseLabels(),this.map&&(this.options.drillDownHideParent&&this.parentBg.forEach(k0=>{k0.hide()}),this.options.showOneLevel?this.map.hide():this.map.deactive(),v&&this.saveCamvasState("userControls",-1));const e0=this.mapHistory.length,t0=e0-1,o0=this.getDepth(o,Ot),d0=(Lt=this.mapHistory[t0])==null?void 0:Lt.depth,u0=e0===0||this.options.showOneLevel?0:this.mapHistory[t0].z+d0,r0=e0===0||this.options.showOneLevel?0:u0-o0,n0=turf.center(Ht).geometry.coordinates,[l0,i0]=this.projection(n0),c0=yield this.drawPlaneMap({geojson:Ht,extrudeLineGeojson:wt,depth:o0,bbox:At,adcode:o,extrudelineBloom:w});St==null||St.hide(),c0.position.setZ(r0);const S0=c0.position.z,g0=()=>_0(this,null,function*(){yield sinusoidalInOut({onUpdate:k0=>{u0!==S0&&(c0.position.z=S0+(u0-S0)*k0)}}).start({duration:r})});if(Et)if(this.fixNear(o),c0.position.z=u0,g){const k0=(Yt=this.mapHistory.at(-1))==null?void 0:Yt.controls;yield this.fitTo(c0,{fixZ:u0+o0,adcode:o,enableTransition:r!==0,polarAngle:k0==null?void 0:k0.polarAngle,azimuthAngle:k0==null?void 0:k0.azimuthAngle,handleStart:()=>_0(this,null,function*(){c0.position.z=S0,yield g0()})})}else this.options.showOneLevel&&c0.hide();else yield g0();g&&this.drawLabels(),this.mapHistory.push({map:c0,mapInfo:Tt,z:u0,depth:o0,cX:l0,cY:-i0}),this.saveCamvasState("controls",-1)}else console.log(`${Mt}的地图数据不存在`);this.event.emit("handleDrillDown",{adcode:o,z:this.mapObj.z+this.mapObj.depth})}this.isAnimating=!1})}saveCamvasState(o,r){const g=this.mapHistory.at(r);g&&(g[o]={lookAt:[...this.pencil.cameraPositon.toArray(),...this.pencil.cameraTarget.toArray()],polarAngle:this.pencil.controls.polarAngle,azimuthAngle:this.pencil.controls.azimuthAngle})}fixNear(o){const r=this.getAdcodeShowLevel(o);o===0?(this.pencil.camera.near=1,this.pencil.camera.far=1e3,this.pencil.camera.updateProjectionMatrix()):(r==="country"||r==="province")&&this.pencil.camera.near!==this.pencilConfig.camera.near*10?(this.pencil.camera.near=this.pencilConfig.camera.near*10,this.pencil.camera.updateProjectionMatrix()):(r==="city"||r==="district")&&this.pencil.camera.near!==this.pencilConfig.camera.near&&(this.pencil.camera.near=this.pencilConfig.camera.near,this.pencil.camera.updateProjectionMatrix())}fitTo(ye){return _0(this,arguments,function*(o,{polarAngle:r,azimuthAngle:g,fixZ:v,handleStart:w,adcode:O,enableTransition:ne=!0}={}){if(!(o!=null&&o.object3d))return;if(O){const Mt=yield this.useSaveCamera(`map-${O}`,ne);if(console.log("useSaveCamera.adcode",Mt),Mt){w&&(yield w());return}}const fe=this.options.mapPadding,{height:Je,width:De}=this.pencil.getSize();Je<fe[0]+fe[2]+50&&(fe[0]=0,fe[2]=0),De<fe[1]+fe[3]+50&&(fe[1]=0,fe[3]=0);const bt=r!=null?r:this.options.polarAngle,Ct=g!=null?g:this.options.azimuthAngle,Lt=this.pencil.cameraPositon.toArray(),Yt=this.pencil.cameraTarget.toArray();yield this.paddingInCssPixel(o,fe[0],fe[1],fe[2],fe[3],!1);let St;v&&(St=this.pencil.cameraTarget.toArray(),yield this.pencil.controls.setTarget(St[0],St[1],v,!1)),yield this.pencil.controls.rotateTo(Ct,bt,!1),St=this.pencil.cameraTarget.toArray();const Tt=this.pencil.cameraPositon.toArray();yield this.lookAt(...Lt,...Yt),yield Promise.all([this.lookAt(...Tt,...St,ne),w==null?void 0:w()].filter(Boolean))})}drawPlaneMap(ne){return _0(this,arguments,function*({geojson:o,extrudeLineGeojson:r,bbox:g,depth:v,extrudelineBloom:w,adcode:O}){const ye=[this.mList.getMaterialObj("plane"),this.mList.getMaterialObj("secondPlane"),this.mList.getMaterialObj("thirdPlane")];let fe=this.mapHistory.length,Je;for(;!Je;)Je=ye[fe],fe--;const De=this.mList.getMaterialObj("bgPlane"),bt=ii(ii({},Je),De?{bgTopMat:De.topMat,bgSideMat:De.sideMat,bgLineMat:De.lineMat,bgExtrudeLineMat:De.extrudeLineMat}:{});let Ct=o,Lt=r;this.options.cityOnMap&&r&&(Ct=r,this.options.showCityOnMapInnerLine?Lt=o:Lt=void 0);const Yt=yield this.lead.draw("PlaneMap",{geojson:Ct,extrudeLineGeojson:Lt,depth:v,projection:{center:this.pcenter,scale:this.pscale,rotate:this.options.worldPacificCentre?[-160,0]:void 0,projectionType:this.options.projectionType},materialOptions:bt,bbox:g,topSegments:this.options.topSegments,lineOffset:this.options.lineOffset,mergeSide:this.options.mergeSide},this.group);return this.mapHistory.length===0?(this.mList.setFixMeshList("area",["plane#topMat","plane#sideMat"],{name:"板块"}),this.mList.setFixMeshList("line","plane#lineMat",{name:"板块线"}),Yt.extrudelineArr&&Yt.extrudelineArr.forEach(St=>{St.object3d.name="板块边线",this.mList.setObject3d(St.object3d,"extrudeLine",{baseObject:St,replace:!0}),this.initBaseObjectUserData(St),w&&(St.object3d.userData.bloom=!0)})):Yt.extrudelineArr&&w&&Yt.extrudelineArr.forEach(St=>{this.initBaseObjectUserData(St),St.object3d.userData.bloom=!0}),Yt})}handleBack(){return _0(this,arguments,function*({duration:o=1e3,handleLookBack:r=!0,keepOne:g=!0}={}){if(this.isAnimating||(g?this.mapHistory.length<=1:this.mapHistory.length===0))return;this.isAnimating=!0;const v=this.mapHistory.pop();if(v!=null&&v.map){if(!this.options.drillDownPlateInCenter){const w=v.map.position.z,O=this.mapObj?this.mapObj.z+(this.mapObj.depth-v.depth):0;yield sinusoidalInOut({onUpdate:ne=>{v.map.position.z=w+(O-w)*ne}}).start({duration:o})}this.lead.eraseWithoutMaterial(v.map),this.eraseLabels()}if(this.mapObj){const{map:w}=this.mapObj,O=w==null?void 0:w.findGroup(v==null?void 0:v.mapInfo.adcode,!0);O&&O.show(),w&&r&&(this.options.showOneLevel?w.show():w.active(),this.options.drillDownHideParent&&this.parentBg.forEach(ne=>{ne.show()}),yield this.handleLookBack(o),this.drawLabels())}this.emit("handleBack",{adcodes:this.adcodes}),this.isAnimating=!1})}handleLookBack(o){return _0(this,null,function*(){const{userControls:r,controls:g}=this.mapObj;yield this.pencil.controls.setLookAt(...r?r.lookAt:g.lookAt,o!==0)})}compareLocations(o,r){const g=o.filter(ne=>ne),v=r.filter(ne=>ne),w=[];let O=0;for(let ne=0;ne<Math.min(g.length,v.length)&&g[ne]===v[ne];ne++)O++;for(let ne=O;ne<g.length;ne++)w.push(-1);for(let ne=O;ne<v.length;ne++)w.push(v[ne]);return w}setAdcode(g){return _0(this,arguments,function*({adcodes:o,duration:r}){var w,O,ne;const{adcodes:v}=this;if(!(JSON.stringify(o)===JSON.stringify(v)||this.isAnimating))if(JSON.stringify(o)===JSON.stringify([0]))try{yield this.handleDrillDown({adcode:0,duration:r})}catch(bt){console.error(bt)}else{const{continent:bt,country:Ct,province:Lt,city:Yt,district:St}=o.reduce((e0,t0)=>{const o0=this.getAdcodeShowLevel(t0);return e0[o0]=t0,e0},{}),{continent:Tt,country:Mt,province:Ht,city:wt,district:Pt}=v.reduce((e0,t0)=>{const o0=this.getAdcodeShowLevel(t0);return e0[o0]=t0,e0},{}),Et=bt||Tt,At=(ne=(O=(w=this.map)==null?void 0:w.extrudelineArr)==null?void 0:O[0])==null?void 0:ne.object3d.userData.bloom,Ot=this.compareLocations([Tt,Mt,Ht,wt,Pt],[bt,Ct,Lt,Yt,St]);try{for(var ye=M1(Ot.entries()),fe,Je,De;fe=!(Je=yield ye.next()).done;fe=!1){const[e0,t0]=Je.value;const o0=e0===Ot.length-1?r:0,d0=e0===Ot.length-1;t0===-1?yield this.handleBack({duration:o0,handleLookBack:d0,keepOne:!Et}):yield this.handleDrillDown({adcode:t0,duration:o0,handleLook:d0,saveBackCamvasState:Ot.includes(-1)?!1:this.options.handleBackKeepCamvasState,extrudelineBloom:At})}}catch(Je){De=[Je]}finally{try{fe&&(Je=ye.return)&&(yield Je.call(ye))}finally{if(De)throw De[0]}}}})}setPadding(o,r=!1,g=!1){this.options.mapPadding=[...o],r&&this.fitTo(this.map,{enableTransition:g})}dispose(){var o,r;(o=this.map)==null||o.dispose(),this.parentBg.forEach(g=>{g.dispose()}),this.parentBg.length=0,(r=this.continentsBg)==null||r.dispose(),this.continentsBg=void 0,this.mapHistory.length=0,super.dispose()}};T0(r1,"VisName","map");let Map$2=r1;const PENCIL_CONFIG$3={camera:{near:.01,far:100,fov:45,up:new Vector3(0,0,1)}},objs$3=ii({},objs$4),base=d=>{d.loaderAdd=function(){return _0(this,null,function*(){this.loaderAddBg()})},d.initMaterial=function(){return _0(this,null,function*(){const t=(()=>{const o=new MeshBasicMaterial({name:"板块顶面",color:new Color$1("#064773")}),r=new MeshBasicMaterial({name:"板块侧面",color:new Color$1("#064d73"),side:DoubleSide}),g=new me$1({name:"板块线",color:new Color$1("#02BAF7"),lineWidth:3,sizeAttenuation:0}),v=new me$1({name:"板块边框线",color:new Color$1("#02BAF7"),lineWidth:3,sizeAttenuation:0});return{topMat:o,sideMat:r,lineMat:g,extrudeLineMat:v}})();this.mList.setMaterialObj("plane",t),this.options.clickHandleDrillDown&&this.mList.copyMaterialObj("plane","bgPlane"),this.initMaterialBg()})}},cityOnMap=d=>{d.extendsOptions={mapDepth:d.extendsOptions.mapDepth,continentsBg:d.options.continentsBg,continentsBgDepth:d.options.continentsBgDepth,allCity:d.options.allCity,clipOutShow:d.options.clipOutShow,handleBackKeepCamvasState:d.options.handleBackKeepCamvasState,mapBoundary:d.options.mapBoundary,showBuilding:d.options.showBuilding,showRoad:d.options.showRoad,showGrassland:d.options.showGrassland,showRiver:d.options.showRiver,buildingSideGradient:d.options.buildingSideGradient,setWaterMaterial:d.options.setWaterMaterial,showCityOnMapInnerLine:d.options.showCityOnMapInnerLine,greyFull:d.options.greyFull},d.loaderAdd=function(){this.loader.add(["/image/map2/side.png"])},d.initMaterial=function(){return _0(this,null,function*(){const o=this.loader,r=(()=>{const g=new MeshBasicMaterial({name:"板块顶面",color:"#094253"}),v=new MeshBasicMaterial({name:"板块侧面",map:o.getAsset("/image/map2/side.png"),side:DoubleSide}),w=new me$1({name:"板块边框",color:new Color$1("#02f7eb"),lineWidth:6,sizeAttenuation:0,depthTest:!1}),O={topMat:g,sideMat:v,lineMat:w};return this.options.showCityOnMapInnerLine&&(O.extrudeLineMat=new me$1({name:"板块内线",color:new Color$1("#02f7eb"),lineWidth:6,sizeAttenuation:0,depthTest:!1})),O})();this.mList.setMaterialObj("plane",r),this.initMaterialBg()})};const t=d.drawPlaneMap.bind(d);d.drawPlaneMap=function(o){return _0(this,null,function*(){const r=yield t(o);return r.lineArr.forEach(g=>{g.object3d.userData=new Proxy({bloom:!1,animationDuration:0},{set:(v,w,O)=>(w==="bloom"?d.pencil.composerController.toggleBloomSelection(g,O):w==="animationDuration"&&(g.material.userData.tween&&(g.material.userData.tween.stop(),remove(g.material.userData.tween),g.material.userData.tween=null),O&&(g.material.uniforms.offset.value.x=1,g.material.uniforms.offsetLoop.value=1,g.animate({duration:O,repeat:1/0,lineLoop:!0,startShow:!0}))),Reflect.set(v,w,O))}),g.object3d.name="板块边框",d.mList.setObject3d(g.object3d,"plane#lineMat")}),r})}},map350000=d=>{d.loaderAdd=function(){d.options.bottomPlane&&d.loader.add(["/image/map2/plane.webp"]),d.loader.add(["/image/map2/side.webp","/image/map2/plane.webp","/image/map2/350000side.webp","/image/map2/line.png"]),d.loader.add(["/image/map2/china_texture.webp"]),d.loader.add(["/image/map2/shuchu1.webp"],{colorCorrection:!1}),d.loader.add(["/image/water/normalMap0.jpg","/image/water/normalMap1.jpg"],{colorCorrection:!1}),d.loader.add(["/image/map2/350000-2.webp"]),d.loader.add(["/image/map2/350000normal.webp","/image/map2/350000-3.webp","/image/map2/350000-4.webp"],{colorCorrection:!1})},d.initMaterial=function(){return _0(this,null,function*(){const t=d.getRoomEnvMap(),o=d.loader,r=(()=>{const v=new MeshStandardMaterial({name:"顶面",color:"#005ec2",emissive:"#010f1f",map:o.getAsset("/image/map2/china_texture.webp"),bumpMap:o.getAsset("/image/map2/shuchu1.webp"),envMap:t}),w=new MeshBasicMaterial({name:"侧面",map:o.getAsset("/image/map2/side.webp"),side:DoubleSide}),O=new me$1({color:new Color$1("#3f648c"),lineWidth:4,sizeAttenuation:0});return{topMat:v,sideMat:w,lineMat:O}})();d.mList.setMaterialObj("parentPlane",r);const g=(()=>{const v=new MeshStandardMaterial({name:"顶面",map:o.getAsset("/image/map2/350000-2.webp"),normalMap:o.getAsset("/image/map2/350000normal.webp"),displacementMap:o.getAsset("/image/map2/350000-3.webp"),displacementScale:.08,envMap:t}),w=v.clone();w.displacementMap=o.getAsset("/image/map2/350000-4.webp"),w.displacementScale=.08,w.normalMap=null;const O=new MeshBasicMaterial({name:"侧面",map:o.getAsset("/image/map2/350000side.webp"),side:DoubleSide}),ne=new me$1({color:new Color$1("#02BAF7"),lineWidth:3,sizeAttenuation:0,depthTest:!1}),ye=o.getAsset("/image/map2/line.png");ye.wrapS=RepeatWrapping,ye.wrapT=RepeatWrapping;const fe=new me$1({color:new Color$1("#69d9ff"),lineWidth:10,sizeAttenuation:0,useMap:1,map:ye,transparent:!0}),Je=v.clone();Je.color=new Color$1("#808080"),Je.emissive=new Color$1("#1f1f1f"),Je.displacementScale=0;const De=new MeshBasicMaterial({name:"侧面",map:o.getAsset("/image/map2/side.webp"),side:DoubleSide}),bt=new me$1({color:new Color$1("#3773b0"),lineWidth:2,sizeAttenuation:0}),Ct=new me$1({color:new Color$1("#3773b0"),lineWidth:4,sizeAttenuation:0});return{topMatOne:v,topMatTwo:w,sideMat:O,lineMat:ne,extrudeLineMat:fe,bgTopMatOne:Je,bgSideMat:De,bgLineMat:bt,bgExtrudeLineMat:Ct}})();d.mList.setMaterialObj("plane",g)})},d.initVis=t=>_0(exports,null,function*(){let o=1e3,r=1e3;const g=new Vector3(0,0,0);if(d.options.parentBg){const v=geojsonCn.adcodeMap[t].parent||0,w=d.options.geojsonMap[v],O=d.options.bboxMap[v],ne=d.mList.getMaterialObj("parentPlane"),ye=yield d.lead.draw("PlaneMap",{geojson:Ki(ii({},w),{features:w.features.filter(De=>De.properties.adcode!==t)}),projection:{center:d.pcenter,scale:d.pscale,rotate:[0,0],projectionType:d.options.projectionType},areaGroup:!1,bbox:O,depth:.1,materialOptions:ii({},ne)},d.group),{min:fe,max:Je}=ye.getSize();o=Je.x-fe.x,r=Je.y-fe.y,g.set((Je.x+fe.x)/2,(Je.y+fe.y)/2,0),d.parentBg.push(ye)}if(yield d.setAdcode({adcodes:[t],duration:0}),d.options.bottomPlane){const v=d.loader.getAsset("/image/map2/plane.webp");v.wrapS=RepeatWrapping,v.wrapT=RepeatWrapping,v.repeat.set(4,4);const w=yield d.lead.draw("CityPlane",{width:o,height:r,color:"#ffffff",map:v},d.group);d.mList.setObject3d(w.object3d,"plane",{baseObject:w}),d.options.bottomPlaneWater&&w.addWater(),d.mList.changeObject3dKey(w.object3d,"map-$1"),w.position.copy(g)}})},city350000=d=>{d.loaderAdd=function(){const t=d.loader;t.add(["/image/city/20-1.webp","/image/city/60-1.webp","/image/city/max-1.webp","/image/city/luwangduan.webp","/image/city/cylinder.webp"]),t.add(["/image/city/20.webp","/image/city/60.webp","/image/city/max.webp"],{colorCorrection:!1})},d.initMaterial=function(){return _0(this,null,function*(){if(!d.mList.getMaterialObj("building")){const t=["20","60","max"].reduce((o,r)=>{const g=d.loader.getAsset(`/image/city/${r}-1.webp`),v=d.loader.getAsset(`/image/city/${r}.webp`);return o[r]=[new MeshBasicMaterial({name:"顶面",color:r==="max"?"#10437a":"#0b5285"}),new MeshStandardMaterial({color:r==="max"?"#8bb3d9":"#3d6e99",name:"侧面",map:g,normalMap:v,envMap:d.getRoomEnvMap()})],[g,v].forEach(w=>{w.wrapS=RepeatWrapping,w.wrapT=RepeatWrapping,w.repeat.set(1,1)}),o},{});d.mList.setMaterialObj("building",{"20Top":t[20][0],"20Side":t[20][1],"60Top":t[60][0],"60Side":t[60][1],maxTop:t.max[0],maxSide:t.max[1]})}if(!d.mList.getMaterialObj("road")){const t=d.loader.getAsset("/image/city/luwangduan.webp");t.wrapS=RepeatWrapping,t.wrapT=RepeatWrapping,t.needsUpdate=!0;const o=new me$1({color:"#d0d984",map:t,useMap:1,transparent:!0});d.mList.setMaterialObj("road",{primary:o})}if(d.mList.getMaterialObj("area")||d.mList.setMaterialObj("area",{river:new MeshBasicMaterial({color:"#0b75b8"}),grassland:new MeshBasicMaterial({color:"#092646"})}),!d.mList.getMaterialObj("city-plane")){const t=new MeshBasicMaterial({name:"城市底面",color:"#082a47"});d.mList.setMaterial("city-plane",t)}})}};class Map$1 extends Map$2{constructor(){super(...arguments);T0(this,"leadObjs",objs$3);T0(this,"initSettingsObj",{label:!1,labelLite:!1,shadowMap:!1,"测试板块颜色.color:::caId":"ffffff","测试边框颜色.color:::caId":"ffffff","测试边框宽度:::caId":0,"测试添加面.btn:::caId":0})}setOptions(o){super.setOptions(ii({polarAngle:Math.PI/180*30,mapDepth:[1,.3,.12],bottomPlane:!0,parentBg:!0,cityOnMap:!1,style:"map2"},o)),this.extendsOptions=Ki(ii({},this.extendsOptions),{mapDepth:()=>this.options.mapDepth,bottomPlane:this.options.bottomPlane,bottomPlaneWater:this.options.bottomPlaneWater,initCity:this.options.initCity}),this.options.adcode===35e4?map350000(this):this.options.cityOnMap?cityOnMap(this):base(this)}initMaterialBg(){return _0(this,null,function*(){const o=this.getRoomEnvMap();if(this.options.parentBg){if(this.options.adcode!==1e5){const g=(()=>{const v=new MeshStandardMaterial({name:"顶面",color:"#031529",emissive:"#010f1f",envMap:o}),w=new MeshBasicMaterial({name:"侧面",color:"#064d73",side:DoubleSide}),O=new me$1({name:"板块线",color:new Color$1("#3f648c"),lineWidth:4,sizeAttenuation:0});return{topMat:v,sideMat:w,lineMat:O}})();this.mList.setMaterialObj("parentPlane",g)}const r=(()=>{const g=new MeshStandardMaterial({name:"顶面",color:"#031529",emissive:"#010f1f",envMap:o}),v=new MeshBasicMaterial({name:"侧面",color:"#064d73",side:DoubleSide}),w=new me$1({name:"板块线",color:new Color$1("#3f648c"),lineWidth:4,sizeAttenuation:0});return{topMat:g,sideMat:v,lineMat:w}})();this.mList.setMaterialObj("worldPlane",r)}if(this.options.continentsBg){const r=(()=>{const g=new MeshStandardMaterial({name:"大洲板块顶面",emissive:"#235278"}),v=new MeshBasicMaterial({name:"大洲板块侧面",color:"#0c1528"}),w=new me$1({name:"大洲板块线",color:new Color$1("#1488e0"),sizeAttenuation:0,lineWidth:this.options.lineWidth});return{topMat:g,sideMat:v,lineMat:w}})();this.mList.setMaterialObj("continents",r),this.mList.setFixMeshList("continentsArea",["continents#topMat","continents#sideMat"],{name:"大洲板块"}),this.mList.setFixMeshList("continentsLine","continents#lineMat",{name:"大洲板块线"})}})}initVis(o){return _0(this,null,function*(){var r;if(yield this.setAdcode({adcodes:[o],duration:0}),this.options.mapBoundary){const g=new Box3().setFromObject((r=this.map)==null?void 0:r.object3d);this.pencil.controls.setBoundary(g)}yield this.initVisBg(o)})}}function clipGeojson(d,t){const o=turf.flatten(d).features,r=turf.flatten(t).features,g={type:"FeatureCollection",features:[]};for(let v=o.length-1;v>=0;v--){const w=o[v];for(let O=r.length-1;O>=0;O--){const ne=r[O];if(contains(w,ne))g.features.push(ne);else if(contains(ne,w))w.properties=ne.properties,g.features.push(w);else{const ye=turf.intersect(w,ne);ye&&(ye.properties=ne.properties,g.features.push(ye))}}}return g}function contains(d,t){let o=!0;const r=turf.explode(t).features;for(let g=r.length-1;g>=0;g--)if(!turf.inside(r[g],d)){o=!1;break}return o}const getBoxMultiPoly=d=>{const t=d.features.map(o=>o.geometry.type==="Polygon"?[o.geometry.coordinates]:o.geometry.coordinates).flat();return Array.from({length:t.length},(o,r)=>turf.polygon(t[r]))};class Building extends Gt$2{constructor(o){super();T0(this,"options");T0(this,"building",{});T0(this,"outJson",new Map);T0(this,"worldPositionZ",{value:0});this.options=ii({},o)}create(){return _0(this,null,function*(){const{json:o,projection:r,cacheKey:g,meters:v,grey:w,clip:O}=this.options,ne=this.pencil.installPlugins.get("materialList"),ye=this.pencil.getPlugin("worker"),fe=this.pencil.lead,Je=w?"-grey":"";this.createGroup();const De=ne.getMaterialObj("building"+Je);let bt=g?yield ye.getCachedGeometry({cacheKey:g}):[];if(bt.length)O&&this.outJson.set(1,!0);else{let Ct;O&&(Ct=getBoxMultiPoly(O));const Lt={};(o.features||o).forEach(St=>{const Tt=typeof St.properties.h=="string"?St.properties.h.split(".")[1]:0,Mt=Number(St.properties.h)|0;Lt[Tt]||(Lt[Tt]={}),Lt[Tt][Mt]||(Lt[Tt][Mt]=[]),Ct?Ct.some(wt=>{St.geometry.coordinates[1]&&console.log(St.geometry.coordinates[1]);const Pt=turf.polygon(St.geometry.coordinates[0]);return turf.booleanContains(wt,Pt)?(Lt[Tt][Mt].push(St),!0):!1})||this.outJson.set(St,!1):Lt[Tt][Mt].push(St)});const Yt=Object.keys(Lt).map(St=>{const Tt=Lt[St];return Object.keys(Tt).map(Mt=>{const Ht=Tt[Mt];return{z:+St,h:+Mt,coordinatesArr:Ht.map(wt=>wt.geometry.type==="Polygon"?wt.geometry.coordinates[0]:wt.geometry.coordinates[0][0])}})}).flat().filter(St=>St.coordinatesArr.length);bt=yield Promise.all(Yt.map(St=>{const{h:Tt,z:Mt,coordinatesArr:Ht}=St,wt=+Tt<=20?+Tt/18:+Tt<=60?+Tt/27:+Tt/12;return ye.geoGeometry("extrudePolygon",{cacheKey:g,userData:{z:Mt,h:Tt},mesaage:{coordinatesArr:Ht,projection:r,useGroups:2,depth:[Number(Tt)*(v||1)],hasBottom:!1,sideRepeat:wt}})}))}yield Promise.all(bt.map(Ct=>_0(this,null,function*(){const{h:Lt,z:Yt}=Ct.userData,St=Lt+Yt,Tt=St<=20?"20":St<=60?"60":"max";let Mt=this.options.material;Mt||(Mt=[De[Tt+"Top"],De[Tt+"Side"]]);const Ht=yield fe.draw("ExtrudePolygon",{key:"building",geometry:Ct,material:Mt},this);this.building[Lt]||(this.building[Lt]=[]),this.building[Lt].push(Ht),Ht.position.z=Number(Yt)*(v||1)}))),this.options.sideGradient&&this.sideGradient(),this.object3d.name="建筑组",w||ne.setObject3d(this.object3d,`building${Je?"-grey":""}#group`)})}sideGradient(o="#052438",r=.05/100){this.traverse(g=>{if(g instanceof Be){const v=g.object3d.material;v[1].onBeforeCompile=w=>{w.uniforms.gradientColor={value:new Color$1(o)},w.uniforms.maxGradientHeight={value:r},w.uniforms.worldPositionZ=this.worldPositionZ,w.vertexShader=`
5103
5103
  varying vec3 vPosition;
5104
5104
  varying vec3 vWorldPosition;
5105
5105
  ${w.vertexShader}
@@ -90,7 +90,7 @@ const publicKeyPEM = "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRz
90
90
  ).toString(CryptoJS.enc.Utf8), De = JSON.parse(Je), bt = Date.now();
91
91
  return !De.s || De.s > bt ? (this.token = void 0, "") : De.e && De.e < bt ? (this.token = void 0, "") : (De.isValid = ye, De);
92
92
  }
93
- }, version = "0.25.7";
93
+ }, version = "0.25.8";
94
94
  /**
95
95
  * @license
96
96
  * Copyright 2010-2025 Three.js Authors
@@ -136875,7 +136875,10 @@ const objs$4 = Ki(ii({}, objs$5), {
136875
136875
  return;
136876
136876
  const [Lt, Yt, St] = Ct;
136877
136877
  let Tt = w;
136878
- o === "lite" && Tt && (Tt = w.replace("自治州", "").replace("地区", "").replace("自治区", "").replace("省", "").replace("市", "").replace("壮族", "").replace("特别行政区", "").replace("回族", "").replace("维吾尔", ""));
136878
+ o === "lite" && Tt && (Tt = w.replace(
136879
+ /自治州|地区|自治区|省|市|壮族|特别行政区|回族|维吾尔/g,
136880
+ ""
136881
+ ));
136879
136882
  const Mt = Tt && getLabelElement(Tt), Ht = Tt != null && Tt.startsWith("澳门") ? -1 : 0;
136880
136883
  yield this.lead.draw("Node", {
136881
136884
  position: new Vector3(Lt, Yt + Ht, St),
@@ -136982,6 +136985,7 @@ const objs$4 = Ki(ii({}, objs$5), {
136982
136985
  const k0 = (Yt = this.mapHistory.at(-1)) == null ? void 0 : Yt.controls;
136983
136986
  yield this.fitTo(c0, {
136984
136987
  fixZ: u0 + o0,
136988
+ adcode: o,
136985
136989
  enableTransition: r !== 0,
136986
136990
  polarAngle: k0 == null ? void 0 : k0.polarAngle,
136987
136991
  azimuthAngle: k0 == null ? void 0 : k0.azimuthAngle,
@@ -137026,22 +137030,22 @@ const objs$4 = Ki(ii({}, objs$5), {
137026
137030
  const r = this.getAdcodeShowLevel(o);
137027
137031
  o === 0 ? (this.pencil.camera.near = 1, this.pencil.camera.far = 1e3, this.pencil.camera.updateProjectionMatrix()) : (r === "country" || r === "province") && this.pencil.camera.near !== this.pencilConfig.camera.near * 10 ? (this.pencil.camera.near = this.pencilConfig.camera.near * 10, this.pencil.camera.updateProjectionMatrix()) : (r === "city" || r === "district") && this.pencil.camera.near !== this.pencilConfig.camera.near && (this.pencil.camera.near = this.pencilConfig.camera.near, this.pencil.camera.updateProjectionMatrix());
137028
137032
  }
137029
- fitTo(ne) {
137033
+ fitTo(ye) {
137030
137034
  return _0(this, arguments, function* (o, {
137031
137035
  polarAngle: r,
137032
137036
  azimuthAngle: g,
137033
137037
  fixZ: v,
137034
137038
  handleStart: w,
137035
- enableTransition: O = !0
137039
+ adcode: O,
137040
+ enableTransition: ne = !0
137036
137041
  } = {}) {
137037
- var Mt;
137038
137042
  if (!(o != null && o.object3d)) return;
137039
- if (yield this.useSaveCamera(
137040
- `map-${(Mt = this.mapInfo) == null ? void 0 : Mt.adcode}`,
137041
- O
137042
- )) {
137043
- w && (yield w());
137044
- return;
137043
+ if (O) {
137044
+ const Mt = yield this.useSaveCamera(`map-${O}`, ne);
137045
+ if (console.log("useSaveCamera.adcode", Mt), Mt) {
137046
+ w && (yield w());
137047
+ return;
137048
+ }
137045
137049
  }
137046
137050
  const fe = this.options.mapPadding, { height: Je, width: De } = this.pencil.getSize();
137047
137051
  Je < fe[0] + fe[2] + 50 && (fe[0] = 0, fe[2] = 0), De < fe[1] + fe[3] + 50 && (fe[1] = 0, fe[3] = 0);
@@ -137064,7 +137068,7 @@ const objs$4 = Ki(ii({}, objs$5), {
137064
137068
  const Tt = this.pencil.cameraPositon.toArray();
137065
137069
  yield this.lookAt(...Lt, ...Yt), yield Promise.all(
137066
137070
  [
137067
- this.lookAt(...Tt, ...St, O),
137071
+ this.lookAt(...Tt, ...St, ne),
137068
137072
  w == null ? void 0 : w()
137069
137073
  ].filter(Boolean)
137070
137074
  );
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: "0.25.7";
1
+ declare const _default: "0.25.8";
2
2
  export default _default;
@@ -201,7 +201,8 @@ export default class extends Base {
201
201
  }): Promise<void>;
202
202
  saveCamvasState(type: 'userControls' | 'controls', index: number): void;
203
203
  fixNear(adcode: number): void;
204
- fitTo(obj?: BaseObject, { polarAngle, azimuthAngle, fixZ, handleStart, enableTransition, }?: {
204
+ fitTo(obj?: BaseObject, { polarAngle, azimuthAngle, fixZ, handleStart, adcode, enableTransition, }?: {
205
+ adcode?: number;
205
206
  polarAngle?: number;
206
207
  azimuthAngle?: number;
207
208
  enableTransition?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vis-core",
3
- "version": "0.25.7",
3
+ "version": "0.25.8",
4
4
  "scripts": {
5
5
  "start": "npm run version && PORT=5173 bundler-dev",
6
6
  "build:site": "npm run version && bundler",