hn-map 1.1.18 → 1.1.19

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.js CHANGED
@@ -1 +1 @@
1
- !function(i,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(i="undefined"!=typeof globalThis?globalThis:i||self).HnMap=t()}(this,function(){"use strict";function i(i,t){(null==t||t>i.length)&&(t=i.length);for(var e=0,n=Array(t);e<t;e++)n[e]=i[e];return n}function t(i,t,e){return t=s(t),p(i,c()?Reflect.construct(t,e||[],s(i).constructor):t.apply(i,e))}function e(i,t){if(!(i instanceof t))throw new TypeError("Cannot call a class as a function")}function n(i,t){for(var e=0;e<t.length;e++){var n=t[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(i,y(n.key),n)}}function o(i,t,e){return t&&n(i.prototype,t),e&&n(i,e),Object.defineProperty(i,"prototype",{writable:!1}),i}function a(i,t,e){return(t=y(t))in i?Object.defineProperty(i,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):i[t]=e,i}function r(){return r="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(i,t,e){var n=function(i,t){for(;!{}.hasOwnProperty.call(i,t)&&null!==(i=s(i)););return i}(i,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?i:e):o.value}},r.apply(null,arguments)}function s(i){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(i){return i.__proto__||Object.getPrototypeOf(i)},s(i)}function l(i,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(t&&t.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),Object.defineProperty(i,"prototype",{writable:!1}),t&&f(i,t)}function c(){try{var i=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(i){}return(c=function(){return!!i})()}function p(i,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(i){if(void 0===i)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}(i)}function u(){var i,t,e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",o=e.toStringTag||"@@toStringTag";function a(e,n,o,a){var l=n&&n.prototype instanceof s?n:s,c=Object.create(l.prototype);return h(c,"_invoke",function(e,n,o){var a,s,l,c=0,p=o||[],u=!1,h={p:0,n:0,v:i,a:f,f:f.bind(i,4),d:function(t,e){return a=t,s=0,l=i,h.n=e,r}};function f(e,n){for(s=e,l=n,t=0;!u&&c&&!o&&t<p.length;t++){var o,a=p[t],f=h.p,d=a[2];e>3?(o=d===n)&&(l=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=i):a[0]<=f&&((o=e<2&&f<a[1])?(s=0,h.v=n,h.n=a[1]):f<d&&(o=e<3||a[0]>n||n>d)&&(a[4]=e,a[5]=n,h.n=d,s=0))}if(o||e>1)return r;throw u=!0,n}return function(o,p,d){if(c>1)throw TypeError("Generator is already running");for(u&&1===p&&f(p,d),s=p,l=d;(t=s<2?i:l)||!u;){a||(s?s<3?(s>1&&(h.n=-1),f(s,l)):h.n=l:h.v=l);try{if(c=2,a){if(s||(o="next"),t=a[o]){if(!(t=t.call(a,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=i}else if((t=(u=h.n<0)?l:e.call(n,h))!==r)break}catch(t){a=i,s=1,l=t}finally{c=1}}return{value:t,done:u}}}(e,o,a),!0),c}var r={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var p=[][n]?t(t([][n]())):(h(t={},n,function(){return this}),t),f=c.prototype=s.prototype=Object.create(p);function d(i){return Object.setPrototypeOf?Object.setPrototypeOf(i,c):(i.__proto__=c,h(i,o,"GeneratorFunction")),i.prototype=Object.create(f),i}return l.prototype=c,h(f,"constructor",c),h(c,"constructor",l),l.displayName="GeneratorFunction",h(c,o,"GeneratorFunction"),h(f),h(f,o,"Generator"),h(f,n,function(){return this}),h(f,"toString",function(){return"[object Generator]"}),(u=function(){return{w:a,m:d}})()}function h(i,t,e,n){var o=Object.defineProperty;try{o({},"",{})}catch(i){o=0}h=function(i,t,e,n){function a(t,e){h(i,t,function(i){return this._invoke(t,e,i)})}t?o?o(i,t,{value:e,enumerable:!n,configurable:!n,writable:!n}):i[t]=e:(a("next",0),a("throw",1),a("return",2))},h(i,t,e,n)}function f(i,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,t){return i.__proto__=t,i},f(i,t)}function d(i,t){return function(i){if(Array.isArray(i))return i}(i)||function(i,t){var e=null==i?null:"undefined"!=typeof Symbol&&i[Symbol.iterator]||i["@@iterator"];if(null!=e){var n,o,a,r,s=[],l=!0,c=!1;try{if(a=(e=e.call(i)).next,0===t){if(Object(e)!==e)return;l=!1}else for(;!(l=(n=a.call(e)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(i){c=!0,o=i}finally{try{if(!l&&null!=e.return&&(r=e.return(),Object(r)!==r))return}finally{if(c)throw o}}return s}}(i,t)||v(i,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(t){return function(t){if(Array.isArray(t))return i(t)}(t)||function(i){if("undefined"!=typeof Symbol&&null!=i[Symbol.iterator]||null!=i["@@iterator"])return Array.from(i)}(t)||v(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(i){var t=function(i,t){if("object"!=typeof i||!i)return i;var e=i[Symbol.toPrimitive];if(void 0!==e){var n=e.call(i,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(i)}(i,"string");return"symbol"==typeof t?t:t+""}function g(i){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(i){return typeof i}:function(i){return i&&"function"==typeof Symbol&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},g(i)}function v(t,e){if(t){if("string"==typeof t)return i(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(t,e):void 0}}function C(i,t,e,n){return new(e||(e=Promise))(function(o,a){function r(i){try{l(n.next(i))}catch(i){a(i)}}function s(i){try{l(n.throw(i))}catch(i){a(i)}}function l(i){var t;i.done?o(i.value):(t=i.value,t instanceof e?t:new e(function(i){i(t)})).then(r,s)}l((n=n.apply(i,t||[])).next())})}function w(i,t){for(var e=0,n=Object.keys(t);e<n.length;e++){var o=n[e];t[o]instanceof Object&&!Array.isArray(t[o])?(i[o]||Object.assign(i,a({},o,{})),w(i[o],t[o])):Object.assign(i,a({},o,t[o]))}return i}function k(i){return i.every(function(i){return Array.isArray(i)})?i.map(function(i){return k(i)}):i.every(function(i){return"object"===g(i)})?i.map(function(i){var t=k([i.lng,i.lat]);return Object.assign(Object.assign({},i),{lng:t[0],lat:t[1]})}):function(i,t){if(e=i,n=t,!(e<=180&&e>=-180&&n<=90&&n>=-90))return[i,t];var e,n;var o=6378245,a=.006693421622965943;function r(i,t){var e=2*i-100+3*t+.2*t*t+.1*i*t+.2*Math.sqrt(Math.abs(i));return e+=2*(20*Math.sin(6*i*Math.PI)+20*Math.sin(2*i*Math.PI))/3,e+=2*(160*Math.sin(t*Math.PI/3)+320*Math.sin(t*Math.PI/30))/3}function s(i,t){var e=300+i+2*t+.1*i*i+.1*i*t+.1*Math.sqrt(Math.abs(i));return e+=2*(20*Math.sin(6*i*Math.PI)+20*Math.sin(i*Math.PI))/3,e+=2*(150*Math.sin(i*Math.PI/3)+300*Math.sin(i*Math.PI/15))/3}var l=r(i-105,t-35),c=s(i-105,t-35),p=t/180*Math.PI,u=Math.sin(p);u=1-a*u*u;var h=Math.sqrt(u);return l=180*l/(o*(1-a)/(u*h)*Math.PI),c=180*c/(o/h*Math.cos(p)*Math.PI),[i+c,t+l]}(i[0],i[1])}function E(i,t){var e=d(i,2),n=e[0],o=e[1],a=d(t,2),r=a[0],s=a[1],l=[Number(n),Number(o)];return[l,[Number(r),Number(o)],[Number(r),Number(s)],[Number(n),Number(s)],l]}function b(i){if(18==i)return 0;var t=Math.min(18,Math.max(1,i)),e=6378137*Math.PI/Math.pow(2,t);return parseFloat(e.toFixed(2))}function S(i){if(i>32e6)return 1;if(i<=0)return 18;var t=2+Math.log(32e6/i)/Math.log(2);return t=Math.floor(t),Math.max(1,Math.min(18,t))}function D(i){return i.map(function(i){return Array.isArray(i)?i.map(function(i){return Array.isArray(i)?i.map(function(i){return Number(i)}):Number(i)}):Number(i)})}function O(){if("undefined"!=typeof Cesium&&Cesium.TileProviderError){var i=Cesium.TileProviderError.reportError;Cesium.TileProviderError.reportError=function(t,e,n,o,a,r,s,l){if((null==o?void 0:o.includes("Failed to obtain image"))||(null==o?void 0:o.includes("无法获得图块"))||(null==o?void 0:o.includes("404"))||l&&404===l.status||(null==o?void 0:o.includes("NetworkError"))||(null==o?void 0:o.includes("not found"))){if(Cesium.defined(n)&&n.numberOfListeners>0){var c=t;return Cesium.defined(t)?(c.provider=e,c.message=o,c.x=a,c.y=r,c.level=s,c.retry=!1,c.error=l,c.timesRetried=Cesium.defaultValue(c.timesRetried,0)+1):c=new Cesium.TileProviderError(e,o,a,r,s,0,l),n.raiseEvent(c),c}return t||new Cesium.TileProviderError(e,o,a,r,s,0,l)}return i.apply(this,arguments)}}}"function"==typeof SuppressedError&&SuppressedError;var P=function(i){var t={lat:37.7979042,lng:112.55074,level:8,heading:0,pitch:-90,roll:0,mars3d_config:"",gaode_key:"",tdt_key:"",roadNetworkGeoJSON:null,sj_app_key:"",sj_app_secret:"",sj_style:"aegis://styles/aegis/Streets-Raster512",sj_route_net:!0,cesium_accessToken:"",cesium_terrainProvider:null,cesium_imageryProvider:null},n=function(){function i(n,o){var a=this;e(this,i),this.map=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerList=[],this.event={},this.level=null,this.layerList=[],w(this.option,o),this.config=this.formatConfig(this.option),this.map=new mars3d.Map(n,this.config),this.map.on("cameraMoveEnd",function(i){var t=a.map.getCameraView().alt;a.level=S(t)})}return o(i,[{key:"formatConfig",value:function(i){var t=b(i.level);return Object.assign(Object.assign({},i.mars3d_config),{control:{locationBar:{fps:!0}},scene:{center:{lat:i.lat,lng:i.lng,alt:t,heading:360-i.heading||0,pitch:i.pitch||0,roll:i.roll||0},fxaa:!0,requestRenderMode:!0}})}},{key:"addLayer",value:function(i){if(!this.layerList.find(function(t){return t.id===i.id}))return this.layerList.push(i),this.map.addLayer(i.layerEntity),i;console.error("已存在同名图层"+i.id)}},{key:"getLayer",value:function(i){return this.layerList.find(function(t){return t.id===i})}},{key:"removeLayer",value:function(i){var t=this.getLayer(i);t&&(this.layerList=this.layerList.filter(function(t){return t.id!==i}),t.destroy())}},{key:"clearLayer",value:function(i){var t=this.getLayer(i);t&&(t.children=[],t.clearEntity())}},{key:"on",value:function(i,t){switch(this.off(i),i){case"click":this.event[i]=function(i){var e=mars3d.LngLatPoint.fromCartesian(i.cartesian);e.format();var n={lng:e.lng,lat:e.lat,alt:e.alt};t(n)};break;case"cameraMoveEnd":this.event[i]=function(i){t(i)}}this.map.on(i,this.event[i])}},{key:"off",value:function(i){this.event[i]&&(this.map.off(i,this.event[i]),delete this.event[i])}},{key:"getExtent",value:function(){return this.map.getExtent()}},{key:"getCameraView",value:function(){return this.map.getCameraView()}},{key:"flyToPoint",value:function(i){var t=new mars3d.LngLatPoint(i[0],i[1],i[2]);this.map.flyToPoint(t)}},{key:"closePopup",value:function(){this.map.closePopup()}},{key:"setMode",value:function(i){var t={"2d":Cesium.SceneMode.SCENE2D,"3d":Cesium.SceneMode.SCENE3D};this.map.scene.mode=t[i.toLowerCase()]}}],[{key:"create",value:function(t,e){return C(this,void 0,void 0,u().m(function n(){var o;return u().w(function(n){for(;;)switch(n.n){case 0:return o=new i(t,e),n.n=1,new Promise(function(i){i()});case 1:return n.a(2,o)}},n)}))}}])}(),a=function(){function i(n,o){e(this,i),this.map=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerList=[],this.layerList=[],w(this.option,o),this.config=this.formatConfig(this.option),this.map=new AMap.Map(n,this.config)}return o(i,[{key:"formatConfig",value:function(i){return{viewMode:"2D",zoom:i.level,pitch:i.pitch,rotation:i.heading,rotateEnable:!0,pitchEnable:!0,terrain:!0,center:[i.lng,i.lat]}}},{key:"addLayer",value:function(i){if(!this.layerList.find(function(t){return t.id===i.id}))return this.layerList.push(i),this.map.add(i.layerEntity),i;console.error("已存在同名图层")}},{key:"getLayer",value:function(i){return this.layerList.find(function(t){return t.id===i})}},{key:"removeLayer",value:function(i){var t=this.getLayer(i);t&&(t.destroy(),this.layerList=this.layerList.filter(function(t){return t.id!==i}))}},{key:"clearLayer",value:function(i){var t=this.getLayer(i);t&&(t.children=[],t.clearEntity())}}],[{key:"create",value:function(t,e){return C(this,void 0,void 0,u().m(function n(){var o;return u().w(function(n){for(;;)switch(n.n){case 0:return o=new i(t,e),n.n=1,new Promise(function(i){i()});case 1:return n.a(2,o)}},n)}))}}])}(),r=function(){function i(n,o){var a=this;e(this,i),this.id=null,this.map=null,this.geocodingTask=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerList=[],this.event={},this.level=null,this.id=n,this.layerList=[],this.level=this.option.level,w(this.option,o),this.config=this.formatConfig(this.option),this.map=new SGMap.Map(this.config),this.geocodingTask=new SGMap.GeocodingTask,this.map.on("moveend",function(i){return a.updateMapParams(i)}),this.map.on("zoomend",function(i){return a.updateMapParams(i)}),this.map.on("pitchend",function(i){return a.updateMapParams(i)})}return o(i,[{key:"formatConfig",value:function(i){return{container:this.id,style:i.sj_style||"aegis://styles/aegis/StreetsDark-v2",zoom:i.level,center:[i.lng,i.lat],localIdeographFontFamily:"Microsoft YaHei Regular"}}},{key:"addLayer",value:function(i){if(this.layerList.find(function(t){return t.id===i.id}))console.error("已存在同名图层");else if(this.map)return this.layerList.push(i),i}},{key:"getLayer",value:function(i){return this.layerList.find(function(t){return t.id===i})}},{key:"removeLayer",value:function(i){var t=this.getLayer(i);t.id&&(this.layerList=this.layerList.filter(function(t){return t.id!==i}),t.destroy())}},{key:"clearLayer",value:function(i){var t=this.getLayer(i);t&&(t.children=[],t.clearEntity())}},{key:"getExtent",value:function(){var i=this.map.getBounds();return{xmin:i._sw.lng,ymin:i._sw.lat,xmax:i._ne.lng,ymax:i._ne.lat}}},{key:"on",value:function(i,t){var e=this;switch(this.off(i),i){case"click":this.event[i]=function(i){t({lng:i.lngLat.lng,lat:i.lngLat.lat,alt:i.lngLat.alt||0},i)};break;case"dblclick":case"moveend":case"zoomend":case"mouseenter":case"mouseleave":case"mousemove":this.event[i]=function(i){t(i)};break;case"cameraMoveEnd":this.event[i]=function(){e.map.on("moveend",function(i){return t(i)}),e.map.on("zoomend",function(i){return t(i)}),e.map.on("pitchend",function(i){return t(i)})},this.event[i]()}this.map.on(i,this.event[i])}},{key:"off",value:function(i){this.event[i]&&(this.map.off(i,this.event[i]),delete this.event[i])}},{key:"updateMapParams",value:function(i){this.level=this.map.getZoom();var t=this.getExtent();this.level!==this.option.level&&this.layerList.forEach(function(i){i.children.forEach(function(e){e.option.distanceDisplayCondition&&i.updateEntity(e,t)})})}}],[{key:"create",value:function(t,e){return C(this,void 0,void 0,u().m(function n(){var o;return u().w(function(n){for(;;)switch(n.n){case 0:return o=new i(t,e),n.n=1,new Promise(function(i){o.map.on("load",function(t){e.sj_route_net&&new SGMap.RoadNetLayer({map:o.map}).render();o.map.addLayer({id:"sky",type:"sky",paint:{"sky-type":"atmosphere","sky-atmosphere-sun":[0,0],"sky-atmosphere-sun-intensity":15}}),i(t)})});case 1:return n.a(2,o)}},n)}))}}])}(),s=function(){function i(n,o){var a=this;if(e(this,i),this.map=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerList=[],this.event={},this.level=null,this.layerList=[],w(this.option,o),this.config=this.formatConfig(this.option),"undefined"==typeof Cesium)throw new Error("Cesium未加载,请检查资源加载顺序");this.map=new Cesium.Viewer(n,this.config),this.map.dataSources||(this.map.dataSources=new Cesium.DataSourceCollection),this.map._cesiumWidget&&this.map._cesiumWidget._creditContainer&&(this.map._cesiumWidget._creditContainer.style.display="none"),this.map.camera.moveEnd.addEventListener(function(){var i=a.map.camera,t=Cesium.Cartographic.fromCartesian(i.position).height;a.level=S(t),a.event.cameraMoveEnd&&a.event.cameraMoveEnd()});var r=this.option,s=r.lat,l=r.lng,c=r.level,p=r.heading,u=r.pitch,h=r.roll,f=b(c),d=Cesium.Cartesian3.fromDegrees(l,s,f),m=new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(p),Cesium.Math.toRadians(u),Cesium.Math.toRadians(h));this.map.camera.setView({destination:d,orientation:m}),setTimeout(function(){a.addMars3dStyleRoadNetwork()},100)}return o(i,[{key:"formatConfig",value:function(i){return{scene3DOnly:!0,geocoder:!1,baseLayerPicker:!1,fullscreenButton:!1,contextOptions:{webgl:{alpha:!0,antialias:!0,preserveDrawingBuffer:!0,powerPreference:"default"}},animation:!1,timeline:!1,navigationHelpButton:!1,selectionIndicator:!1,homeButton:!1,shouldAnimate:!0,infoBox:!1}}},{key:"addMars3dStyleRoadNetwork",value:function(){this.option.roadNetworkGeoJSON?this.addGeoJSONRoadNetwork():this.option.tdt_key?this.addTiandituVectorLayer():this.addGaodeVectorLayer()}},{key:"addGeoJSONRoadNetwork",value:function(){var i=this;try{var t=this.option.roadNetworkGeoJSON,e=new Cesium.GeoJsonDataSource("RoadNetwork");e.load(t,{stroke:Cesium.Color.fromCssColorString("#ff6b6b"),strokeWidth:2,fill:Cesium.Color.fromCssColorString("rgba(255, 255, 255, 0)"),markerSymbol:"none"}).then(function(){i.map.dataSources.add(e),console.log("GeoJSON路网添加成功")}).catch(function(t){console.error("GeoJSON路网加载失败:",t),i.addTiandituVectorLayer()})}catch(i){console.error("GeoJSON路网添加失败:",i),this.addTiandituVectorLayer()}}},{key:"addTiandituVectorLayer",value:function(){try{var i=this.option.tdt_key;this.option.tdsk_key;console.warn("未配置tdsk_key,尝试使用传统TK验证方式(可能受限)");var t=new Cesium.WebMapTileServiceImageryProvider({url:"https://t0.tianditu.gov.cn/DataServer?T=cva_w&x={TileCol}&y={TileRow}&l={TileMatrix}&tk=".concat(i),layer:"cva",style:"default",format:"tiles",tileMatrixSetID:"GoogleMapsCompatible",maximumLevel:18,credit:new Cesium.Credit("天地图")}),e=this.map.imageryLayers.addImageryProvider(t);this.map.imageryLayers.raiseToTop(e),console.log("天地图路网标注添加成功(TK验证)")}catch(i){console.error("天地图路网添加失败:",i),this.addArcGISStreetLayer()}}},{key:"addGaodeVectorLayer",value:function(){try{var i=new Cesium.UrlTemplateImageryProvider({url:"https://webst0{s}.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}",subdomains:["1","2","3","4"],minimumLevel:1,maximumLevel:18,credit:new Cesium.Credit("高德注记")}),t=this.map.imageryLayers.addImageryProvider(i);this.map.imageryLayers.raiseToTop(t)}catch(i){console.error("高德路网添加失败:",i),this.addArcGISStreetLayer()}}},{key:"addArcGISStreetLayer",value:function(){try{var i=new Cesium.ArcGisMapServerImageryProvider({url:"https://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer",tileDiscardPolicy:void 0,enablePickFeatures:!1,credit:new Cesium.Credit("Esri",!1)}),t=this.map.imageryLayers.addImageryProvider(i);this.map.imageryLayers.raiseToTop(t),console.log("ArcGIS街道路网添加成功")}catch(i){console.error("ArcGIS街道添加失败:",i),console.warn("ArcGIS服务不可用,保持当前底图")}}},{key:"addLayer",value:function(i){var t=this;if(this.layerList.find(function(t){return t.id===i.id}))return console.error("已存在同名图层"+i.id),null;this.layerList.push(i);var e=i.layerEntity;if(e)if(e instanceof Cesium.CustomDataSource||e instanceof Cesium.DataSource)try{this.map.dataSources.add(e)}catch(i){console.error("添加数据源失败:",i),setTimeout(function(){try{t.map.dataSources.add(e)}catch(i){console.error("重新添加数据源也失败:",i)}},100)}else e instanceof Cesium.Primitive||e instanceof Cesium.PrimitiveCollection?this.map.scene.primitives.add(e):e instanceof Cesium.Entity&&this.map.entities.add(e);return i}},{key:"getLayer",value:function(i){return this.layerList.find(function(t){return t.id===i})}},{key:"removeLayer",value:function(i){var t,e=this,n=this.getLayer(i);if(n){var o=n.layerEntity;o&&this.map&&(o instanceof Cesium.DataSource?this.map.dataSources&&"function"==typeof this.map.dataSources.remove&&this.map.dataSources.remove(o):o instanceof Cesium.PrimitiveCollection||o instanceof Cesium.Primitive?this.map.scene.primitives.remove(o):o instanceof Cesium.Entity?this.map.entities.remove(o):Array.isArray(o)&&o.forEach(function(i){i instanceof Cesium.Entity&&e.map.entities.remove(i)})),this.layerList=this.layerList.filter(function(t){return t.id!==i}),null===(t=n.destroy)||void 0===t||t.call(n)}}},{key:"clearLayer",value:function(i){var t=this.getLayer(i);t&&(t.children=[],t.clearEntity())}},{key:"on",value:function(i,t){var e=this;switch(this.off(i),i){case"click":this.event[i]=function(i){var n=e.map.camera.getPickRay(i.position);if(n){var o=e.map.scene.globe.pick(n,e.map.scene);if(o){var a=Cesium.Cartographic.fromCartesian(o),r={lng:Cesium.Math.toDegrees(a.longitude),lat:Cesium.Math.toDegrees(a.latitude),alt:a.height};t(r)}}},this.map.screenSpaceEventHandler.setInputAction(function(t){e.event[i](t)},Cesium.ScreenSpaceEventType.LEFT_CLICK);break;case"cameraMoveEnd":this.event[i]=function(i){t(i)};break;case"mouseMove":this.event[i]=function(i){t(i)},this.map.screenSpaceEventHandler.setInputAction(function(t){e.event[i](t)},Cesium.ScreenSpaceEventType.MOUSE_MOVE)}}},{key:"off",value:function(i){this.event[i]&&(this.map.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK),delete this.event[i])}},{key:"getExtent",value:function(){var i=this,t=this.map.camera;t.frustum;var e=[new Cesium.Cartesian2(0,0),new Cesium.Cartesian2(this.map.canvas.width,0),new Cesium.Cartesian2(this.map.canvas.width,this.map.canvas.height),new Cesium.Cartesian2(0,this.map.canvas.height)],n=180,o=-180,a=90,r=-90;return e.forEach(function(e){var s=t.getPickRay(e);if(s){var l=i.map.scene.globe.pick(s,i.map.scene);if(l){var c=Cesium.Cartographic.fromCartesian(l),p=Cesium.Math.toDegrees(c.longitude),u=Cesium.Math.toDegrees(c.latitude);n=Math.min(n,p),o=Math.max(o,p),a=Math.min(a,u),r=Math.max(r,u)}}}),{xmin:n,xmax:o,ymin:a,ymax:r}}},{key:"getCameraView",value:function(){var i=this.map.camera,t=i.positionWC,e=Cesium.Cartographic.fromCartesian(t);return{lng:Cesium.Math.toDegrees(e.longitude),lat:Cesium.Math.toDegrees(e.latitude),alt:e.height,heading:Cesium.Math.toDegrees(i.heading),pitch:Cesium.Math.toDegrees(i.pitch),roll:Cesium.Math.toDegrees(i.roll)}}},{key:"flyToPoint",value:function(i){var t=d(i,3),e=t[0],n=t[1],o=t[2],a=Cesium.Cartesian3.fromDegrees(e,n,o);this.map.camera.flyTo({destination:a,duration:2,complete:function(){console.log("飞行动画完成")}})}},{key:"flyToExtent",value:function(i){var t=Cesium.Rectangle.fromDegrees(i.xmin,i.ymin,i.xmax,i.ymax);this.map.camera.flyTo({destination:t,duration:2})}},{key:"closePopup",value:function(){this.map.selectedEntity=null,this.map.trackedEntity=null}},{key:"setMode",value:function(i){var t={"2d":Cesium.SceneMode.SCENE2D,"3d":Cesium.SceneMode.SCENE3D,columbus:Cesium.SceneMode.COLUMBUS_VIEW};t[i.toLowerCase()]&&(this.map.scene.mode=t[i.toLowerCase()])}},{key:"destroy",value:function(){this.map&&(this.map.destroy(),this.map=null)}}],[{key:"create",value:function(t,e){return C(this,void 0,void 0,u().m(function n(){var o;return u().w(function(n){for(;;)switch(n.n){case 0:if(!(o=new i(t,e)).map.scene.initializePromise){n.n=1;break}return n.n=1,o.map.scene.initializePromise;case 1:return n.a(2,o)}},n)}))}}])}();return{mars3d:n,gaode:a,siji:r,cesium:s}[i.mapType]},N=function(i){var t=function(){return o(function i(t){var n=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e(this,i),this.viewer=null,this.popupElement=null,this.popupContainer=null,this.currentEntity=null,this.screenSpaceEventHandler=null,this.isPopupVisible=!1,this.defaultStyle={},this.handleOutsideClick=function(i){n.popupElement&&!n.popupElement.contains(i.target)&&n.hide()},this.viewer=t,this.defaultStyle={container:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",pointerEvents:"none",zIndex:"1000",display:"none"},popup:{position:"absolute",pointerEvents:"auto",zIndex:"1002",transform:"translate(-50%, -100%)"},close:{position:"absolute",top:"5px",right:"5px",width:"20px",height:"20px",lineHeight:"20px",textAlign:"center",cursor:"pointer",fontSize:"16px",color:"#666",zIndex:"1002"}},o.style&&this.mergeStyles(this.defaultStyle,o.style),this.initPopup()},[{key:"mergeStyles",value:function(i,t){for(var e in t)!i.hasOwnProperty(e)||"object"!==g(i[e])||i[e]instanceof Array?i[e]=t[e]:this.mergeStyles(i[e],t[e])}},{key:"initPopup",value:function(){var i=this;this.popupContainer=document.createElement("div"),this.popupContainer.className="cesium-popup-container",this.applyStyles(this.popupContainer,this.defaultStyle.container),this.popupElement=document.createElement("div"),this.popupElement.className="cesium-popup",this.applyStyles(this.popupElement,this.defaultStyle.popup);var t=document.createElement("div");t.className="cesium-popup-close",t.innerHTML="×",this.applyStyles(t,this.defaultStyle.close),t.onclick=function(){return i.hide()};var e=document.createElement("div");e.className="cesium-popup-content",this.popupElement.appendChild(t),this.popupElement.appendChild(e),this.popupContainer.appendChild(this.popupElement),this.viewer&&this.viewer.container&&this.viewer.container.appendChild(this.popupContainer)}},{key:"show",value:function(i,t){var e=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"详细信息";if(this.popupContainer&&this.popupElement){var o=this.popupElement.querySelector(".cesium-popup-title");o&&(o.textContent=n);var a=this.popupElement.querySelector(".cesium-popup-content");if(a&&(a.innerHTML="","string"==typeof t?a.innerHTML=t:a.appendChild(t)),i.cartesian){var r=this.viewer.scene.cartesianToCanvasCoordinates(i.cartesian);r&&(this.popupElement.style.left="".concat(r.x,"px"),this.popupElement.style.top="".concat(r.y,"px"))}else void 0!==i.x&&void 0!==i.y&&(this.popupElement.style.left="".concat(i.x,"px"),this.popupElement.style.top="".concat(i.y,"px"));this.popupContainer.style.display="block",this.isPopupVisible=!0,setTimeout(function(){document.addEventListener("click",e.handleOutsideClick)},0)}}},{key:"hide",value:function(){this.popupContainer&&(this.popupContainer.style.display="none",this.isPopupVisible=!1,this.currentEntity=null,document.removeEventListener("click",this.handleOutsideClick))}},{key:"applyStyles",value:function(i,t){for(var e in t)if(t.hasOwnProperty(e)){var n=this.toKebabCase(e);i.style.setProperty(n,t[e])}}},{key:"toKebabCase",value:function(i){return i.replace(/[A-Z]/g,function(i){return"-".concat(i.toLowerCase())})}},{key:"destroy",value:function(){this.hide(),this.popupContainer&&this.popupContainer.parentNode&&this.popupContainer.parentNode.removeChild(this.popupContainer),this.screenSpaceEventHandler&&this.screenSpaceEventHandler.destroy()}}])}();return t},M=function(i){var t={},n=function(){return o(function i(n){e(this,i),this.type="layer",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.children=null,this.layerEntity=null,this.id=n.id,this.children=[],w(this.option,n),this.config=this.formatConfig(this.option),this.layerEntity=new mars3d.layer.GraphicLayer(this.config)},[{key:"formatConfig",value:function(i){return i}},{key:"getEntity",value:function(i){return this.children.find(function(t){return t.id===i})}},{key:"addEntity",value:function(t){this.children.find(function(i){return i.id===t.id})?console.error("已存在同名图形"+t.id):(this.children.push(t),"route"==t.type?(this.layerEntity.addGraphic(t.graphic),t.start()):"pointCloud"==t.type||"heatMap"==t.type?i.map.map.addLayer(t.layerEntity):"cluster"==t.type?(i.map.map.addLayer(t.layerEntity),t.option.position&&t.option.position.length>0&&setTimeout(function(){t.setPosition(t.option.position),t.flyTo()},100)):this.layerEntity.addGraphic(t.graphic))}},{key:"removeEntity",value:function(t){var e=this.getEntity(t);e&&(this.children=this.children.filter(function(i){return i.id!==e.id}),"pointCloud"!==e.type&&"heatMap"!==e.type&&"cluster"!==e.type||i.map.map.removeLayer(e.id),this.layerEntity.removeGraphic(e.graphic))}},{key:"clearEntity",value:function(){this.children.forEach(function(i){return i.destroy()}),this.children=[],this.layerEntity.clear()}},{key:"destroy",value:function(){var t=this;this.clearEntity(),this.layerEntity.remove(!0),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"show",value:function(){this.layerEntity.show=!0}},{key:"hide",value:function(){this.layerEntity.show=!1}},{key:"flyTo",value:function(){this.layerEntity.flyTo()}},{key:"flyToCustomEntities",value:function(t){var e=180,n=-180,o=90,a=-90;t.forEach(function(i){i.graphic.positions.forEach(function(i){var t=mars3d.Cesium.Cartographic.fromCartesian(i),r=mars3d.Cesium.Math.toDegrees(t.longitude),s=mars3d.Cesium.Math.toDegrees(t.latitude);e=Math.min(e,r),n=Math.max(n,r),o=Math.min(o,s),a=Math.max(a,s)})}),i.map.map.flyToExtent({xmin:e,xmax:n,ymin:o,ymax:a})}},{key:"addPopupByAttr",value:function(){this.layerEntity.bindPopup(function(i){if(i.graphic.attr){var t=i.graphic.attr;return mars3d.Util.getTemplateHtml({title:"详情",template:"all",attr:t})}})}},{key:"addCustomPopup",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{offsetY:-20};this.layerEntity.bindPopup(function(n){return C(e,void 0,void 0,u().m(function e(){var o,a;return u().w(function(e){for(;;)switch(e.n){case 0:if(!n.graphic.attr){e.n=3;break}return o=n.graphic.attr||{},e.n=1,t(o);case 1:if(!(a=e.v)){e.n=2;break}return e.a(2,a);case 2:i.map.closePopup();case 3:return e.a(2)}},e)}))},n)}}])}();return{mars3d:n,gaode:function(){return o(function i(n){e(this,i),this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.children=null,this.layerEntity=null,this.propsInfoWindow=null,this.customInfoWindow=null,this.getCustomDom=null,this.id=n.id,this.children=[],w(this.option,n),this.config=this.formatConfig(this.option),this.layerEntity=new AMap.OverlayGroup([]),this.layerEntity.id=n.id},[{key:"formatConfig",value:function(i){return i}},{key:"getEntity",value:function(i){return this.children.find(function(t){return t.id===i})}},{key:"addEntity",value:function(i){this.children.find(function(t){return t.id===i.id})?console.error("已存在同名图形"+i.id):(this.children.push(i),this.layerEntity.addOverlay(i.graphic),this.propsInfoWindow&&this.addPopupByAttr(),this.customInfoWindow)}},{key:"removeEntity",value:function(i){var t=this.getEntity(i);t&&(this.children=this.children.filter(function(i){return i.id!==t.id}),this.layerEntity.removeOverlay(t.graphic),t.destroy())}},{key:"clearEntity",value:function(){this.children=[],this.layerEntity.clearOverlays()}},{key:"destroy",value:function(){var t=this;this.clearEntity(),i.map.map.remove(this.layerEntity),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"addPopupByAttr",value:function(){var t=this;this.propsInfoWindow||(this.propsInfoWindow=new AMap.InfoWindow({offset:new AMap.Pixel(0,-30)}));var e=function(e){var n=e.target.getOptions().extData.data,o="";for(var a in n)o+="<div>".concat(a,": ").concat(n[a],"</div>");t.propsInfoWindow.setContent(o),t.propsInfoWindow.open(i.map.map,e.lnglat)};this.layerEntity.off("click",e),this.layerEntity.on("click",e)}},{key:"addCustomPopup",value:function(t){var e=this;this.customInfoWindow||(this.customInfoWindow=new AMap.InfoWindow({offset:new AMap.Pixel(0,-30)})),t&&(this.getCustomDom=t);var n=function(t){var n=t.target.getOptions().extData.data,o=e.getCustomDom(n);e.customInfoWindow.setContent(o),e.customInfoWindow.open(i.map.map,t.lnglat)};this.layerEntity.off("click",n),this.layerEntity.on("click",n)}}])}(),siji:function(){return o(function i(n){e(this,i),this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.children=null,this.hideChildrenMap=null,this.layerEntity=null,this.infoWindow=null,this.entity=null,this.id=n.id,this.children=[],this.hideChildrenMap={},w(this.option,n),this.config=this.formatConfig(this.option)},[{key:"formatConfig",value:function(i){return i}},{key:"updateEntity",value:function(t,e){i.map.level>=Number(t.option.distanceDisplayCondition_far)&&i.map.level<=Number(t.option.distanceDisplayCondition_near)?!t.show&&this.isIncludesLabel(t.option.position,e)&&this.addLevelEntity(t):t.show&&this.removeLevelEntity(t)}},{key:"isIncludesLabel",value:function(i,t){return i[0]>t.xmin&&i[0]<t.xmax&&i[1]>t.ymin&&i[1]<t.ymax}},{key:"getEntity",value:function(i){return this.children.find(function(t){return t.id===i})}},{key:"addEntity",value:function(t){if(this.children.find(function(i){return i.id===t.id}))console.error("已存在同名图形"+t.id);else{this.children.push(t);var e=i.map.level>=Number(t.option.distanceDisplayCondition_far)&&i.map.level<=Number(t.option.distanceDisplayCondition_near);t.option.distanceDisplayCondition&&!e||this.addLevelEntity(t)}}},{key:"removeEntity",value:function(i){var t=this.getEntity(i);console.log(t,"======88888====="),t&&(this.children=this.children.filter(function(i){return i.id!==t.id}),this.removeLevelEntity(t))}},{key:"addLevelEntity",value:function(t){if("imagePoint"==t.type)i.map.map.loadImage(t.option.image,function(e,n){t.config.layout["icon-size"]=t.option.width/n.width,t.config.layout["icon-offset"]=[t.option.offset[0]/t.config.layout["icon-size"],t.option.offset[1]/t.config.layout["icon-size"]],i.map.map.addImage(t.id+"_image",n),i.map.map.addLayer(t.config)});else if("numPoint"==t.type)i.map.map.addLayer(t.config),i.map.map.addLayer(t.configLabel);else if("divPoint"==t.type)t.graphic.setLngLat(t.option.position).addTo(i.map.map);else if("circle"==t.type){var e={type:"Feature",properties:{centerPoint:D(t.option.position),radius:t.option.radius},geometry:{type:"Polygon",coordinates:[]}};t.graphic.addFeature(e)}else"route"==t.type?(i.map.map.addLayer(t.config_routeline),i.map.map.addLayer(t.config_routeplay),t.createCar(),t.chunkData=t.joinLinePoint(),t.start()):"pointCloud"==t.type?i.map.map.addLayer(t.config):"heatMap"==t.type?(i.map.map.addLayer(t.config_heatmap),i.map.map.addLayer(t.config_point),i.map.map.flyTo({center:[t.option.position[0].lng,t.option.position[0].lat],duration:2e3,essential:!0})):"cluster"==t.type?(i.map.map.addLayer(t.config_layer),i.map.map.addLayer(t.config_label),i.map.map.loadImage(t.option.image,function(e,n){t.config_Image.layout["icon-size"]=t.option.width/n.width,i.map.map.addImage(t.id+"_poiImage",n),i.map.map.addLayer(t.config_Image)}),i.map.map.flyTo({center:t.option.position[0].position,duration:2e3,essential:!0})):i.map.map.addLayer(t.config);t.show=!0}},{key:"removeLevelEntity",value:function(t){t&&("circle"==t.type?(t.graphic.remove(),t.graphic.clearData()):"numPoint"==t.type?(i.map.map.removeLayer(t.config.id),i.map.map.removeSource(t.config.id),i.map.map.removeLayer(t.configLabel.id),i.map.map.removeSource(t.configLabel.id)):"divPoint"==t.type?t.graphic.remove():"route"==t.type?(i.map.map.removeLayer(t.config_routeline.id),i.map.map.removeSource(t.config_routeline.id),i.map.map.removeLayer(t.config_routeplay.id),i.map.map.removeSource(t.config_routeplay.id),t.imgMarker.remove()):"imagePoint"==t.type?(i.map.map.removeImage(t.id+"_image"),i.map.map.removeLayer(t.id),i.map.map.removeSource(t.id)):"cluster"==t.type?(console.log("cluster_siji_remove",t),i.map.map.removeLayer(t.config_layer.id),i.map.map.removeLayer(t.config_label.id),i.map.map.removeImage(t.id+"_poiImage"),i.map.map.removeLayer(t.config_Image.id),i.map.map.removeSource(t.id)):(i.map.map.removeLayer(t.id),i.map.map.removeSource(t.id)),t.show=!1)}},{key:"moveEntity",value:function(t){var e=t.join(",");i.map.map.moveLayer(e)}},{key:"clearEntity",value:function(){var i=this;this.children.forEach(function(t){i.removeEntity(t.id)}),this.children=[]}},{key:"destroy",value:function(){var t=this;this.clearEntity(),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id}),console.log("销毁图层",i.map.layerList)}},{key:"addPopupByAttr",value:function(){var t=this;this.removePopup(),this.infoWindow=new SGMap.Popup({offset:{bottom:[0,0]},className:"my-attrPopup-class"});i.map.map.on("click",this.config.id,function(e){var n=e.features[0].properties,o="";for(var a in n)o+="<div>".concat(a,": ").concat(n[a],"</div>");t.infoWindow.setHTML(o),t.infoWindow.setLngLat(e.lngLat).addTo(i.map.map)})}},{key:"addCustomPopup",value:function(t){var e=this;this.removePopup(),this.infoWindow=new SGMap.Popup({offset:{bottom:[0,0]},className:"my-customPopup-class"});i.map.map.on("click",this.config.id,function(n){var o=n.features[0].properties,a=t(o);e.infoWindow.setHTML(a),e.infoWindow.setLngLat(n.lngLat).addTo(i.map.map)})}},{key:"removePopup",value:function(){this.infoWindow&&this.infoWindow.remove()}}])}(),cesium:function(){return o(function n(o){e(this,n),this.type="layer",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.children=null,this.layerEntity=null,this.show=!0,this.event={},this.screenSpaceEventHandler=null,this.popup=null,this.popupContent=null,this.showPopupOnClick=!1,this.popupStyle=null,this.id=o.id,this.children=[],w(this.option,o),this.config=this.formatConfig(this.option);try{if("undefined"!=typeof Cesium){if(this.layerEntity=new Cesium.CustomDataSource(this.id),this.layerEntity.show=this.show,i&&i.map&&i.map.map){var a=i.map.map;a instanceof Cesium.Viewer?a.dataSources.add(this.layerEntity):a.entities&&(this.layerEntity=a.entities)}}else console.error("Cesium 未加载"),this.layerEntity={entities:[]}}catch(i){console.error("创建数据源失败:",i),this.layerEntity={entities:[]}}if(i&&i.map&&i.map.map){var r=N();this.popup=new r(i.map.map,{style:this.popupStyle})}},[{key:"formatConfig",value:function(i){return i}},{key:"addEntity",value:function(i){if(this.children.find(function(t){return t.id===i.id}))console.error("已存在同名图形: ".concat(i.id));else switch(this.children.push(i),i.type){case"polygon":this.handlePolygon(i);break;case"route":this.handleRoute(i);break;case"pointCloud":this.handlePointCloud(i);break;case"cluster":this.handleCluster(i);break;case"heatMap":this.handleHeatMap(i);break;default:i.graphic&&i.graphic instanceof Cesium.Entity?this.layerEntity.entities.add(i.graphic):i.graphic&&this.addGenericEntity(i)}}},{key:"handlePolygon",value:function(i){i.polygonEntity&&this.layerEntity.entities.add(i.polygonEntity),i.outlineEntity&&this.layerEntity.entities.add(i.outlineEntity),i.layer=this}},{key:"handleRoute",value:function(i){i.graphic&&setTimeout(function(){i.start()},100),i.layer=this}},{key:"handlePointCloud",value:function(t){if(console.log("处理点云:",t.id,t),t.layer=this,t.tileset&&i&&i.map&&i.map.map){var e=i.map.map;if(t.addedToScene){console.log("点云已标记为添加到场景");try{e.scene.primitives&&!e.scene.primitives.contains(t.tileset)?(console.log("重新添加点云到场景中"),e.scene.primitives.add(t.tileset),console.log("点云 tileset 已重新添加到场景:",t.id)):console.log("点云确实已在场景中")}catch(i){console.error("重新添加点云到场景失败:",i)}}else{console.log("点云尚未标记为已添加到场景");try{e.scene.primitives&&!e.scene.primitives.contains(t.tileset)?(console.log("将点云添加到场景中"),e.scene.primitives.add(t.tileset),t.addedToScene=!0,console.log("点云 tileset 已添加到场景:",t.id)):t.addedToScene?console.log("点云已标记为添加到场景"):console.log("点云已在场景中或场景不可用")}catch(i){console.error("添加点云到场景失败:",i)}}t.option.flyTo&&(console.log("计划执行点云飞行动画"),setTimeout(function(){t.flyTo()},100))}else console.log("点云缺少必要属性或地图不可用")}},{key:"handleCluster",value:function(t){if(console.log("处理集群:",t.id,t),t.layer=this,t.clusterDataSource&&i.map.map&&i.map.map.dataSources){for(var e=!1,n=0;n<i.map.map.dataSources.length;n++)if(i.map.map.dataSources.get(n).name===t.id){e=!0;break}e||i.map.map.dataSources.add(t.clusterDataSource)}t.option.position&&t.option.position.length>0&&setTimeout(function(){t.setPosition(t.option.position),t.flyTo({duration:2,pitch:-45,radiusMultiplier:3})},100)}},{key:"handleHeatMap",value:function(i){console.log("处理热力图:",i.id,i),i.flyTo()}},{key:"addGenericEntity",value:function(i){try{if(i.graphic.id&&i.graphic.position){var t=new Cesium.Entity(i.graphic);this.layerEntity.entities.add(t)}else console.warn("实体没有有效的 graphic 属性:",i)}catch(i){console.error("添加通用实体失败:",i)}}},{key:"removeEntity",value:function(i){var t=this.getEntity(i);if(t){switch(this.children=this.children.filter(function(i){return i.id!==t.id}),t.type){case"polygon":t.polygonEntity&&this.layerEntity.entities.remove(t.polygonEntity),t.outlineEntity&&this.layerEntity.entities.remove(t.outlineEntity);break;case"pointCloud":case"cluster":t.destroy&&t.destroy();break;default:t.graphic&&this.layerEntity.entities.remove(t.graphic)}t.destroy&&t.destroy()}}},{key:"getEntity",value:function(i){return this.children.find(function(t){return t.id===i})}},{key:"clearEntity",value:function(){var i=this;this.children.forEach(function(t){if("pointCloud"===t.type)t.destroy&&t.destroy();else if(t.destroy&&t.destroy(),t.graphic)try{i.layerEntity.entities.remove(t.graphic)}catch(i){console.warn("移除实体失败:",i)}}),this.children=[]}},{key:"destroy",value:function(){var t=this;if(this.clearEntity(),i&&i.map&&i.map.map){var e=i.map.map;if(e.dataSources&&"function"==typeof e.dataSources.remove)try{e.dataSources.remove(this.layerEntity)}catch(i){console.warn("移除数据源失败:",i)}}var n=i.map.layerList.findIndex(function(i){return i.id===t.id});n>-1&&i.map.layerList.splice(n,1)}},{key:"addPopupByAttr",value:function(){var t=this;this.children.forEach(function(i){i.addPopupByAttr&&i.addPopupByAttr()}),this.layerEntity&&i&&i.map&&i.map.map&&(this.screenSpaceEventHandler||(this.screenSpaceEventHandler=new Cesium.ScreenSpaceEventHandler(i.map.map.canvas)),this.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK),this.screenSpaceEventHandler.setInputAction(function(e){var n=i.map.map.scene.pick(e.position);if(n&&n.id){var o=n.id;if(t.layerEntity.entities.contains(o)){var a='<div style="max-height: 300px; overflow-y: auto;">',r=o.properties||{};for(var s in r)r.hasOwnProperty(s)&&(a+='\n <div style="color:#666;background:#ffffff;padding:4px 0;">'.concat(s+": "+r[s],"</div>\n "));(a+="</div>")&&t.popup.show({cartesian:o.position},a)}}},Cesium.ScreenSpaceEventType.LEFT_CLICK))}},{key:"addCustomPopup",value:function(t){var e=this;this.children.forEach(function(i){i.addCustomPopup&&i.addCustomPopup(t)}),this.layerEntity&&i&&i.map&&i.map.map&&(this.screenSpaceEventHandler||(this.screenSpaceEventHandler=new Cesium.ScreenSpaceEventHandler(i.map.map.canvas)),this.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK),this.screenSpaceEventHandler.setInputAction(function(n){var o=i.map.map.scene.pick(n.position);if(o&&o.id){var a=o.id;if(e.layerEntity.entities.contains(a)){var r=a.properties||{};try{var s=t(r);s&&e.popup.show({cartesian:a.position},s)}catch(i){console.error("生成自定义弹窗内容失败:",i)}}}},Cesium.ScreenSpaceEventType.LEFT_CLICK))}}])}()}[i.mapType]},T=function(){return o(function i(t){e(this,i),this.option=null,this.event={},this.graphic=null,this.event={}},[{key:"addPopupByAttr",value:function(){this.graphic.bindPopup(function(i){var t=i.graphic.attr;return mars3d.Util.getTemplateHtml({title:"详情",template:"all",attr:t})})}},{key:"addCustomPopup",value:function(i){var t=this;this.graphic.bindPopup(function(e){return C(t,void 0,void 0,u().m(function t(){var n;return u().w(function(t){for(;;)switch(t.n){case 0:if(!e.graphic.attr){t.n=2;break}return n=e.graphic.attr||{},t.n=1,i(n);case 1:return t.a(2,t.v);case 2:return t.a(2)}},t)}))},{offsetY:-20})}},{key:"flyTo",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.graphic.flyTo(i)}},{key:"destroy",value:function(){this.graphic.destroy()}},{key:"on",value:function(i,t){var e=this;if(this.off(i),"click"===i)this.event[i]=function(){t(e.option.data)};this.graphic.on(i,this.event[i])}},{key:"off",value:function(i){this.event[i]&&(this.graphic.off(i,this.event[i]),delete this.event[i])}}])}(),L=function(){return o(function i(t){e(this,i),this.infoWindow=null,this.hnMap=null,this.config=null,this.graphic=null,this.hnMap=t},[{key:"addPopupByAttr",value:function(){var i=this;this.infoWindow=new AMap.InfoWindow({offset:new AMap.Pixel(0,-30)});this.graphic.on("click",function(t){var e=i.config.extData.data,n="";for(var o in e)n+="<div>".concat(o,": ").concat(e[o],"</div>");i.infoWindow.setContent(n),i.infoWindow.open(i.hnMap.map.map,t.lnglat)})}},{key:"addCustomPopup",value:function(i){var t=this;this.infoWindow=new AMap.InfoWindow({offset:new AMap.Pixel(0,-30)});this.graphic.on("click",function(e){var n=t.config.extData.data,o=i(n);t.infoWindow.setContent(o),t.infoWindow.open(t.hnMap.map.map,e.lnglat)})}},{key:"flyTo",value:function(){if(this.graphic.getCenter)this.hnMap.map.map.setCenter(this.graphic.getCenter());else if(this.graphic.getPosition)this.hnMap.map.map.setCenter(this.graphic.getPosition());else if(this.graphic.getBounds){var i=this.graphic.getBounds();this.hnMap.map.map.setBounds(i)}}},{key:"destroy",value:function(){this.graphic.remove()}}])}(),_=function(){return o(function i(t){e(this,i),this.event={},this.infoWindow=null,this.hnMap=null,this.config=null,this.graphic=null,this.option=null,this.type=null,this.show=!1,this.id=null,this.hnMap=t,this.event={},this.show=!1},[{key:"addPopupByAttr",value:function(){var i=this;this.removePopup(),this.infoWindow=new SGMap.Popup({offset:{bottom:[0,0]},className:"my-popupAttr-class"});this.hnMap.map.map.on("click",this.id,function(t){var e=i.hnMap.map.map.queryRenderedFeatures(t.point);if(e.length>0&&e[0].layer.id===i.id){var n=i.option.data,o="";for(var a in n)o+="<div>".concat(a,": ").concat(n[a],"</div>");i.infoWindow.setHTML(o),i.infoWindow.setLngLat(t.lngLat).addTo(i.hnMap.map.map)}})}},{key:"addCustomPopup",value:function(i){var t=this;this.removePopup(),this.infoWindow=new SGMap.Popup({offset:{bottom:[0,0]},className:"my-customPopup-class"});this.hnMap.map.map.on("click",this.id,function(e){var n=t.hnMap.map.map.queryRenderedFeatures(e.point);if(n.length>0&&n[0].layer.id===t.id){var o=t.option.data,a=i(o);t.infoWindow.setHTML(a),t.infoWindow.setLngLat(e.lngLat).addTo(t.hnMap.map.map)}})}},{key:"removePopup",value:function(){this.infoWindow&&this.infoWindow.remove()}},{key:"flyTo",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};w(this.option,i);var t,e=this.hnMap.map.map.getZoom();if(this.option.center)t=this.option.center;else{var n=this.type||"";t=["line","dash","flicker","flow","arrow","mapLabel","rectangle"].includes(n)?this.option.position[0]:"route"===n?[this.option.position[0][0],this.option.position[0][1]]:"polygon"===n?this.option.position[0][0]:this.option.position}this.hnMap.map.map.flyTo({duration:1e3,zoom:this.option.zoom||e,center:t})}},{key:"destroy",value:function(){this.hnMap.map.map.removeLayer(this.config.id),this.hnMap.map.map.removeSource(this.config.id)}},{key:"on",value:function(i,t){var e=this;if(this.off(i),"click"===i)this.event[i]=function(i){var n=e.hnMap.map.map.queryRenderedFeatures(i.point);n.length>0&&n[0].layer.id===e.id&&t(e.option.data)};this.hnMap.map.map.on(i,this.id,this.event[i])}},{key:"off",value:function(i){this.event[i]&&(this.hnMap.map.map.off(i,this.id,this.event[i]),delete this.event[i])}}])}(),x=function(){return o(function i(t){e(this,i),this.option=null,this.event={},this.graphic=null,this.hnMap=null,this.screenSpaceEventHandler=null,this.popup=null,this.popupContent=null,this.showPopupOnClick=!1,this.popupStyle=null,this.hnMap=t,this.event={},t&&t.map&&t.map.map},[{key:"setPopupStyle",value:function(i){if(this.popupStyle=i,this.popup&&this.hnMap&&this.hnMap.map&&this.hnMap.map.map){this.popup.destroy();var t=N(this.hnMap);this.popup=new t(this.hnMap.map.map,{style:this.popupStyle})}}},{key:"addPopupByAttr",value:function(){if(this.showPopupOnClick=!0,this.option&&this.option.data){var i='<div style="background:#ffffff;color:#666;padding:12px;max-height: 300px; overflow-y: auto;">';for(var t in this.option.data)this.option.data.hasOwnProperty(t)&&(i+="\n <div>".concat(t+":"+this.option.data[t],"</div>\n \n "));i+="</div>",this.popupContent=i,this.bindClickEvent()}}},{key:"addCustomPopup",value:function(i){var t=this;this.showPopupOnClick=!0;var e=this.option&&this.option.data?this.option.data:{};try{var n=i(e);n instanceof Promise?n.then(function(i){t.popupContent=i,t.bindClickEvent()}).catch(function(i){console.error("生成自定义弹窗DOM失败:",i)}):(this.popupContent=n,this.bindClickEvent())}catch(i){console.error("生成自定义弹窗DOM失败:",i)}}},{key:"bindClickEvent",value:function(){var i,t,e=this;this.screenSpaceEventHandler||this.graphic&&(null===(t=null===(i=this.hnMap)||void 0===i?void 0:i.map)||void 0===t?void 0:t.map)&&(this.screenSpaceEventHandler=new Cesium.ScreenSpaceEventHandler(this.hnMap.map.map.canvas),this.screenSpaceEventHandler.setInputAction(function(i){var t=e.hnMap.map.map.scene.pick(i.position);t&&t.id===e.graphic&&e.showPopupAtPosition(i.position)},Cesium.ScreenSpaceEventType.LEFT_CLICK))}},{key:"showPopupAtPosition",value:function(i){if(this.popupContent){var t=this.hnMap.map.map.camera.getPickRay(i);if(t){var e=this.hnMap.map.map.scene.globe.pick(t,this.hnMap.map.map.scene);if(e){var n=N(this.hnMap);this.popup=new n(this.hnMap.map.map,{style:this.popupStyle}),this.popup.show({cartesian:e},this.popupContent)}}}}},{key:"flyTo",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.graphic&&this.hnMap&&this.hnMap.map.map)try{var t=null;if(this.graphic.polyline&&this.graphic.polyline.positions){var e=this.graphic.polyline.positions.getValue(Cesium.JulianDate.now());if(console.log("线实体的坐标:",e),e&&e.length>0){var n=Cesium.BoundingSphere.fromPoints(e),o=i.radiusMultiplier||3;return void this.hnMap.map.map.camera.flyToBoundingSphere(n,{duration:i.duration||2,offset:new Cesium.HeadingPitchRange(Cesium.Math.toRadians(i.heading||0),Cesium.Math.toRadians(i.pitch||-90),n.radius*o)})}}else if(this.graphic.polygon&&this.graphic.polygon.hierarchy){var a=this.graphic.polygon.hierarchy.getValue(Cesium.JulianDate.now());if(a&&a.positions){var r=Cesium.BoundingSphere.fromPoints(a.positions),s=i.radiusMultiplier||3;return void this.hnMap.map.map.camera.flyToBoundingSphere(r,{duration:i.duration||2,offset:new Cesium.HeadingPitchRange(Cesium.Math.toRadians(i.heading||0),Cesium.Math.toRadians(i.pitch||-90),r.radius*s)})}}else if(this.graphic.rectangle&&this.graphic.rectangle.coordinates){if(t=this.graphic.rectangle.coordinates.getValue(Cesium.JulianDate.now())){var l=t.west-.001,c=t.south-.001,p=t.east+.001,u=t.north+.001,h=new Cesium.Rectangle(l,c,p,u);return void this.hnMap.map.map.camera.flyTo({destination:h,duration:i.duration||2,orientation:{heading:Cesium.Math.toRadians(i.heading||0),pitch:Cesium.Math.toRadians(i.pitch||-90),roll:Cesium.Math.toRadians(i.roll||0)}})}}else if(this.graphic.position&&(t=this.graphic.position.getValue(Cesium.JulianDate.now()))){var f=Cesium.Cartographic.fromCartesian(t),d=i.height||1e3,m=Math.max(f.height+d,d),y=Cesium.Cartesian3.fromRadians(f.longitude,f.latitude,m);return void this.hnMap.map.map.camera.flyTo({destination:y,duration:i.duration||2,orientation:{heading:Cesium.Math.toRadians(i.heading||0),pitch:Cesium.Math.toRadians(i.pitch||-90),roll:Cesium.Math.toRadians(i.roll||0)}})}console.warn("无法确定实体类型或实体没有有效的位置信息",this.graphic)}catch(i){console.error("飞行定位失败:",i)}}},{key:"destroy",value:function(){if(this.offAll(),this.graphic&&this.hnMap&&this.hnMap.map)try{this.hnMap.map.entities&&this.hnMap.map.entities.remove(this.graphic),this.graphic.dataSource&&this.graphic.dataSource.entities.remove(this.graphic),this.graphic=null}catch(i){console.error("销毁实体失败:",i)}}},{key:"on",value:function(i,t){var e=this;if(this.off(i),this.graphic&&this.hnMap&&this.hnMap.map&&this.hnMap.map.map&&(this.screenSpaceEventHandler||(this.screenSpaceEventHandler=new Cesium.ScreenSpaceEventHandler(this.hnMap.map.map.canvas)),"click"===i))this.event[i]=function(i){var n=e.hnMap.map.map.scene.pick(i.position);if(n&&n.id===e.graphic){var o=e.option&&e.option.data?e.option.data:{};t(o)}},this.screenSpaceEventHandler.setInputAction(this.event[i],Cesium.ScreenSpaceEventType.LEFT_CLICK)}},{key:"off",value:function(i){if(this.event[i]&&this.screenSpaceEventHandler){try{if("click"===i)this.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK)}catch(i){console.warn("移除事件监听失败:",i)}delete this.event[i]}}},{key:"offAll",value:function(){var i=this;if(Object.keys(this.event).forEach(function(t){i.off(t)}),this.screenSpaceEventHandler){try{this.screenSpaceEventHandler.destroy()}catch(i){console.warn("销毁屏幕空间处理器失败:",i)}this.screenSpaceEventHandler=null}}}])}(),A={center:0,left:1,right:-1},I={center:0,top:-1,bottom:1},R={center:0,left:1,right:-1},B={center:0,top:-1,bottom:1},H=function(i){var n={id:"",position:[],color:"#ff0000",opacity:1,outline:!1,outlineWidth:2,outlineColor:"#ffffff",outlineOpacity:1,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null};return{mars3d:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="polygon",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.PolygonEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=b(i.distanceDisplayCondition_far),e=b(i.distanceDisplayCondition_near);return{id:i.id,positions:i.position,style:{color:i.color,opacity:i.opacity,outline:i.outline,outlineColor:i.outlineColor,outlineWidth:i.outlineWidth,outlineOpacity:i.outlineOpacity,scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e,clampToGround:!(i.position[0]&&i.position[0][2])},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(T),gaode:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Polygon(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{path:k(i.position),fillColor:i.color,fillOpacity:i.opacity,strokeColor:i.outlineColor,strokeOpacity:i.outline?i.outlineOpacity:0,strokeWeight:i.outline?i.outlineWidth:0,extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config),this.graphic.setPath(this.config.path)}}])}(L),siji:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="polygon",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{id:i.id,type:"fill",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Polygon",coordinates:D(i.position)}}]}},paint:{"fill-color":i.color,"fill-opacity":Number(i.opacity),"fill-antialias":!0,"fill-outline-color":i.outlineColor}}}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option);var e=i.map.map.getSource(this.config.id);for(var n in e.setData({type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Polygon",coordinates:D(this.option.position)}}]}),this.config)if(this.config.hasOwnProperty(n)&&"paint"==n)for(var o in this.config[n])this.config[n].hasOwnProperty(o)&&i.map.map.setPaintProperty(this.config.id,o,this.config[n][o])}}])}(_),cesium:function(a){function c(o){var a;return e(this,c),(a=t(this,c,[i])).type="polygon",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.polygonEntity=null,a.outlineEntity=null,a.show=!0,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=a.createPolygonEntity(),a}return l(c,a),o(c,[{key:"normalizePositions",value:function(i){var t=function(i){return Array.isArray(i)&&i.length>0&&Array.isArray(i[0])?i[0].length>=2&&"number"==typeof i[0][0]||"string"==typeof i[0][0]?i:t(i[0]):i};return t(i)}},{key:"formatConfig",value:function(i){var t=this.normalizePositions(i.position),e=t.map(function(i){if(Array.isArray(i)&&i.length>=2){var t=i.length>=3?i[2]:0;return Cesium.Cartesian3.fromDegrees(i[0],i[1],t)}return i}),n=!1;t[0]&&3===t[0].length?n=!0:!t[0]||t[0][2];var o=void 0;if(i.distanceDisplayCondition){var a=b(i.distanceDisplayCondition_far),r=b(i.distanceDisplayCondition_near);o=new Cesium.DistanceDisplayCondition(r,a)}var s=new Cesium.PolygonHierarchy(e),l=Number(i.outlineWidth),c=i.outline&&l>0;return{id:i.id,polygon:{hierarchy:s,material:Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity)),outline:c&&l<=1,outlineColor:c&&l<=1?Cesium.Color.fromCssColorString(i.outlineColor).withAlpha(Number(i.outlineOpacity)):Cesium.Color.TRANSPARENT,outlineWidth:1,height:0,perPositionHeight:n,clampToGround:!(t[0]&&t[0][2]),distanceDisplayCondition:o,classificationType:Cesium.ClassificationType.BOTH},properties:i.data||{}}}},{key:"convertPositions",value:function(i){return this.normalizePositions(i).map(function(i){if(2===i.length)return Cesium.Cartesian3.fromDegrees(i[0],i[1],0);if(3===i.length)return Cesium.Cartesian3.fromDegrees(i[0],i[1],i[2]);throw new Error("Invalid position format")})}},{key:"createPolygonEntity",value:function(){this.polygonEntity=new Cesium.Entity(this.config),this.polygonEntity.customData=this.option.data;var i=Number(this.option.outlineWidth);return this.option.outline&&i>1&&this.createOutlineEntity(),this.polygonEntity}},{key:"createOutlineEntity",value:function(){if(this.option.outline){var i=Number(this.option.outlineWidth);if(!(i<=0)){var t=this.convertPositions(this.option.position),e=[].concat(m(t),[t[0]]);this.outlineEntity=new Cesium.Entity({polyline:{positions:e,width:i,material:new Cesium.ColorMaterialProperty(Cesium.Color.fromCssColorString(this.option.outlineColor).withAlpha(Number(this.option.outlineOpacity))),clampToGround:this.option.position[0]&&!this.option.position[0][2],classificationType:Cesium.ClassificationType.BOTH,distanceDisplayCondition:this.polygonEntity.polygon.distanceDisplayCondition},id:"".concat(this.id,"_outline")})}}}},{key:"set",value:function(t){if(w(this.option,t),this.polygonEntity){var e=this.convertPositions(this.option.position),n=new Cesium.PolygonHierarchy(e);this.polygonEntity.polygon.hierarchy=n,this.polygonEntity.polygon.material=new Cesium.ColorMaterialProperty(Cesium.Color.fromCssColorString(this.option.color).withAlpha(Number(this.option.opacity)));var o=Number(this.option.outlineWidth);if(this.option.outline&&o>0)if(o<=1)this.polygonEntity.polygon.outline=!0,this.polygonEntity.polygon.outlineColor=Cesium.Color.fromCssColorString(this.option.outlineColor).withAlpha(Number(this.option.outlineOpacity)),this.polygonEntity.polygon.outlineWidth=1,this.outlineEntity&&(i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.outlineEntity),this.outlineEntity=null);else if(this.polygonEntity.polygon.outline=!1,this.outlineEntity){var a=this.convertPositions(this.option.position),r=[].concat(m(a),[a[0]]);this.outlineEntity.polyline.positions=r,this.outlineEntity.polyline.width=o,this.outlineEntity.polyline.material=new Cesium.ColorMaterialProperty(Cesium.Color.fromCssColorString(this.option.outlineColor).withAlpha(Number(this.option.outlineOpacity)))}else this.createOutlineEntity(),i.map.map.entities.add(this.outlineEntity);else this.polygonEntity.polygon.outline=!1,this.outlineEntity&&(i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.outlineEntity),this.outlineEntity=null);var s=!1,l=!1,c=this.normalizePositions(this.option.position);if(c[0]&&3===c[0].length?s=!0:l=c[0]&&!c[0][2],this.polygonEntity.polygon.height=0,this.polygonEntity.polygon.perPositionHeight=new Cesium.ConstantProperty(s),this.polygonEntity.polygon.clampToGround=l,this.option.distanceDisplayCondition){var p=b(this.option.distanceDisplayCondition_far),u=b(this.option.distanceDisplayCondition_near);void 0!==u&&void 0!==p?(this.polygonEntity.polygon.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(u,p),this.outlineEntity&&(this.outlineEntity.polyline.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(u,p))):(this.polygonEntity.polygon.distanceDisplayCondition=void 0,this.outlineEntity&&(this.outlineEntity.polyline.distanceDisplayCondition=void 0))}else this.polygonEntity.polygon.distanceDisplayCondition=void 0,this.outlineEntity&&(this.outlineEntity.polyline.distanceDisplayCondition=void 0);this.polygonEntity.customData=this.option.data}}},{key:"destroy",value:function(){var t,e,n,o,a;this.outlineEntity&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.outlineEntity),this.polygonEntity&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.polygonEntity),this.polygonEntity=null,this.outlineEntity=null,this.graphic=null,(t=c,e="destroy",n=this,a=r(s(1&(o=3)?t.prototype:t),e,n),2&o&&"function"==typeof a?function(i){return a.apply(n,i)}:a)([])}}])}(x)}[i.mapType]},F=function(i){var t={id:"",position:[],allowDrillPick:!0,max:null,min:null,radius:25,minOpacity:.1,maxOpacity:.8,opacity:1,blur:.85,gradient:{.4:"blue",.6:"green",.8:"yellow",.9:"red"},scaleByDistance:!1,clampToGround:!0,data:null},n=function(){return o(function i(n){e(this,i),this.type="heatMap",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.id=n.id,w(this.option,n),this.config=this.formatConfig(this.option),this.layerEntity=new mars3d.layer.HeatLayer(JSON.parse(JSON.stringify(this.config)))},[{key:"formatConfig",value:function(i){return{id:i.id,positions:i.position,allowDrillPick:i.allowDrillPick,max:i.max,min:i.min,heatStyle:{radius:i.radius,minOpacity:i.minOpacity,maxOpacity:i.maxOpacity,blur:i.blur,gradient:i.gradient},style:{opacity:i.opacity,scaleByDistance:i.scaleByDistance,clampToGround:i.clampToGround},redrawZoom:!0,flyTo:!0,attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.layerEntity.setOptions(this.config)}},{key:"destroy",value:function(){var t=this;this.layerEntity.remove(!0),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"flyTo",value:function(){this.layerEntity.flyTo()}},{key:"clear",value:function(){this.layerEntity.clear()}},{key:"setPosition",value:function(i){w(this.option,{position:i}),this.layerEntity.setPositions(i)}},{key:"show",value:function(){this.layerEntity.show=!0}},{key:"hide",value:function(){this.layerEntity.show=!1}}])}(),a=function(){return o(function n(o){e(this,n),this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.id=o.id,w(this.option,o),this.config=this.formatConfig(this.option),this.layerEntity=new AMap.HeatMap(i.map.map,this.config),this.layerEntity.setDataSet({data:this.config.data,max:this.config.max,min:this.config.min})},[{key:"formatConfig",value:function(i){var t=k(i.position.map(function(i){return{lng:i.lng,lat:i.lat,count:i.value}}));return{id:i.id,radius:i.radius,max:i.max,min:i.min,opacity:[i.minOpacity,i.maxOpacity],gradient:i.gradient,data:t,extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.layerEntity.setOptions(this.config)}},{key:"destroy",value:function(){var t=this;this.layerEntity.setMap(null),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"flyTo",value:function(){var t=0,e=0;this.config.data.map(function(i){t+=i.lng,e+=i.lat});var n=t/this.config.data.length,o=e/this.config.data.length;i.map.map.setCenter([n,o])}}])}(),r=function(){return o(function n(o){e(this,n),this.type="heatMap",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config_heatmap=null,this.config_point=null,this.layerEntity=null,this.id=o.id,w(this.option,o),i.map.map.addSource("themeData",{type:"geojson",data:{type:"FeatureCollection",features:this.option.position.map(function(i){return{type:"Feature",geometry:{type:"Point",coordinates:[i.lng,i.lat]}}})}}),this.config_heatmap=this.formatConfig_heatmap(this.option),this.config_point=this.formatConfig_point(this.option)},[{key:"formatConfig_heatmap",value:function(i){return{id:i.id,type:"heatmap",source:"themeData",maxzoom:17,paint:{"heatmap-weight":["interpolate",["linear"],["get","value"],0,0,150,1.5],"heatmap-intensity":["interpolate",["linear"],["zoom"],0,1,17,1],"heatmap-color":["interpolate",["linear"],["heatmap-density"],0,"rgba(255, 0, 0, 0)",.4,i.gradient[.4],.6,i.gradient[.6],.8,i.gradient[.8],.9,i.gradient[.9]],"heatmap-radius":["interpolate",["linear"],["zoom"],0,5,17,50],"heatmap-opacity":["interpolate",["linear"],["zoom"],5,i.maxOpacity,17,i.minOpacity]}}}},{key:"formatConfig_point",value:function(i){return{id:"earthquakes-point",type:"circle",source:"themeData",minzoom:17,paint:{"circle-radius":["interpolate",["linear"],["zoom"],5,1,20,12],"circle-color":"rgb(255, 148, 0)","circle-stroke-color":"white","circle-stroke-width":1,"circle-opacity":["interpolate",["linear"],["zoom"],9,0,20,1]}}}}])}(),s=function(){return o(function i(n){e(this,i),this.type="heatMap",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.entities=[],this.dataSource=null,this.geometryInstances=[],this.primitive=null,this.screenSpaceEventHandler=null,this.id=n.id,w(this.option,n),this.config=this.formatConfig(this.option),this.dataSource=new Cesium.CustomDataSource(this.id),this.dataSource.entities.removeAll(),this.initHeatMap()},[{key:"formatConfig",value:function(i){return{id:i.id,positions:i.position,allowDrillPick:i.allowDrillPick,max:i.max,min:i.min,radius:i.radius,minOpacity:i.minOpacity,maxOpacity:i.maxOpacity,opacity:i.opacity,blur:i.blur,gradient:i.gradient||t.gradient,scaleByDistance:i.scaleByDistance,clampToGround:this.shouldClampToGround(i.position),data:i.data}}},{key:"shouldClampToGround",value:function(i){if(!i||0===i.length)return!0;var t,e=function(i,t){var e="undefined"!=typeof Symbol&&i[Symbol.iterator]||i["@@iterator"];if(!e){if(Array.isArray(i)||(e=v(i))||t&&i&&"number"==typeof i.length){e&&(i=e);var n=0,o=function(){};return{s:o,n:function(){return n>=i.length?{done:!0}:{done:!1,value:i[n++]}},e:function(i){throw i},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,r=!0,s=!1;return{s:function(){e=e.call(i)},n:function(){var i=e.next();return r=i.done,i},e:function(i){s=!0,a=i},f:function(){try{r||null==e.return||e.return()}finally{if(s)throw a}}}}(i);try{for(e.s();!(t=e.n()).done;){var n=t.value;if(n.alt&&0!==n.alt)return!1}}catch(i){e.e(i)}finally{e.f()}return!0}},{key:"initHeatMap",value:function(){this.option.position&&Array.isArray(this.option.position)?(this.clearHeatMap(),this.calculateValueRange(),this.createHeatMapPrimitive()):console.warn("热力图数据为空")}},{key:"calculateValueRange",value:function(){if(null===this.option.min||null===this.option.max){var i=this.option.position.map(function(i){return i.value||0});this.option.min=Math.min.apply(Math,m(i)),this.option.max=Math.max.apply(Math,m(i)),this.option.max===this.option.min&&(this.option.max=this.option.min+1)}}},{key:"createHeatMapPrimitive",value:function(){this.createDataSourceEntities(),this.createVisualHeatMap()}},{key:"createDataSourceEntities",value:function(){var t=this;if(this.option.position.forEach(function(i,e){var n=t.normalizeValue(i.value||0),o={id:"".concat(t.id,"_heat_point_").concat(e),position:Cesium.Cartesian3.fromDegrees(i.lng,i.lat,i.alt||0),properties:Object.assign(Object.assign({id:i.id||e,value:i.value||0,normalizedValue:n},i.data),t.option.data)};t.option.allowDrillPick&&(o.point={pixelSize:1,color:Cesium.Color.TRANSPARENT,outlineColor:Cesium.Color.TRANSPARENT,outlineWidth:0,heightReference:i.alt?Cesium.HeightReference.NONE:Cesium.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY});var a=t.dataSource.entities.add(o);t.entities.push(a)}),i.map.map&&i.map.map.dataSources){var e=!1;i.map.map.dataSources._dataSources.forEach(function(i){i.name===t.id&&(e=!0)}),e||(i.map.map.dataSources.add(this.dataSource),console.log("热力图数据源 ".concat(this.id," 已添加到地图")))}}},{key:"createVisualHeatMap",value:function(){this.createHeatMapPoints()}},{key:"createHeatMapPoints",value:function(){var t=this;this.primitive&&i.map.map.scene&&(i.map.map.scene.primitives.remove(this.primitive),this.primitive=null);var e=[];this.option.position.forEach(function(i){var n=i.value||0,o=t.normalizeValue(n),a=t.calculateColor(o),r=t.calculateSize(o),s=new Cesium.PointPrimitive({position:Cesium.Cartesian3.fromDegrees(i.lng,i.lat,i.alt||0),pixelSize:r,color:a,outlineColor:Cesium.Color.TRANSPARENT,outlineWidth:0,scaleByDistance:t.option.scaleByDistance?new Cesium.NearFarScalar(150,2,15e6,.5):void 0,heightReference:i.alt?Cesium.HeightReference.NONE:Cesium.HeightReference.CLAMP_TO_GROUND});e.push(s)}),e.length>0&&(this.primitive=new Cesium.PointPrimitiveCollection({blendOption:Cesium.BlendOption.OPAQUE_AND_TRANSLUCENT}),e.forEach(function(i){t.primitive.add(i)}),i.map.map.scene&&(i.map.map.scene.primitives.add(this.primitive),console.log("热力图可视化 ".concat(this.id," 已添加到场景"))))}},{key:"normalizeValue",value:function(i){var t=this.option.max-this.option.min;return 0===t?0:Math.max(0,Math.min(1,(i-this.option.min)/t))}},{key:"calculateColor",value:function(i){var e=this.option.gradient||t.gradient;return i<=.4?this.getColorFromString(e[.4]||"blue").withAlpha(this.option.minOpacity+i*(this.option.maxOpacity-this.option.minOpacity)):i<=.6?this.getColorFromString(e[.6]||"green").withAlpha(this.option.minOpacity+i*(this.option.maxOpacity-this.option.minOpacity)):i<=.8?this.getColorFromString(e[.8]||"yellow").withAlpha(this.option.minOpacity+i*(this.option.maxOpacity-this.option.minOpacity)):this.getColorFromString(e[.9]||"red").withAlpha(this.option.minOpacity+i*(this.option.maxOpacity-this.option.minOpacity))}},{key:"getColorFromString",value:function(i){var t={blue:Cesium.Color.BLUE,green:Cesium.Color.GREEN,yellow:Cesium.Color.YELLOW,red:Cesium.Color.RED,cyan:Cesium.Color.CYAN,magenta:Cesium.Color.MAGENTA,white:Cesium.Color.WHITE,black:Cesium.Color.BLACK};if(t[i.toLowerCase()])return t[i.toLowerCase()];if(i.startsWith("#"))try{return Cesium.Color.fromCssColorString(i)}catch(t){return console.warn("无法解析颜色: ".concat(i,",使用默认颜色")),Cesium.Color.BLUE}if(i.includes("rgb"))try{return Cesium.Color.fromCssColorString(i)}catch(t){return console.warn("无法解析颜色: ".concat(i,",使用默认颜色")),Cesium.Color.BLUE}return Cesium.Color.BLUE}},{key:"calculateSize",value:function(i){var t=this.option.radius,e=2*t;return Math.max(5,t+i*(e-t))}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.initHeatMap()}},{key:"destroy",value:function(){if(this.clearHeatMap(),this.dataSource&&i.map.map&&i.map.map.dataSources)try{i.map.map.dataSources.remove(this.dataSource,!0)}catch(i){console.warn("移除数据源失败:",i)}this.screenSpaceEventHandler&&(this.screenSpaceEventHandler.destroy(),this.screenSpaceEventHandler=null)}},{key:"clearHeatMap",value:function(){this.primitive&&i.map.map.scene&&(i.map.map.scene.primitives.remove(this.primitive),this.primitive=null),this.geometryInstances=[],this.dataSource&&this.dataSource.entities.removeAll(),this.entities=[]}},{key:"flyTo",value:function(){if(this.option.position&&0!==this.option.position.length&&i.map.map){var t=this.option.position.map(function(i){return Cesium.Cartesian3.fromDegrees(i.lng,i.lat,i.alt||0)});if(1===t.length)i.map.map.camera.flyTo({destination:t[0],duration:2,orientation:{heading:0,pitch:Cesium.Math.toRadians(-45),roll:0}});else{var e=Cesium.BoundingSphere.fromPoints(t);i.map.map.camera.flyToBoundingSphere(e,{duration:2,offset:new Cesium.HeadingPitchRange(0,Cesium.Math.toRadians(-45),2*e.radius)})}}}},{key:"clear",value:function(){this.clearHeatMap()}},{key:"setPosition",value:function(i){w(this.option,{position:i}),this.initHeatMap()}},{key:"show",value:function(){this.dataSource&&(this.dataSource.show=!0),this.primitive&&(this.primitive.show=!0)}},{key:"hide",value:function(){this.dataSource&&(this.dataSource.show=!1),this.primitive&&(this.primitive.show=!1)}},{key:"addPopupByAttr",value:function(){var t=this;i.map.map&&!this.screenSpaceEventHandler&&(this.screenSpaceEventHandler=new Cesium.ScreenSpaceEventHandler(i.map.map.canvas),this.screenSpaceEventHandler.setInputAction(function(e){var n=i.map.map.scene.pick(e.position);if(n&&n.id&&n.id.properties){var o=n.id.properties,a={};if("function"==typeof o.getValue){var r=o.getValue(Cesium.JulianDate.now());r&&Object.assign(a,r)}t.showPopup(a,e.position)}},Cesium.ScreenSpaceEventType.LEFT_CLICK))}},{key:"showPopup",value:function(t,e){console.log("热力图弹窗数据:",t),i.map.map&&i.map.map.selectedEntity&&(i.map.map.selectedEntity=null)}},{key:"addCustomPopup",value:function(i){this.addPopupByAttr()}}])}();return{mars3d:n,gaode:a,siji:r,cesium:s}[i.mapType]},W={type:"FeatureCollection",name:"",crs:{},features:[{type:"Feature",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[]]]}}]},z=function(){function i(t,n,o,a){if(e(this,i),this.id=null,this.option=null,this.mapType=null,this.map=null,this.Layer=null,this.Point=null,this.NumPoint=null,this.ImagePoint=null,this.DivPoint=null,this.Label=null,this.Line=null,this.Circle=null,this.Rectangle=null,this.Polygon=null,this.Route=null,this.HeatMap=null,this.Cluster=null,this.PointCloud=null,this.GeoJson=null,!i.allowConstruction)throw new Error("请使用 HnMap.create() 创建实例");this.id=t,this.option=n,this.mapType=o,this.map=a}return o(i,[{key:"initModules",value:function(){var i,n,a,r,s,c;this.Layer=M(this),this.Point=(i=this,n={id:"",position:[],color:"#ffffff",opacity:1,size:6,text:"",fontSize:12,fontColor:"#ffffff",fontOpacity:1,fontOffset:[0,0],outline:!1,outlineColor:"#ffffff",outlineWidth:20,outlineOpacity:.5,textOutline:!1,textOutlineColor:"#000000",textOutlineOpacity:.6,textOutlineWidth:2,textBackgroundColor:"",textBackgroundOpacity:.5,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="point",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.PointEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=b(i.distanceDisplayCondition_far),e=b(i.distanceDisplayCondition_near);return{id:i.id,position:i.position,style:{color:i.color,opacity:i.opacity,pixelSize:i.size,outline:i.outline,outlineColor:i.outlineColor,outlineWidth:i.outlineWidth,outlineOpacity:i.outlineOpacity,clampToGround:!i.position[2],scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e,label:{text:i.text,font_size:i.fontSize,color:i.fontColor,opacity:i.fontOpacity,outline:i.textOutline,outlineColor:i.textOutlineColor,outlineOpacity:i.textOutlineOpacity,outlineWidth:i.textOutlineWidth,background:!!i.textBackgroundColor,backgroundColor:i.textBackgroundColor,backgroundOpacity:i.textBackgroundOpacity,pixelOffset:i.fontOffset,scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e}},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(T),r=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.CircleMarker(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{center:k(i.position),radius:i.size/2,strokeColor:i.outlineColor,strokeOpacity:i.outlineOpacity,strokeWeight:i.outlineWidth,fillColor:i.color,fillOpacity:i.opacity,extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config),this.graphic.setCenter(this.config.center)}}])}(L),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="point",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{id:i.id,type:"circle",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:D(i.position)},properties:Object.assign({},i.data)}]}},paint:{"circle-opacity":Number(i.opacity),"circle-radius":Number(i.size),"circle-color":i.color,"circle-stroke-color":i.outline?i.outlineColor:"transparent","circle-stroke-width":i.outline?Number(i.outlineWidth):0,"circle-stroke-opacity":i.outline?Number(i.outlineOpacity):1}}}},{key:"pixelOffsetToTextOffset",value:function(i,t){return[i[0]/t,i[1]/t]}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option);var e=i.map.map.getSource(this.config.id);for(var n in e.setData({type:"FeatureCollection",features:[{type:"Feature",properties:{name:this.option.text},geometry:{type:"Point",coordinates:D(this.option.position)}}]}),this.config)if(this.config.hasOwnProperty(n)&&"paint"==n)for(var o in this.config[n])this.config[n].hasOwnProperty(o)&&i.map.map.setPaintProperty(this.config.id,o,"circle-opacity"==o||"circle-radius"==o||"circle-stroke-opacity"==o||"circle-stroke-width"==o||"text-opacity"==o?Number(this.config[n][o]):this.config[n][o])}}])}(_),c=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="point",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a.graphic.userData={type:"point",originalData:a.option.data||{}},a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=Cesium.Cartesian3.fromDegrees(Number(i.position[0]),Number(i.position[1]),Number(i.position[2])||0),e={id:i.id,position:t,point:{pixelSize:Number(i.size)||10,color:Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity)||1),outlineColor:Cesium.Color.fromCssColorString(i.outlineColor||"#ffffff").withAlpha(Number(i.outlineOpacity)||1),outlineWidth:i.outline?Number(i.outlineWidth)||1:0,scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0,show:!0,clampToGround:!i.position[2]},label:{text:i.text,font:"".concat(i.fontWeight||"normal"," ").concat(Number(i.fontSize),"px ").concat(i.fontFamily||"sans-serif"),fillColor:Cesium.Color.fromCssColorString(i.fontColor).withAlpha(Number(i.fontOpacity)||1),style:Cesium.LabelStyle.FILL_AND_OUTLINE,outlineColor:Cesium.Color.fromCssColorString(i.textOutlineColor||"#ffffff").withAlpha(Number(i.textOutlineOpacity)||1),outlineWidth:i.textOutline?i.textOutlineWidth:0,pixelOffset:new Cesium.Cartesian2(Number(i.fontOffset[0])||0,Number(i.fontOffset[1])||0),showBackground:!!i.textBackgroundColor,backgroundColor:i.textBackgroundColor?Cesium.Color.fromCssColorString(i.textBackgroundColor).withAlpha(Number(i.textBackgroundOpacity)||1):Cesium.Color.BLACK.withAlpha(.5),show:!0,horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,clampToGround:!i.position[2],disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:Cesium.HeightReference.NONE,scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0},properties:i.data||{}};if(i.distanceDisplayCondition){var n=b(i.distanceDisplayCondition_near),o=b(i.distanceDisplayCondition_far);e.point.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o)}return e}},{key:"set",value:function(i){if(w(this.option,i),console.log(i,"====修改====="),this.graphic){if(void 0!==i.position&&(this.graphic.position=Cesium.Cartesian3.fromDegrees(Number(i.position[0]),Number(i.position[1]),Number(i.position[2])||0)),this.graphic.point){var t=this.graphic.point;void 0!==i.size&&(t.pixelSize=i.size),void 0===i.color&&void 0===i.opacity||(t.color=Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity))),i.outline?(t.outlineWidth=i.outline?i.outlineWidth:0,t.outlineColor=Cesium.Color.fromCssColorString(i.outlineColor).withAlpha(Number(i.outlineOpacity))):t.outlineWidth=0,i.scaleByDistance&&(t.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1))}if(this.graphic.label){var e=this.graphic.label;void 0!==i.text&&(e.text=i.text),e.horizontalOrigin=Cesium.HorizontalOrigin.CENTER,e.verticalOrigin=Cesium.VerticalOrigin.CENTER,e.disableDepthTestDistance=Number.POSITIVE_INFINITY,e.heightReference=Cesium.HeightReference.NONE,void 0!==i.fontSize&&(e.font="".concat(i.fontWeight||"normal"," ").concat(i.fontSize,"px ").concat(i.fontFamily||"sans-serif")),void 0===i.fontColor&&void 0===i.fontOpacity||(e.fillColor=Cesium.Color.fromCssColorString(i.fontColor).withAlpha(Number(i.fontOpacity))),i.textOutline?(e.outlineWidth=i.textOutlineWidth?i.textOutlineWidth:0,e.outlineColor=Cesium.Color.fromCssColorString(i.textOutlineColor).withAlpha(Number(i.textOutlineOpacity))):e.outlineWidth=0,void 0===i.fontOffset[0]&&void 0===i.fontOffset[1]||(e.pixelOffset=new Cesium.Cartesian2(Number(i.fontOffset[0])||0,Number(i.fontOffset[1])||0)),void 0!==i.textBackgroundColor&&(e.showBackground=!!i.textBackgroundColor,i.textBackgroundColor&&(e.backgroundColor=Cesium.Color.fromCssColorString(i.textBackgroundColor).withAlpha(Number(i.textBackgroundOpacity)))),i.scaleByDistance?e.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):e.scaleByDistance=void 0}if(i.distanceDisplayCondition){var n=b(i.distanceDisplayCondition_near),o=b(i.distanceDisplayCondition_far);this.graphic.point&&(this.graphic.point.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o)),this.graphic.label&&(this.graphic.label.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o))}else this.graphic.point&&(this.graphic.point.distanceDisplayCondition=void 0),this.graphic.label&&(this.graphic.label.distanceDisplayCondition=void 0)}}},{key:"destroy",value:function(){this.graphic&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}},{key:"openPopup",value:function(t){this.graphic&&i.map&&(this.graphic.description=t,i.map.selectedEntity=this.graphic)}}])}(x),{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]),this.NumPoint=function(i){var n={id:"",position:[],num:0,color:"#ffffff",opacity:1,size:6,fontColor:"#000000",scale:1,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="numPoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.BillboardEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=b(i.distanceDisplayCondition_far),e=b(i.distanceDisplayCondition_near);return{id:i.id,position:i.position,style:{image:mars3d.Util.getCircleImage(i.num,{color:i.color,radius:i.size/2,borderWidth:0,fontColor:i.fontColor}),scale:i.scale,clampToGround:!i.position[2],scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(T),r=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Marker(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=k(i.position),e='<div style="\n background-color: '.concat(i.color||"#ffff00",";\n font-size: ").concat(i.size/2,"px;\n border-radius: 50%;\n width: ").concat(i.size,"px;\n height: ").concat(i.size,"px;\n text-align: center;\n line-height: ").concat(i.size,"px;\n color: ").concat(i.fontColor,';"\n >').concat(i.num,"</div>");return{id:i.id,position:new AMap.LngLat(t[0],t[1]),content:e,anchor:"top-center",offset:[0,-20],extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(L),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="numPoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.configLabel=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.configLabel=a.formatConfigNum(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{id:i.id,type:"circle",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:D(i.position)},properties:{name:i.text}}]}},paint:{"circle-opacity":Number(i.opacity),"circle-radius":Number(i.size),"circle-color":i.color}}}},{key:"formatConfigNum",value:function(i){return{id:"num_"+i.id,type:"symbol",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:D(i.position)},properties:{name:i.num}}]}},layout:{"icon-anchor":"center","text-field":"{name}","text-size":Number(i.size),"text-anchor":"center","text-ignore-placement":!0},paint:{"text-color":i.fontColor}}}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option),this.configLabel=this.formatConfigNum(this.option);var e=i.map.map.getSource(this.config.id);for(var n in e.setData({type:"FeatureCollection",features:[{type:"Feature",properties:{name:this.option.text},geometry:{type:"Point",coordinates:this.option.position.map(function(i){return Number(i)})}}]}),this.config)if(this.config.hasOwnProperty(n)&&"paint"==n)for(var o in this.config[n])this.config[n].hasOwnProperty(o)&&i.map.map.setPaintProperty(this.config.id,o,"circle-opacity"==o?Number(this.config[n][o]):this.config[n][o]);var a=i.map.map.getSource(this.configLabel.id);for(var r in a.setData({type:"FeatureCollection",features:[{type:"Feature",properties:{name:this.option.num},geometry:{type:"Point",coordinates:this.option.position.map(function(i){return Number(i)})}}]}),this.configLabel)if(this.configLabel.hasOwnProperty(r)){if("paint"==r)for(var s in this.configLabel[r])this.configLabel[r].hasOwnProperty(s)&&i.map.map.setPaintProperty(this.configLabel.id,s,this.configLabel[r][s]);if("layout"==r)for(var l in this.configLabel[r])this.configLabel[r].hasOwnProperty(l)&&i.map.map.setLayoutProperty(this.configLabel.id,l,"text-size"==l?Number(this.configLabel[r][l]):this.configLabel[r][l])}}}])}(_),c=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="numPoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a.graphic.userData={type:"numPoint",originalData:a.option.data||{}},a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=Cesium.Cartesian3.fromDegrees(i.position[0],i.position[1],i.position[2]||0),e=b(i.distanceDisplayCondition_near),n=b(i.distanceDisplayCondition_far);return{id:i.id,position:t,point:Object.assign(Object.assign({color:Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity)||1),pixelSize:Number(i.size),show:!0,clampToGround:!i.position[2]},i.distanceDisplayCondition&&{distanceDisplayCondition:new Cesium.DistanceDisplayCondition(e,n)}),{scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0}),label:Object.assign(Object.assign({text:i.num+"",fillColor:Cesium.Color.fromCssColorString(i.fontColor).withAlpha(1),style:Cesium.LabelStyle.FILL_AND_OUTLINE,scale:Number(i.scale),font:"".concat(i.size/1.5,"px PingFang SC"),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:Cesium.HeightReference.NONE},i.distanceDisplayCondition&&{distanceDisplayCondition:new Cesium.DistanceDisplayCondition(e,n)}),{scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0,show:!0}),properties:i.data||{}}}},{key:"set",value:function(i){if(w(this.option,i),this.config=this.formatConfig(this.option),console.log(i,"====修改====="),this.graphic){if(void 0!==i.position&&(this.graphic.position=Cesium.Cartesian3.fromDegrees(i.position[0],i.position[1],i.position[2]||0)),this.graphic.point){var t=this.graphic.point;void 0!==i.size&&(t.pixelSize=i.size),void 0===i.color&&void 0===i.opacity||(t.color=Cesium.Color.fromCssColorString(this.option.color).withAlpha(Number(this.option.opacity))),i.scaleByDistance&&(t.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1))}if(this.graphic.label){var e=this.graphic.label;void 0!==i.num&&(e.text=i.num),e.horizontalOrigin=Cesium.HorizontalOrigin.CENTER,e.verticalOrigin=Cesium.VerticalOrigin.CENTER,e.disableDepthTestDistance=Number.POSITIVE_INFINITY,e.heightReference=Cesium.HeightReference.NONE,void 0!==i.fontColor&&(e.fillColor=Cesium.Color.fromCssColorString(i.fontColor)),void 0!==i.scale&&(e.scale=Number(i.scale)),i.scaleByDistance?e.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):e.scaleByDistance=void 0}if(i.distanceDisplayCondition){var n=b(i.distanceDisplayCondition_near),o=b(i.distanceDisplayCondition_far);this.graphic.point&&(this.graphic.point.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o)),this.graphic.label&&(this.graphic.label.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o))}else this.graphic.point.distanceDisplayCondition=void 0}}},{key:"destroy",value:function(){this.graphic&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}},{key:"openPopup",value:function(t){this.graphic&&i.map&&(this.graphic.description=t,i.map.selectedEntity=this.graphic)}}])}(x);return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.ImagePoint=function(i){var n={id:"",position:[],image:"",height:30,width:30,rotation:0,horizontalOrigin:"center",verticalOrigin:"center",text:"",fontSize:12,color:"#000000",offset:[0,0],scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.BillboardEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=b(i.distanceDisplayCondition_far),e=b(i.distanceDisplayCondition_near);return{id:i.id,position:i.position,style:{width:i.width,height:i.height,image:i.image,label:{text:i.text,font_size:i.fontSize,color:i.color,pixelOffset:i.offset,scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e,visibleDepth:!1},scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:i.distanceDisplayCondition_far,distanceDisplayCondition_near:i.distanceDisplayCondition_near,clampToGround:!i.position[2],rotationDegree:i.rotation,horizontalOrigin:A[i.horizontalOrigin],verticalOrigin:I[i.verticalOrigin],visibleDepth:!0},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}},{key:"openPopup",value:function(){this.graphic.openPopup()}}])}(T),r=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="imagePoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Marker(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=k(i.position),e='<div style="color:'.concat(i.color,";font-size:").concat(i.fontSize,' ">').concat(i.text,"</div>");return{extData:{id:i.id,data:i.data},position:new AMap.LngLat(t[0],t[1]),icon:new AMap.Icon({image:i.image,imageSize:new AMap.Size(i.height,i.width),size:new AMap.Size(i.height,i.width)}),angle:360-i.rotation,anchor:"center",label:{direction:"center",offset:new AMap.Pixel(i.offset[0],i.offset[1]),content:e}}}}])}(L),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="imagePoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{id:i.id,type:"symbol",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:D(i.position)},properties:{name:i.text}}]}},layout:{"icon-image":i.id+"_image","icon-ignore-placement":!0,"text-ignore-placement":!0,"text-field":"{name}","text-size":Number(i.fontSize),"text-anchor":i.verticalOrigin,"icon-anchor":i.verticalOrigin,"text-offset":D(i.offset)},paint:{"text-color":i.color}}}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option);var e=i.map.map.getSource(this.config.id);for(var n in e.setData({type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:D(this.option.position)},properties:{name:this.option.text}}]}),this.config)if(this.config.hasOwnProperty(n)&&"layout"==n)for(var o in this.config[n])this.config[n].hasOwnProperty(o)&&i.map.map.setLayoutProperty(this.config.id,o,"text-size"==o?Number(this.config[n][o]):this.config[n][o]);for(var a in this.config)if(this.config.hasOwnProperty(a)&&"paint"==a)for(var r in this.config[a])this.config[a].hasOwnProperty(r)&&i.map.map.setPaintProperty(this.config.id,r,this.config[a][r])}}])}(_),c=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="imagePoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a.graphic.userData={type:"billboard",originalData:a.option.data||{}},a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=Cesium.Cartesian3.fromDegrees(Number(i.position[0]),Number(i.position[1]),Number(i.position[2])||0),e={left:Cesium.HorizontalOrigin.LEFT,center:Cesium.HorizontalOrigin.CENTER,right:Cesium.HorizontalOrigin.RIGHT},n={top:Cesium.VerticalOrigin.TOP,center:Cesium.VerticalOrigin.CENTER,bottom:Cesium.VerticalOrigin.BOTTOM},o={id:i.id,position:t,billboard:{image:i.image,width:Number(i.width),height:Number(i.height),horizontalOrigin:e[i.horizontalOrigin],verticalOrigin:n[i.verticalOrigin],pixelOffset:new Cesium.Cartesian2(Number(i.offset[0])||0,Number(i.offset[1])||0),rotation:Cesium.Math.toRadians(i.rotation||0),clampToGround:!i.position[2],scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0,show:!0,visibleDepth:!0},label:{text:i.text,font:"".concat(i.fontSize||16,"px sans-serif"),fillColor:Cesium.Color.fromCssColorString(i.color||"#000000"),style:Cesium.LabelStyle.FILL_AND_OUTLINE,pixelOffset:new Cesium.Cartesian2(Number(i.offset[0])||0,-Number(i.offset[1])||0),scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:Cesium.HeightReference.NONE,show:!0,visibleDepth:!0},properties:i.data||{}};if(i.distanceDisplayCondition){var a=b(i.distanceDisplayCondition_near),r=b(i.distanceDisplayCondition_far);o.label.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(a,r),o.billboard.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(a,r)}return o}},{key:"set",value:function(i){if(w(this.option,i),this.config=this.formatConfig(this.option),this.graphic){if(void 0!==i.position&&(this.graphic.position=Cesium.Cartesian3.fromDegrees(Number(i.position[0]),Number(i.position[1]),Number(i.position[2])||0)),this.graphic.billboard){var t=this.graphic.billboard;if(void 0!==i.image&&(t.image=i.image),void 0!==i.width&&(t.width=Number(i.width)),void 0!==i.height&&(t.height=Number(i.height)),void 0!==i.rotation&&(t.rotation=Cesium.Math.toRadians(i.rotation)),void 0!==i.horizontalOrigin){var e={left:Cesium.HorizontalOrigin.LEFT,center:Cesium.HorizontalOrigin.CENTER,right:Cesium.HorizontalOrigin.RIGHT};t.horizontalOrigin=e[i.horizontalOrigin]||Cesium.HorizontalOrigin.CENTER}if(void 0!==i.verticalOrigin){var n={top:Cesium.VerticalOrigin.TOP,center:Cesium.VerticalOrigin.CENTER,bottom:Cesium.VerticalOrigin.BOTTOM};t.verticalOrigin=n[i.verticalOrigin]||Cesium.VerticalOrigin.CENTER}i.scaleByDistance?t.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):t.scaleByDistance=void 0}if(this.graphic.label){var o=this.graphic.label;o.horizontalOrigin=Cesium.HorizontalOrigin.CENTER,o.verticalOrigin=Cesium.VerticalOrigin.CENTER,o.disableDepthTestDistance=Number.POSITIVE_INFINITY,o.heightReference=Cesium.HeightReference.NONE,void 0!==i.text&&(o.text=String(i.text)),void 0===i.fontSize&&void 0===i.color||(o.font="".concat(i.fontSize||12,"px sans-serif"),o.fillColor=Cesium.Color.fromCssColorString(i.color||"#000000")),void 0!==i.offset&&(o.pixelOffset=new Cesium.Cartesian2(Number(i.offset[0])||0,-Number(i.offset[1])||0)),i.scaleByDistance?o.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):o.scaleByDistance=void 0}if(void 0!==i.distanceDisplayCondition)if(i.distanceDisplayCondition){var a=b(i.distanceDisplayCondition_near),r=b(i.distanceDisplayCondition_far);this.graphic.billboard&&(this.graphic.billboard.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(a,r)),this.graphic.label&&(this.graphic.label.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(a,r))}else this.graphic.billboard&&(this.graphic.billboard.distanceDisplayCondition=!1),this.graphic.label&&(this.graphic.label.distanceDisplayCondition=!1)}}},{key:"destroy",value:function(){this.graphic&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}}])}(x);return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.DivPoint=function(i){var n={id:"",position:[],html:"",horizontalOrigin:"center",verticalOrigin:"center",offset:[0,0],scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="divPoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.DivGraphic(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=b(i.distanceDisplayCondition_far),e=b(i.distanceDisplayCondition_near);return{id:i.id,position:i.position,style:{html:i.html,offsetX:i.offset[0],offsetY:i.offset[1],scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e,clampToGround:!i.position[2],horizontalOrigin:R[i.horizontalOrigin],verticalOrigin:B[i.verticalOrigin]},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}},{key:"openPopup",value:function(){this.graphic.openPopup()}}])}(T);return{mars3d:a,gaode:a,siji:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="divPoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new SGMap.Marker(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=document.createElement("div");return t.className="marker",t.id=i.id,t.innerHTML=i.html,t.style.width="0",t.style.height="0",{id:i.id,element:t,anchor:"center",offset:i.offset}}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option),this.graphic&&this.graphic.remove(),this.graphic=new SGMap.Marker(this.config),this.graphic.setLngLat(t.position).addTo(i.map.map)}},{key:"openPopup",value:function(){this.graphic.openPopup()}}])}(_),cesium:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="divPoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.htmlElement=null,a.animationFrameId=null,a.isDestroyed=!1,a.isVisible=!1,a.container=null,a.cameraMoveHandler=null,a.lastUpdateTime=0,a.updateInterval=100,a.id=o.id,w(a.option,o),a.startUpdateLoop(),a}return l(r,a),o(r,[{key:"createHTMLElement",value:function(){var i=document.createElement("div");return i.id="cesium-divpoint-".concat(this.id),i.className="hnmap-cesium-divpoint",i.style.position="absolute",i.style.pointerEvents="auto",i.style.cursor="pointer",i.style.left="0",i.style.top="0",i.innerHTML=this.option.html,this.htmlElement=i,this.addToContainer(),i}},{key:"createElements",value:function(){this.createHTMLElement(),this.createCesiumEntity()}},{key:"addToContainer",value:function(){if(this.htmlElement){var t=null;!t&&i.map.map&&(t=i.map.map.container||i.map.map._container),t?("static"===window.getComputedStyle(t).position&&(t.style.position="relative"),t.contains(this.htmlElement)||t.appendChild(this.htmlElement),this.container=t):(console.warn("无法找到地图容器: ".concat(this.id,",将添加到body")),document.body.contains(this.htmlElement)||document.body.appendChild(this.htmlElement))}}},{key:"createCesiumEntity",value:function(){if(!this.option.position||this.option.position.length<2)console.error("无效的位置数据: ".concat(this.id),this.option.position);else{var i=d(D(this.option.position),3),t=i[0],e=i[1],n=i[2],o=void 0===n?0:n,a=Cesium.Cartesian3.fromDegrees(t,e,o),r=b(this.option.distanceDisplayCondition_near),s=b(this.option.distanceDisplayCondition_far),l={id:this.id,position:a,show:!0,label:{text:" ",show:!0,pixelOffset:new Cesium.Cartesian2(Number(this.option.offset[0])||0,-Number(this.option.offset[1])||0),disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:this.option.distanceDisplayCondition?new Cesium.DistanceDisplayCondition(r,s):void 0,clampToGround:!(this.option.position&&this.option.position[2]),scaleByDistance:this.option.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0}},c=this.getViewer();c&&c.entities?this.graphic=c.entities.add(l):this.graphic=new Cesium.Entity(l)}}},{key:"getViewer",value:function(){return i.map&&i.map.map&&i.map.map?i.map.map:null}},{key:"getScene",value:function(){var i=this.getViewer();return i?i.scene||i._scene:null}},{key:"getCanvas",value:function(){var i=this.getScene();return i?i.canvas||i._canvas:null}},{key:"checkVisibilityConditions",value:function(){var i=this.getViewer();if(!i||!this.option.position||this.option.position.length<2)return!1;var t=d(D(this.option.position),3),e=t[0],n=t[1],o=t[2],a=void 0===o?0:o,r=Cesium.Cartesian3.fromDegrees(e,n,a);if(this.option.distanceDisplayCondition){var s=i.camera.positionWC,l=Cesium.Cartesian3.distance(s,r),c=b(this.option.distanceDisplayCondition_near),p=b(this.option.distanceDisplayCondition_far),u=Math.min(c,p),h=Math.max(c,p);if(!(l>=u&&l<=h))return!1}return!0}},{key:"checkAndUpdate",value:function(){if(!this.isDestroyed){var i=this.getViewer();if(!i||!this.option.position||this.option.position.length<2)return!1;var t=d(D(this.option.position),3),e=t[0],n=t[1],o=t[2],a=void 0===o?0:o,r=Cesium.Cartesian3.fromDegrees(e,n,a);if(this.option.distanceDisplayCondition){var s=i.camera.positionWC,l=Cesium.Cartesian3.distance(s,r),c=b(this.option.distanceDisplayCondition_near),p=b(this.option.distanceDisplayCondition_far),u=Math.min(c,p),h=Math.max(c,p);l>=u&&l<=h?(this.isVisible||(this.createElements(),this.isVisible=!0),this.updateHTMLElementPosition()):(this.destroyElements(),this.isVisible=!1)}else this.isVisible||(this.isVisible=!0,this.createElements()),this.updateHTMLElementPosition()}}},{key:"startUpdateLoop",value:function(){var i=this,t=this.getViewer();if(t&&t.camera){this.cameraMoveHandler=function(){i.isDestroyed||i.checkAndUpdate()};var e="";t.scene.postRender.addEventListener(function(){var n=t.camera,o=Cesium.Cartographic.fromCartesian(n.positionWC),a="".concat(o.longitude.toFixed(6),",").concat(o.latitude.toFixed(6),",").concat(o.height.toFixed(0),",").concat(n.heading.toFixed(3));a!==e&&(e=a,i.cameraMoveHandler&&i.cameraMoveHandler())})}else console.error("无法获取viewer或camera: ".concat(this.id))}},{key:"updateHTMLElementPosition",value:function(){var i,t,e,n,o,a;if(this.htmlElement&&!this.isDestroyed)try{var r=this.getViewer(),s=this.getScene();if(!r||!s)return void(this.htmlElement.style.visibility="hidden");var l=d(D(this.option.position),3),c=l[0],p=l[1],u=l[2],h=void 0===u?0:u,f=Cesium.Cartesian3.fromDegrees(c,p,h),m=s.cartesianToCanvasCoordinates(f);if(m&&Cesium.defined(m)){var y=Cesium.Cartesian3.distance(r.camera.position,f),g=b(null!==(i=this.option.distanceDisplayCondition_near)&&void 0!==i?i:1),v=b(null!==(t=this.option.distanceDisplayCondition_far)&&void 0!==t?t:18);e=this.option.minScale,n=this.option.maxScale;if(y<g||y>v)return void(this.htmlElement.style.visibility="hidden");if(v===g);else{var C=1-(y-g)/(v-g);Math.max(0,Math.min(1,C))}s.canvas.getBoundingClientRect();var w=Number((null===(o=this.option.offset)||void 0===o?void 0:o[0])||0),k=Number((null===(a=this.option.offset)||void 0===a?void 0:a[1])||0),E=m.x+w,S=m.y+k;this.htmlElement.style.position="absolute",this.htmlElement.style.left="".concat(E,"px"),this.htmlElement.style.top="".concat(S,"px"),this.htmlElement.style.transform="scale(1)",this.htmlElement.style.transformOrigin="left top",this.htmlElement.style.visibility="visible"}else this.htmlElement.style.visibility="hidden"}catch(i){console.error("更新位置失败: ".concat(this.id),i),this.htmlElement.style.visibility="hidden"}}},{key:"set",value:function(i){if(!this.isDestroyed){if(console.log("更新divPoint: ".concat(this.id),i),w(this.option,i),void 0!==i.html&&this.htmlElement&&(this.htmlElement.innerHTML=i.html),void 0!==i.offset&&this.graphic&&this.graphic.label){var t=d(i.offset,2),e=t[0],n=t[1];this.graphic.label.pixelOffset=new Cesium.Cartesian2(Number(e)||0,-Number(n)||0)}void 0===i.distanceDisplayCondition&&void 0===i.distanceDisplayCondition_near&&void 0===i.distanceDisplayCondition_far||this.graphic&&this.graphic.label&&(this.graphic.label.distanceDisplayCondition=i.distanceDisplayCondition?new Cesium.DistanceDisplayCondition(b(this.option.distanceDisplayCondition_near),b(this.option.distanceDisplayCondition_far)):void 0),this.isVisible&&this.checkAndUpdate()}}},{key:"destroyElements",value:function(){if(this.option.distanceDisplayCondition){if(this.htmlElement)try{this.htmlElement.parentNode&&this.htmlElement.parentNode.removeChild(this.htmlElement),this.htmlElement=null}catch(i){console.error("移除HTML元素失败: ".concat(this.id),i)}if(this.graphic)try{var i=this.getViewer();i&&i.entities&&i.entities.contains(this.graphic)&&i.entities.remove(this.graphic),this.graphic=null}catch(i){console.error("移除Cesium实体失败: ".concat(this.id),i)}this.isVisible=!1}}},{key:"destroy",value:function(){if(this.isDestroyed=!0,this.cameraMoveHandler){var i=this.getViewer();if(i&&i.camera)try{i.scene.postRender.removeEventListener(this.cameraMoveHandler),this.cameraMoveHandler=null}catch(i){console.error("移除相机移动事件监听器失败: ".concat(this.id),i)}}this.destroyElements(),this.container=null,this.option=null,this.config=null,console.log("divPoint ".concat(this.id," 已完全销毁"))}}])}(x)}[i.mapType]}(this),this.Label=function(i){var n={id:"",type:"label",position:[],text:"",fontSize:16,fontWeight:"normal",fontFamily:"楷体",color:"#000000",background:"",opacity:1,outline:!1,outlineColor:"#ffffff",outlineWidth:2,outlineOpacity:1,offset:[0,0],angle:0,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="label",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),"label"===a.option.type?a.graphic=new mars3d.graphic.LabelEntity(a.config):"mapLabel"===a.option.type&&(a.graphic=new mars3d.graphic.RectangleEntity(a.config)),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){if("label"===i.type){var t=new mars3d.LngLatPoint(i.position[0],i.position[1],i.position[2]||0),e=b(i.distanceDisplayCondition_far),n=b(i.distanceDisplayCondition_near);return{id:i.id,position:t,style:{text:i.text,color:i.color,opacity:i.opacity,font_size:i.fontSize,font_family:i.fontFamily,outline:i.outline,outlineColor:i.outlineColor,outlineWidth:i.outlineWidth,outlineOpacity:i.outlineOpacity,pixelOffset:D(i.offset),scaleByDistance:i.scaleByDistance,clampToGround:!i.position[2],distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:e,distanceDisplayCondition_near:n,background:!!i.background,backgroundColor:i.background},attr:i.data}}if("mapLabel"===i.type){var o=new mars3d.LngLatPoint(i.position[0][0],i.position[0][1]),a=new mars3d.LngLatPoint(i.position[1][0],i.position[1][1]);return{id:i.id,positions:[o,a],style:{clampToGround:!(i.position[0]&&i.position[0][2]),materialOptions:{text:i.text,font_family:"楷体",color:i.color,font_weight:i.fontWeight,font_size:i.fontSize,background:!!i.background,stroke:i.outline,strokeColor:i.outlineColor,strokeWidth:i.outlineWidth,opacity:i.opacity},materialType:mars3d.MaterialType.Text,rotationDegree:i.angle,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:i.distanceDisplayCondition_far,distanceDisplayCondition_near:i.distanceDisplayCondition_near},attr:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(T),r=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Text(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=k(i.position);return{extData:{id:i.id,data:i.data},text:i.text,anchor:"center",draggable:!0,cursor:"pointer",style:{border:0,"text-align":"center","font-size":i.fontSize,color:i.color,"background-color":i.background},position:[t[0],t[1]],offset:i.offset}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setText(this.config.text),this.graphic.setStyle(this.config.style),this.graphic.setPosition(this.config.position)}}])}(L),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="label",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t={};return t={id:i.id,type:"symbol",source:{type:"geojson",data:{type:"FeatureCollection",features:[]}},layout:{"text-field":"{name}","text-size":Number(i.fontSize),"text-anchor":"top","text-offset":this.pixelOffsetToTextOffset(i.offset,i.fontSize),"text-max-width":8,"text-font":["Microsoft YaHei Regular"]},paint:{"text-color":i.color,"text-halo-color":i.outline?i.outlineColor:"transparent","text-halo-width":i.outline?Number(i.outlineWidth):0,"text-opacity":Number(i.opacity)}},"label"===i.type?t.source.data.features[0]={type:"Feature",geometry:{type:"Point",coordinates:D(i.position)},properties:{name:i.text}}:"mapLabel"===i.type&&i.position.forEach(function(e){t.source.data.features.push({type:"Feature",properties:{name:i.text},geometry:{type:"Point",coordinates:D(i.position)}})}),t}},{key:"pixelOffsetToTextOffset",value:function(i,t){return[i[0]/t,i[1]/t]}},{key:"set",value:function(t){var e=this;w(this.option,t),this.config=this.formatConfig(this.option);var n=i.map.map.getSource(this.config.id);if(n){if("label"==this.option.type)n.setData({type:"FeatureCollection",features:[{type:"Feature",properties:{name:this.option.text},geometry:{type:"Point",coordinates:D(t.position)}}]});else if("mapLabel"==this.option.type){var o={type:"FeatureCollection",features:this.option.position.map(function(i){return{type:"Feature",properties:{name:e.option.text},geometry:{type:"Point",coordinates:i}}})};n.setData(o)}for(var a in this.config)if(this.config.hasOwnProperty(a)){if("paint"==a)for(var r in this.config[a])this.config[a].hasOwnProperty(r)&&i.map.map.setPaintProperty(this.config.id,r,"text-halo-width"==r||"text-opacity"==r?Number(this.config[a][r]):this.config[a][r]);if("layout"==a)for(var s in this.config[a])this.config[a].hasOwnProperty(s)&&i.map.map.setLayoutProperty(this.config.id,s,"text-size"===s?Number(this.config[a][s]):this.config[a][s])}}}}])}(_),c=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="label",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a.graphic.userData={type:"label",originalData:a.option.data||{}},a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=D(i.position),e=Cesium.Cartesian3.fromDegrees(t[0],t[1],t[2]||0),n={id:i.id,name:i.id,position:e,label:this.createLabelStyle(i),properties:i.data||{}};if(i.distanceDisplayCondition){var o=b(i.distanceDisplayCondition_near),a=b(i.distanceDisplayCondition_far);n.label.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(o,a)}return n}},{key:"createLabelStyle",value:function(i){var t=Number(i.fontWeight)||"normal",e=Number(i.fontSize)||16,n=i.fontFamily||"sans-serif",o="".concat(t," ").concat(e,"px ").concat(n);return{text:i.text,font:o,fillColor:Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity)||1),outline:i.outline,outlineColor:Cesium.Color.fromCssColorString(i.outlineColor||"#ffffff").withAlpha(Number(i.outlineOpacity)||1),outlineWidth:i.outline?i.outlineWidth:0,style:Cesium.LabelStyle.FILL_AND_OUTLINE,pixelOffset:new Cesium.Cartesian2(Number(i.offset[0])||0,Number(i.offset[1])||0),clampToGround:!i.position[2],showBackground:!!i.background,backgroundColor:i.background?Cesium.Color.fromCssColorString(i.background).withAlpha(Number(i.opacity)||1):Cesium.Color.BLACK.withAlpha(.5),scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0}}},{key:"set",value:function(i){if(w(this.option,i),this.graphic&&this.graphic.label){var t=this.graphic.label,e=this.createLabelStyle(this.option);if(Object.assign(t,e),void 0!==i.offset&&(t.pixelOffset=new Cesium.Cartesian2(Number(i.offset[0]),Number(i.offset[1]))),i.scaleByDistance?t.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):t.scaleByDistance=void 0,void 0!==i.position){var n=D(i.position);Cesium.Cartesian3.fromDegrees(n[0],n[1],n[2]||0)}if(i.distanceDisplayCondition){var o=b(i.distanceDisplayCondition_near),a=b(i.distanceDisplayCondition_far);t.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(o,a)}else t.distanceDisplayCondition=void 0}}},{key:"destroy",value:function(){this.graphic&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}},{key:"openPopup",value:function(t){this.graphic&&i.map&&(this.graphic.description=t,i.map.selectedEntity=this.graphic)}}])}(x);return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.Line=function(i){var n={id:"",position:[],type:"line",color:"#ffffff",width:2,opacity:1,outline:!1,outlineColor:"#ffffff",outlineWidth:2,dashColor:"#00ff00",dashLength:16,image:"",repeat:[1,1],speed:5,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null,combine:!1,instances:[]};return{mars3d:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="line",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),o.combine?a.graphic=new mars3d.graphic.PolylineCombine(a.config):a.graphic=new mars3d.graphic.PolylineEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=this,e={},o=b(i.distanceDisplayCondition_far),a=b(i.distanceDisplayCondition_near);if(i.combine)e={id:i.id,combine:!0,instances:i.instances.map(function(i){var e=JSON.parse(JSON.stringify(n));return w(e,i),t.formatConfig(e)})};else switch(e={id:i.id,positions:i.position,style:{materialType:"Color",color:i.color,width:i.width,opacity:i.opacity,outline:i.outline,outlineColor:i.outlineColor,outlineWidth:i.outlineWidth,clampToGround:!(i.position[0]&&i.position[0][2]),scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:o,distanceDisplayCondition_near:a},attr:i.data},i.type){case"line":e.style.materialType="Color";break;case"dash":e.style.materialType="PolylineDash",e.style.materialOptions={color:i.color,gapColor:i.dashColor,dashPattern:i.dashPattern};break;case"flicker":e.style.materialType="LineFlicker",e.style.materialOptions={color:i.color,speed:i.speed};break;case"flow":e.style.materialType="LineFlow",e.style.materialOptions={color:i.color,image:i.image,repeat:new Cesium.Cartesian2(i.repeat[0],i.repeat[1]),speed:i.speed};break;case"arrow":e.style.materialType="PolylineArrow",e.style.materialOptions={color:i.color}}return e}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}},{key:"openPopup",value:function(){this.graphic.openPopup()}},{key:"isInPoly",value:function(i,t){return this.graphic.isInPoly(new mars3d.LngLatPoint(i,t))}}])}(T),gaode:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Polyline(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{path:k(i.position),strokeColor:i.color,strokeOpacity:i.opacity,strokeWeight:i.width,outlineColor:i.outlineColor,borderWeight:i.outlineWidth,extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config),this.graphic.setPath(this.config.path)}}])}(L),siji:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="line",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.intervalId=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a}return l(r,a),o(r,[{key:"flickers",value:function(i,t){null!==this.intervalId&&clearInterval(this.intervalId);var e=t?1:0,n=this;this.intervalId=setInterval(function(){e=(t=!t)?1:0,n.config["line-opacity"]=e},i)}},{key:"formatConfig",value:function(i){var t={};switch(t={id:i.id,type:"line",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"LineString",coordinates:D(i.position)},properties:Object.assign({id:i.id},i.data)}]}},layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"dash"==i.type?i.dashColor:i.color,"line-width":Number(i.width),"line-opacity":Number(i.opacity)}},i.type){case"line":break;case"dash":t.paint["line-dasharray"]=[1*i.dashLength,1*i.dashLength];break;case"flicker":this.flickers(1*i.speed,!0)}return t}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option);var e=i.map.map.getSource(this.config.id);for(var n in e.setData({type:"FeatureCollection",features:[{type:"Feature",properties:Object.assign({id:t.id},t.data),geometry:{type:"LineString",coordinates:D(this.option.position)}}]}),this.config)if(this.config.hasOwnProperty(n)&&"paint"==n)for(var o in this.config[n])this.config[n].hasOwnProperty(o)&&(i.map.map.setPaintProperty(this.config.id,o,"line-opacity"==o||"line-width"==o?Number(this.config[n][o]):this.config[n][o]),"dash"==t.type&&i.map.map.setPaintProperty(this.config.id,"line-dasharray",[t.dashLength,t.dashLength]))}},{key:"openPopup",value:function(){this.graphic.openPopup()}},{key:"isInPoly",value:function(i,t){return this.graphic.isInPoly(new mars3d.LngLatPoint(i,t))}},{key:"dispose",value:function(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)}}])}(_),cesium:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="line",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.entity=null,a.flickerInterval=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=i.position.map(function(i){if(Array.isArray(i)&&i.length>=2){var t=i.length>=3?i[2]:0;return Cesium.Cartesian3.fromDegrees(i[0],i[1],t)}return i}),e={id:i.id,name:i.id,polyline:{positions:t,width:i.width||2,material:this.createMaterial(i),clampToGround:!(i.position[0]&&i.position[0][2]),scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0,show:!0},properties:i.data||{}};if(i.distanceDisplayCondition){var n=b(i.distanceDisplayCondition_near),o=b(i.distanceDisplayCondition_far);e.polyline.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o)}return e}},{key:"createMaterial",value:function(i){var t=Cesium.Color.fromCssColorString(i.color).withAlpha(i.opacity||1);switch(i.type){case"dash":return new Cesium.PolylineDashMaterialProperty({color:t,dashLength:i.dashLength||16,gapColor:Cesium.Color.fromCssColorString(i.dashColor).withAlpha(i.opacity||1)});case"flow":return new Cesium.PolylineGlowMaterialProperty({color:t,glowPower:.2});case"arrow":return new Cesium.PolylineArrowMaterialProperty(t);case"flicker":var e=new Cesium.ColorMaterialProperty(t);return this.setupFlickerEffect(),e;default:return i.outline?new Cesium.PolylineOutlineMaterialProperty({color:t,outlineColor:Cesium.Color.fromCssColorString(i.outlineColor),outlineWidth:i.outlineWidth||1}):new Cesium.ColorMaterialProperty(t)}}},{key:"setupFlickerEffect",value:function(){var i=this;if("flicker"===this.option.type&&this.entity&&this.entity.polyline){this.cleanupFlickerEffect();var t=!0;this.flickerInterval=setInterval(function(){i.entity&&i.entity.polyline&&(t=!t,i.entity.polyline.show=t)},500/this.option.speed)}}},{key:"cleanupFlickerEffect",value:function(){this.flickerInterval&&(clearInterval(this.flickerInterval),this.flickerInterval=null)}},{key:"set",value:function(i){if(w(this.option,i),this.cleanupFlickerEffect(),this.graphic){var t=this.graphic.polyline;if(t){if(i.position){var e=i.position.map(function(i){if(Array.isArray(i)&&i.length>=2){var t=i.length>=3?i[2]:0;return Cesium.Cartesian3.fromDegrees(i[0],i[1],t)}return i});t.positions=e}if(t.material=this.createMaterial(this.option),void 0!==i.width&&(t.width=i.width),i.scaleByDistance?t.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):t.scaleByDistance=void 0,i.distanceDisplayCondition){var n=b(i.distanceDisplayCondition_near),o=b(i.distanceDisplayCondition_far);t.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o)}else t.distanceDisplayCondition=void 0}}}},{key:"destroy",value:function(){this.cleanupFlickerEffect(),this.graphic&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}},{key:"openPopup",value:function(t){this.entity&&i.map.map&&(this.entity.description=t,i.map.map.selectedEntity=this.entity)}}])}(x)}[i.mapType]}(this),this.Circle=function(i){var n={id:"",position:[],type:"color",radius:20,color:"#ff0000",opacity:1,waveCount:2,waveSpeed:5,outlineWidth:0,outlineColor:"#ffffff",outlineOpacity:1,outlineHighLight:!1,outlineHighLightGlowPower:.1,outlineHighLightTaperPower:1,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="circle",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.CircleEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=b(i.distanceDisplayCondition_far),e=b(i.distanceDisplayCondition_near),n={id:i.id,position:new mars3d.LngLatPoint(i.position[0],i.position[1],i.position[2]||0),style:{radius:i.radius||1,color:i.color,opacity:i.opacity,outline:!!i.outlineWidth,outlineColor:i.outlineColor,outlineWidth:i.outlineWidth,outlineOpacity:i.outlineOpacity,scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e,clampToGround:!i.position[2]},attr:i.data};switch(i.type){case"color":n.style.materialType=mars3d.MaterialType.Color;break;case"wave":n.style.materialType=mars3d.MaterialType.CircleWave,n.style.materialOptions={color:i.color,count:i.waveCount,speed:i.waveSpeed}}return i.outlineHighLight&&(n.style.outlineStyle={materialType:"PolylineGlow",materialOptions:{color:i.outlineColor,glowPower:i.outlineHighLightGlowPower,taperPower:i.outlineHighLightTaperPower}}),n}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(T),r=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Circle(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=k(i.position);return{center:new AMap.LngLat(t[0],t[1]),radius:i.radius,fillColor:i.color,fillOpacity:i.opacity,strokeColor:i.outline.color,strokeOpacity:i.outline.show?i.outline.opacity:0,strokeWeight:i.outline.show?i.outline.width:0,extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config),this.graphic.setCenter(this.config.center)}}])}(L),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="circle",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new SGMap.DrawCircleHandler(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(t){return{id:t.id,map:i.map.map,enableEdit:!1,canMove:!1,style:{polygon:{"fill-color":t.color,"fill-opacity":Number(t.opacity),"fill-outline-color":t.outlineColor},polyline:{"line-color":t.outlineColor,"line-opacity":Number(t.outlineOpacity),"line-width":Number(t.outlineWidth)}},featuresList:[]}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.remove(),this.graphic.clearData(),this.graphic=new SGMap.DrawCircleHandler(this.config);var t={type:"Feature",properties:{centerPoint:D(this.option.position),radius:this.option.radius},geometry:{type:"Polygon",coordinates:[]}};this.graphic.addFeature(t)}}])}(_),c=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="circle",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=d(D(i.position),3),e=t[0],n=t[1],o=t[2];return{id:i.id,position:Cesium.Cartesian3.fromDegrees(e,n,o||0),ellipse:{semiMinorAxis:i.radius||1,semiMajorAxis:i.radius||1,material:this.getMaterial(i),outline:!!i.outlineWidth,outlineColor:Cesium.Color.fromCssColorString(i.outlineColor).withAlpha(Number(i.outlineOpacity)||1),outlineWidth:i.outlineWidth,distanceDisplayCondition:i.distanceDisplayCondition?new Cesium.DistanceDisplayCondition(b(i.distanceDisplayCondition_near),b(i.distanceDisplayCondition_far)):void 0,scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0,height:Number(i.position[2])||0,extrudedHeight:0,clampToGround:!i.position[2]},properties:this.option.data||{}}}},{key:"getMaterial",value:function(i){return"wave"===i.type?new Cesium.CircleWaveMaterial({color:Cesium.Color.fromCssColorString(i.color),count:Number(i.waveCount),speed:Number(i.waveSpeed),gradient:.1}):new Cesium.ColorMaterialProperty(Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity)))}},{key:"set",value:function(i){if(w(this.option,i),this.graphic&&this.graphic.ellipse){if(this.formatConfig(this.option),i.position){var t=d(D(i.position),3),e=t[0],n=t[1],o=t[2];this.graphic.position=Cesium.Cartesian3.fromDegrees(e,n,o||0)}void 0!==i.radius&&(this.graphic.ellipse.semiMinorAxis=i.radius,this.graphic.ellipse.semiMajorAxis=i.radius),(i.type||i.color||i.opacity)&&(this.graphic.ellipse.material=this.getMaterial(this.option)),void 0!==i.outlineWidth&&(this.graphic.ellipse.outline=!!i.outlineWidth,this.graphic.ellipse.outlineWidth=Number(i.outlineWidth),this.graphic.ellipse.outlineColor=Cesium.Color.fromCssColorString(i.outlineColor).withAlpha(Number(i.outlineOpacity)||1)),i.distanceDisplayCondition?this.graphic.ellipse.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(b(i.distanceDisplayCondition_near),b(i.distanceDisplayCondition_far)):this.graphic.ellipse.distanceDisplayCondition=void 0,i.scaleByDistance?this.graphic.ellipse.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):this.graphic.ellipse.scaleByDistance=void 0}}},{key:"destroy",value:function(){this.graphic&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}},{key:"flyTo",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(console.log("开始飞行定位圆形图形...",this.graphic),this.graphic&&this.hnMap&&this.hnMap.map.map)try{if(this.graphic.position){var t=this.graphic.position.getValue(Cesium.JulianDate.now());if(t){var e=Cesium.Cartographic.fromCartesian(t),n=this.option.radius||100,o=i.height||Math.max(2*n,500),a=Math.max(e.height+o,o),r=Cesium.Cartesian3.fromRadians(e.longitude,e.latitude,a);this.hnMap.map.map.camera.flyTo({destination:r,duration:i.duration||2,orientation:{heading:Cesium.Math.toRadians(i.heading||0),pitch:Cesium.Math.toRadians(i.pitch||-90),roll:Cesium.Math.toRadians(i.roll||0)},complete:i.complete,cancel:i.cancel})}}}catch(i){console.error("圆形图形飞行定位失败:",i)}}}])}(x);return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.Rectangle=function(i){var n={id:"",position:[],color:"#ff0000",opacity:1,outline:!1,outlineWidth:2,outlineColor:"#ffffff",outlineOpacity:1,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="retangle",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.RectangleEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=b(i.distanceDisplayCondition_far),e=b(i.distanceDisplayCondition_near);return{id:i.id,positions:i.position,style:{color:i.color,opacity:i.opacity,outline:i.outline,outlineColor:i.outlineColor,outlineWidth:i.outlineWidth,outlineOpacity:i.outlineOpacity,scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e,clampToGround:!(i.position[0]&&i.position[0][2])},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(T),r=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Rectangle(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=k(i.position),e=new AMap.LngLat(t[0][0],t[0][1]),n=new AMap.LngLat(t[1][0],t[1][1]);return{bounds:new AMap.Bounds(e,n),fillColor:i.color,fillOpacity:i.opacity,strokeColor:i.outlineColor,strokeOpacity:i.outline?i.outlineOpacity:0,strokeWeight:i.outline?i.outlineWidth:0,extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config),this.graphic.setBounds(this.config.bounds)}}])}(L),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="rectangle",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=E(i.position[0],i.position[1]);return{id:i.id,type:"fill",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Polygon",coordinates:[t]}}]}},paint:{"fill-color":i.color,"fill-opacity":Number(i.opacity),"fill-antialias":!0,"fill-outline-color":i.outlineColor}}}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option);var e=E(t.position[0],t.position[1]),n=i.map.map.getSource(this.config.id);for(var o in n.setData({type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Polygon",coordinates:[e]}}]}),this.config)if(this.config.hasOwnProperty(o)&&"paint"==o)for(var a in this.config[o])this.config[o].hasOwnProperty(a)&&i.map.map.setPaintProperty(this.config.id,a,this.config[o][a])}}])}(_),c=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="rectangle",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=E(i.position[0],i.position[1]).map(function(i){var t=d(i,2),e=t[0],n=t[1];return Cesium.Cartesian3.fromDegrees(e,n)}),e=Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity)),n=Cesium.Color.fromCssColorString(i.outlineColor).withAlpha(Number(i.outlineOpacity));return{id:i.id,polygon:{hierarchy:new Cesium.PolygonHierarchy(t),material:e,height:0,perPositionHeight:!1,closeBottom:!0,distanceDisplayCondition:i.distanceDisplayCondition?new Cesium.DistanceDisplayCondition(b(i.distanceDisplayCondition_near),b(i.distanceDisplayCondition_far)):void 0,scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0},polyline:i.outline?{positions:[].concat(m(t),[t[0]]),width:Number(i.outlineWidth),material:n,clampToGround:!1,distanceDisplayCondition:i.distanceDisplayCondition?new Cesium.DistanceDisplayCondition(b(i.distanceDisplayCondition_near),b(i.distanceDisplayCondition_far)):void 0,scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0}:void 0,properties:i.data}}},{key:"set",value:function(i){w(this.option,i);var t=this.formatConfig(this.option),e=E(i.position[0],i.position[1]).map(function(i){var t=d(i,2),e=t[0],n=t[1];return Cesium.Cartesian3.fromDegrees(e,n)}),n=Cesium.Color.fromCssColorString(i.outlineColor).withAlpha(Number(i.outlineOpacity)),o=this.graphic.polygon;o&&(o.hierarchy=t.polygon.hierarchy,o.material=t.polygon.material),i.outline?(this.graphic.polyline||(this.graphic.polyline=new Cesium.PolylineGraphics),this.graphic.polyline.positions=[].concat(m(e),[e[0]]),this.graphic.polyline.width=Number(i.outlineWidth),this.graphic.polyline.material=n):this.graphic.polyline=void 0,i.distanceDisplayCondition?(this.graphic.polygon.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(b(i.distanceDisplayCondition_near),b(i.distanceDisplayCondition_far)),this.graphic.polyline.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(b(i.distanceDisplayCondition_near),b(i.distanceDisplayCondition_far))):(this.graphic.polygon.distanceDisplayCondition=void 0,this.graphic.polyline.distanceDisplayCondition=void 0),i.scaleByDistance?(this.graphic.polygon.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1),this.graphic.polyline.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1)):(this.graphic.polygon.scaleByDistance=void 0,this.graphic.polyline.scaleByDistance=void 0),this.graphic.properties=t.properties}},{key:"destroy",value:function(){this.graphic&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}}])}(x);return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.Polygon=H(this),this.Route=function(i){var n={id:"",position:[],speed:10,replaySpeed:20,clockLoop:!1,image:{src:"",width:10,height:10},camera:{type:"",pitch:-30,radius:500},polyline:{color:"#0000ff",width:2},path:{color:"#ff0000",width:2},label:{text:"",font_size:16,color:"#ffffff",outline:!1,outlineColor:"#000000",outlineWidth:1,outlineOpacity:1,horizontalOrigin:"left",verticalOrigin:"bottom",pixelOffset:[0,0]}},a=function(){return o(function i(t){e(this,i),this.type="route",this.id=null,this.option=JSON.parse(JSON.stringify(n)),this.config=null,this.graphic=null,this.id=t.id,w(this.option,t),this.config=this.formatConfig(this.option),this.graphic=new mars3d.graphic.FixedRoute(this.config)},[{key:"formatConfig",value:function(i){return{id:i.id,speed:i.speed,positions:i.position,clockLoop:i.clockLoop,camera:{type:i.camera.type,pitch:i.camera.pitch,radius:i.camera.radius},billboard:{image:i.image.src,width:i.image.width,height:i.image.height},polyline:{color:i.polyline.color,width:i.polyline.width},path:{color:i.path.color,width:i.path.width},label:{text:i.label.text,font_size:i.label.textSize,color:i.label.color,outline:i.label.outline,outlineColor:i.label.outLineColor,outlineWidth:i.label.outlineWidth,outlineOpacity:i.label.outlineOpacity,horizontalOrigin:i.label.horizontalOrigin,verticalOrigin:i.label.verticalOrigin,pixelOffset:i.label.pixelOffset},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}},{key:"start",value:function(){this.graphic.start()}},{key:"pause",value:function(){this.graphic.pause()}},{key:"proceed",value:function(){this.graphic.proceed()}},{key:"stop",value:function(){this.graphic.stop()}},{key:"destroy",value:function(){this.graphic.destroy()}},{key:"flyTo",value:function(){this.graphic.flyToPoint()}}])}(),r=function(){return o(function t(o){e(this,t),this.id=null,this.option=JSON.parse(JSON.stringify(n)),this.config_graphic=null,this.config_path=null,this.graphic=null,this.pathLayer=null,this.path=null,this.id=o.id,w(this.option,o),this.config_graphic=this.formatConfigGraphic(this.option),this.config_path=this.formatConfigPath(this.option),this.graphic=new AMap.Marker(this.config_graphic),this.addPath(),this.graphic.on("moving",function(t){i.map.map.setCenter(t.target.getPosition(),!0)}),i.map.map.setFitView()},[{key:"formatConfigGraphic",value:function(i){return{position:k(i.position)[0],speed:i.speed,icon:new AMap.Icon({image:i.image.src,imageSize:new AMap.Size(i.image.width,i.image.height),size:new AMap.Size(i.image.width,i.image.height)}),extData:{id:i.id}}}},{key:"formatConfigPath",value:function(i){var t=k(i.position);return{id:i.id+"_path",position:t,width:i.polyline.width,color:i.polyline.color,data:{id:i.id+"_path"}}}},{key:"set",value:function(i){w(this.option,i),this.config_graphic=this.formatConfigGraphic(this.option),this.config_path=this.formatConfigPath(this.option),this.graphic.setOptions(this.config_graphic),this.stop()}},{key:"addPath",value:function(){this.pathLayer=i.map.addLayer(new i.Layer({id:this.id+"_path_layer"})),this.pathLayer&&(this.path=new i.Line(this.config_path),this.pathLayer.addEntity(this.path))}},{key:"start",value:function(){var i=this;this.config_path.position.reduce(function(t,e){var n=turf.point(t),o=turf.point(e),a=turf.distance(n,o,{units:"meters"});return i.graphic.moveAlong(i.path.graphic._opts.path,{duration:Number(a/i.config_graphic.speed).toFixed(0),autoRotation:!0,circlable:!0}),e})}},{key:"pause",value:function(){this.graphic.pauseMove()}},{key:"proceed",value:function(){this.graphic.resumeMove()}},{key:"stop",value:function(){this.graphic.stopMove()}},{key:"destroy",value:function(){this.stop(),this.graphic.remove(),this.pathLayer.destroy()}},{key:"flyTo",value:function(){if(this.graphic.getBounds){var t=this.graphic.getBounds();i.map.map.setBounds(t)}}}])}(),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="route",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config_routeline=null,a.config_routeplay=null,a.imgMarker=null,a.chunkData=null,a.id=o.id,w(a.option,o),a.config_routeline=a.formatConfig(a.option),a.config_routeplay=a.formatConfigPlay(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{id:"route-line_"+i.id,type:"line",source:{type:"geojson",data:{geometry:{type:"LineString",coordinates:i.position},properties:{},type:"Feature"}},layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":i.polyline.color,"line-width":Number(i.polyline.width)}}}},{key:"formatConfigPlay",value:function(i){return{id:"route-played_"+i.id,type:"line",source:{type:"geojson",data:{type:"FeatureCollection",features:[]}},layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":i.path.color,"line-width":Number(i.path.width)}}}},{key:"createCar",value:function(){this.imgMarker&&this.imgMarker.remove();var t=document.createElement("img");t.src=this.option.image.src,t.style.width=this.option.image.width+"px",t.style.height=this.option.image.height+"px",this.imgMarker=new SGMap.Marker(t).setLngLat(this.config_routeline.source.data.geometry.coordinates[0]).addTo(i.map.map)}},{key:"joinLinePoint",value:function(){var i=60/3600/20*20;return this.chunkData=turf.lineChunk(this.config_routeline.source.data,i,{units:"kilometers"}),this.chunkData}},{key:"start",value:function(){var i=this,t=this.chunkData.features,e=t.length,n=0,o=setInterval(function(){if(++n>=e)clearInterval(o);else{var a=t[n-1].geometry.coordinates[1],r=t[n].geometry.coordinates[1];i.imgMarker.setLngLat(r);var s=turf.bearing(turf.point(a),turf.point(r));s&&i.imgMarker.setRotation(s-90),i.readerReplayedRouterLayer(n,i.option)}},50)}},{key:"readerReplayedRouterLayer",value:function(t,e){i.map.map.getSource("route-played_"+e.id).setData({type:"FeatureCollection",features:this.chunkData.features.slice(0,t+1)})}},{key:"set",value:function(t){w(this.option,t),this.imgMarker&&this.imgMarker.remove(),this.createCar(),this.config_routeline=this.formatConfig(this.option);var e=i.map.map.getSource(this.config_routeline.id);for(var n in e.setData({geometry:{type:"LineString",coordinates:t.position},properties:t.data,type:"Feature"}),this.config_routeline)if(this.config_routeline.hasOwnProperty(n)&&"paint"==n)for(var o in this.config_routeline[n])this.config_routeline[n].hasOwnProperty(o)&&i.map.map.setPaintProperty(this.config_routeline.id,o,this.config_routeline[n][o]);this.config_routeplay=this.formatConfigPlay(this.option);var a=i.map.map.getSource(this.config_routeplay.id);for(var r in a.setData({geometry:{type:"LineString",coordinates:t.position},properties:t.data,type:"Feature"}),this.config_routeplay)if(this.config_routeplay.hasOwnProperty(r)&&"paint"==r)for(var s in this.config_routeplay[r])this.config_routeplay[r].hasOwnProperty(s)&&i.map.map.setPaintProperty(this.config_routeplay.id,s,this.config_routeplay[r][s]);this.joinLinePoint(),this.start()}}])}(_),c=function(a){function r(o){var a;e(this,r),(a=t(this,r,[i])).type="route",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config_polyline=null,a.config_path=null,a.config_billboard=null,a.config_label=null,a.routeEntity=null,a.pathEntity=null,a.polylineEntity=null,a.clock=null,a.positionProperty=null,a.startTime=null,a.stopTime=null,a.isPlaying=!1,a.currentTime=null,a.graphic=null,a.polyline=null,a.id=o.id,w(a.option,o);var s=d(a.option.position[0],3),l=s[0],c=s[1],u=s[2],h=a.convertPositions(a.option.position);return h.length<2?(console.error("Route needs at least 2 positions"),p(a)):(a.positionProperty=new Cesium.ConstantPositionProperty(Cesium.Cartesian3.fromDegrees(l,c,u)),a.polyline={positions:h},a.createRoute(),a)}return l(r,a),o(r,[{key:"convertPositions",value:function(i){return i&&0!==i.length?i.map(function(i){return 2===i.length?Cesium.Cartesian3.fromDegrees(i[0],i[1],0):3===i.length?Cesium.Cartesian3.fromDegrees(i[0],i[1],i[2]):Cesium.Cartesian3.fromDegrees(0,0,0)}):[]}},{key:"formatConfig_polyline",value:function(i){var t=this.convertPositions(this.option.position);return{id:"".concat(i.id,"_polyline"),polyline:{positions:t,width:Number(i.polyline.width),material:Cesium.Color.fromCssColorString(i.polyline.color),clampToGround:!0},properties:i.data||{}}}},{key:"formatConfig_path",value:function(i){var t=this.convertPositions(this.option.position),e=t.length>0?[t[0]]:[Cesium.Cartesian3.fromDegrees(117.220356,31.833959,43.67),Cesium.Cartesian3.fromDegrees(117.220361,31.835111,44.36)];return{id:"".concat(i.id,"_path"),polyline:{positions:e,width:Number(i.path.width),material:Cesium.Color.fromCssColorString(i.path.color),clampToGround:!0}}}},{key:"formatConfig_billboard",value:function(i){var t,e,n,o;return{id:i.id,position:this.positionProperty,orientation:new Cesium.VelocityOrientationProperty(this.positionProperty),billboard:{image:i.image.src,width:Number(i.image.width)||32,height:Number(i.image.height)||32,verticalOrigin:Cesium.VerticalOrigin.BOTTOM},label:i.label.text?{text:i.label.text,font:"".concat(i.label.textSize||16,"px sans-serif"),fillColor:Cesium.Color.fromCssColorString(i.label.color||"#9e6969ff"),outline:i.label.outline,outlineColor:i.label.outline?Cesium.Color.fromCssColorString(i.label.outlineColor).withAlpha(Number(i.label.outlineOpacity)||1):void 0,outlineWidth:i.label.outline?Number(i.label.outlineWidth):0,style:Cesium.LabelStyle.FILL_AND_OUTLINE,verticalOrigin:Cesium.VerticalOrigin[(null===(t=i.label.verticalOrigin)||void 0===t?void 0:t.toUpperCase())||"CENTER"],horizontalOrigin:Cesium.HorizontalOrigin[(null===(e=i.label.horizontalOrigin)||void 0===e?void 0:e.toUpperCase())||"CENTER"],pixelOffset:new Cesium.Cartesian2((null===(n=i.label.pixelOffset)||void 0===n?void 0:n[0])||0,(null===(o=i.label.pixelOffset)||void 0===o?void 0:o[1])||0)}:void 0,properties:i.data||{}}}},{key:"createRoute",value:function(){var t=this.convertPositions(this.option.position);console.log("positions:",t),this.config_polyline=this.formatConfig_polyline(this.option),this.polylineEntity=new Cesium.Entity(this.config_polyline),i.map.map.entities.add(this.polylineEntity),this.config_path=this.formatConfig_path(this.option),this.pathEntity=new Cesium.Entity(this.config_path),i.map.map.entities.add(this.pathEntity);var e=this.calculatePathDistance(t);console.log("总距离:",e);var n=e/this.option.speed,o=Cesium.JulianDate.now();this.startTime=o;var a=Cesium.JulianDate.addSeconds(o,n,new Cesium.JulianDate);this.stopTime=a,this.positionProperty=new Cesium.SampledPositionProperty;for(var r=10*Math.ceil(n),s=0;s<=r;s++){var l=s/r,c=Cesium.JulianDate.addSeconds(this.startTime,n*l,new Cesium.JulianDate),p=this.getPositionAtFraction(t,l);this.positionProperty.addSample(c,p)}this.createMovingEntity(t[0]),this.option.clockLoop&&(i.map.map.clock.multiplier=this.option.replaySpeed||20,i.map.map.clock.shouldAnimate=!1),this.setupPathUpdate()}},{key:"calculatePathDistance",value:function(i){for(var t=0,e=1;e<i.length;e++)t+=Cesium.Cartesian3.distance(i[e-1],i[e]);return t}},{key:"getPositionAtFraction",value:function(i,t){if(t<=0)return i[0];if(t>=1)return i[i.length-1];for(var e=[],n=0,o=1;o<i.length;o++){var a=Cesium.Cartesian3.distance(i[o-1],i[o]);e.push(a),n+=a}for(var r=t*n,s=0,l=0;l<e.length;l++){if(r<=s+e[l]){var c=(r-s)/e[l];return Cesium.Cartesian3.lerp(i[l],i[l+1],c,new Cesium.Cartesian3)}s+=e[l]}return i[i.length-1]}},{key:"createMovingEntity",value:function(t){this.config_billboard=this.formatConfig_billboard(this.option),this.routeEntity=new Cesium.Entity(this.config_billboard),i.map.map.entities.add(this.routeEntity),this.option.camera.type&&this.setupCamera()}},{key:"setupCamera",value:function(){var t=this,e=this.option.camera.type,n=Cesium.Math.toRadians(this.option.camera.pitch||-30),o=this.option.camera.radius||500;"follow"===e?i.map.map.trackedEntity=this.routeEntity:"orbit"===e&&(i.map.map.scene.screenSpaceCameraController.enableTilt=!1,i.map.map.clock.onTick.addEventListener(function(){if(t.routeEntity&&t.isPlaying){var e=t.routeEntity.position.getValue(i.map.map.clock.currentTime);if(e){var a=Cesium.Cartesian3.add(e,new Cesium.Cartesian3(o*Math.cos(n),o*Math.sin(n),0),new Cesium.Cartesian3);i.map.map.camera.setView({destination:a,orientation:{heading:0,pitch:n,roll:0}})}}}))}},{key:"setupPathUpdate",value:function(){var t=this;i.map.map.clock.onTick.addEventListener(function(){t.isPlaying&&t.routeEntity&&t.updatePath()})}},{key:"updatePath",value:function(){if(this.routeEntity&&this.positionProperty){for(var t=i.map.map.clock.currentTime,e=Cesium.JulianDate.toDate(this.startTime).getTime(),n=Cesium.JulianDate.toDate(t).getTime(),o=Cesium.JulianDate.toDate(this.stopTime).getTime()-e,a=Math.min(n-e,o)/o,r=this.convertPositions(this.option.position),s=[],l=Math.ceil(100*a),c=0;c<=l;c++){var p=c/l*a;if(p>0){var u=this.getPositionAtFraction(r,p);s.push(u)}}var h=this.routeEntity.position.getValue(t);h&&s.push(h),this.pathEntity&&s.length>1&&(this.pathEntity.polyline.positions=s)}}},{key:"set",value:function(t){w(this.option,t),this.isPlaying&&this.stop(),this.routeEntity&&i.map.map.entities.remove(this.routeEntity),this.pathEntity&&i.map.map.entities.remove(this.pathEntity),this.polylineEntity&&i.map.map.entities.remove(this.polylineEntity),this.createRoute(),this.isPlaying&&this.start()}},{key:"start",value:function(){}},{key:"pause",value:function(){this.isPlaying=!1,i.map.map.clock.shouldAnimate=!1}},{key:"proceed",value:function(){this.isPlaying=!0,i.map.map.clock.shouldAnimate=!0}},{key:"stop",value:function(){this.isPlaying=!1,i.map.map.clock.shouldAnimate=!1,i.map.map.clock.currentTime=this.startTime,this.pathEntity&&(this.pathEntity.polyline.positions=[])}},{key:"destroy",value:function(){this.stop(),this.routeEntity&&i.map.map.entities.remove(this.routeEntity),this.pathEntity&&i.map.map.entities.remove(this.pathEntity),this.polylineEntity&&i.map.map.entities.remove(this.polylineEntity),this.routeEntity=null,this.pathEntity=null,this.polylineEntity=null,this.positionProperty=null,this.isPlaying=!1}},{key:"flyTo",value:function(){var i,t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if((null===(t=null===(i=this.polyline)||void 0===i?void 0:i.positions)||void 0===t?void 0:t.length)>0){var n=Cesium.BoundingSphere.fromPoints(this.polyline.positions);this.hnMap.map.map.camera.flyToBoundingSphere(n,{duration:e.duration||2,offset:new Cesium.HeadingPitchRange(0,-Cesium.Math.PI_OVER_FOUR,2*n.radius)})}}}])}(x);return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.HeatMap=F(this),this.Cluster=function(i){var n={id:"",position:[],pixelRange:20,cluster:!0,image:"",width:20,height:20,data:null},a=function(a){function r(i){var o;return e(this,r),(o=t(this,r,[i])).type="cluster",o.id=null,o.option=JSON.parse(JSON.stringify(n)),o.config_layer=null,o.config_label=null,o.children=null,o.layerEntity=null,o.id=i.id,o.children=[],w(o.option,i),o.config_layer=o.formatConfigLayer(o.option),o.config_label=o.formatConfigLabel(o.option),o.layerEntity=new mars3d.layer.GraphicLayer(o.config_layer),o}return l(r,a),o(r,[{key:"formatConfigLayer",value:function(i){return{id:i.id,cluster:{enabled:!1!==i.cluster,pixelRange:i.pixelRange||20,styles:[{scale:1,image:"img/marker/mark1.png",label:{text:"{count}",color:"#ffffff",font_size:16,stroke:!0,strokeColor:"#000000"}},{scale:1.5,image:"img/marker/mark2.png",label:{text:"{count}",color:"#ffffff",font_size:18}},{scale:2,image:"img/marker/mark3.png",label:{text:"{count}",color:"#ffffff",font_size:20}}]}}}},{key:"formatConfigLabel",value:function(i){return{id:"label_"+i.id,image:i.image,width:i.width,height:i.height}}},{key:"clearEntity",value:function(){this.children=[],this.layerEntity&&this.layerEntity.clear()}},{key:"addEntity",value:function(i){this.children.push(i),this.layerEntity&&this.layerEntity.addGraphic(i.graphic)}},{key:"setPosition",value:function(t){var e=this;this.clearEntity(),t.forEach(function(t,n){var o={id:e.config_label.id+"_point"+t.id,position:t.position,image:e.config_label.image,height:e.config_label.height,width:e.config_label.width,data:t.data},a=new i.ImagePoint(o);e.addEntity(a)})}},{key:"destroy",value:function(){var t=this;this.clearEntity(),this.layerEntity&&this.layerEntity.remove(!0),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"addPopupByAttr",value:function(){this.layerEntity.bindPopup(function(i){var t=i.graphic.attr;return mars3d.Util.getTemplateHtml({title:"详情",template:"all",attr:t})})}},{key:"addCustomPopup",value:function(i){var t=this;this.layerEntity.bindPopup(function(e){return C(t,void 0,void 0,u().m(function t(){var n;return u().w(function(t){for(;;)switch(t.n){case 0:if(!e.graphic.attr){t.n=2;break}return n=e.graphic.attr||{},t.n=1,i(n);case 1:return t.a(2,t.v);case 2:return t.a(2)}},t)}))},{offsetY:-20})}},{key:"flyTo",value:function(){this.layerEntity.flyTo()}},{key:"getEntity",value:function(i){return("string"==typeof i?this.children.find(function(t){return t.id===i}):i)||Promise.reject(new Error("未找到此图形"))}},{key:"openCluster",value:function(){w(this.option,{cluster:!0}),this.config_layer=this.formatConfigLayer(this.option),this.layerEntity.clusterEnabled=!0}},{key:"closeCluster",value:function(){w(this.option,{cluster:!1}),this.config_layer=this.formatConfigLayer(this.option),this.layerEntity.clusterEnabled=!1}}])}(M(i)),r=function(){return o(function t(o){e(this,t),this.type="cluster",this.id=null,this.option=JSON.parse(JSON.stringify(n)),this.config=null,this.layerEntity=null,this.infoWindow=null,this.id=o.id,w(this.option,o),this.config=this.formatConfig(this.option),this.layerEntity=new AMap.MarkerCluster(i.map.map,this.config.position,this.config)},[{key:"formatConfig",value:function(i){var t=this,e=i.position.map(function(i,e){return{lnglat:k(i),extData:{id:t.id+"_point"+e}}}),n=e.length;return{id:i.id,position:e,gridSize:i.pixelRange,clusterByZoomChange:!0,renderClusterMarker:function(i){var t=Math.pow(i.count/n,1/18),e=document.createElement("div"),o=180-180*t,a="hsla("+o+",100%,40%,0.7)",r="hsla("+o+",100%,90%,1)",s="hsla("+o+",100%,40%,1)",l="hsla("+o+",100%,90%,1)";e.style.backgroundColor=a;var c=Math.round(30+20*Math.pow(i.count/n,.2));e.style.width=e.style.height=c+"px",e.style.border="solid 1px "+s,e.style.borderRadius=c/2+"px",e.style.boxShadow="0 0 5px "+l,e.innerHTML=i.count,e.style.lineHeight=c+"px",e.style.color=r,e.style.fontSize="14px",e.style.textAlign="center",i.marker.setOffset(new AMap.Pixel(-c/2,-c/2)),i.marker.setContent(e)},renderMarker:function(i){var e=new AMap.Icon({image:t.option.style.image,imageSize:new AMap.Size(t.option.style.height,t.option.style.width),size:new AMap.Size(t.option.style.height,t.option.style.width)});i.marker.setIcon(e)}}}},{key:"setPosition",value:function(i){w(this.option,{position:i}),this.config=this.formatConfig(this.option),this.layerEntity.setData(this.config.position)}},{key:"destroy",value:function(){var t=this;this.layerEntity.setMap(null),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"flyTo",value:function(){var t=0,e=0;this.config.position.map(function(i){t+=i.lnglat.lng,e+=i.lnglat.lat});var n=t/this.config.position.length,o=e/this.config.position.length;i.map.map.setCenter([n,o])}},{key:"addPopupByAttr",value:function(){var t=this;this.infoWindow||(this.infoWindow=new AMap.InfoWindow({offset:new AMap.Pixel(0,-30)})),this.layerEntity.on("click",function(e){if(1===e.clusterData.length){var n="",o=e.clusterData[0].extData;for(var a in o)n+="<div>".concat(a,": ").concat(o[a],"</div>");t.infoWindow.setContent(n),t.infoWindow.open(i.map.map,e.marker._position)}})}},{key:"addCustomPopup",value:function(t){var e=this;this.infoWindow||(this.infoWindow=new AMap.InfoWindow({offset:new AMap.Pixel(0,-30)})),this.layerEntity.on("click",function(n){if(1===n.clusterData.length){var o=n.clusterData[0].extData,a=t(o);e.infoWindow.setContent(a),e.infoWindow.open(i.map.map,n.marker._position)}})}}])}(),s=function(){return o(function t(o){e(this,t),this.type="cluster",this.id=null,this.option=JSON.parse(JSON.stringify(n)),this.config_layer=null,this.config_label=null,this.config_Image=null,this.layerEntity=null,this.infoWindow=null,this.event={},this.id=o.id,w(this.option,o),i.map.map.addSource(this.id,{type:"geojson",data:{type:"FeatureCollection",features:this.option.position.map(function(i){return{type:"Feature",geometry:{type:"Point",coordinates:k(D(i.position))},properties:Object.assign(Object.assign({},i),{lnglat:k(D(i.position))})}})},cluster:!0,clusterMaxZoom:12,clusterRadius:100}),this.config_layer=this.formatConfigLayer(this.option),this.config_label=this.formatConfigLabel(this.option),this.config_Image=this.formatConfigImage(this.option)},[{key:"formatConfigLayer",value:function(i){return{id:"clusters_"+i.id,type:"circle",source:this.id,filter:["has","point_count"],paint:{"circle-color":["step",["get","point_count"],"#9faebf",10,"#3583de",30,"#04b71e",55,"#ff9800",100,"#f61402",300,"#f61402"],"circle-radius":["step",["get","point_count"],20,50,30,100,35,500,35,2e3,40,5e3,40],"circle-opacity":.7,"circle-stroke-width":3,"circle-stroke-color":"#ffffff"}}}},{key:"formatConfigLabel",value:function(i){return{id:"clusterCount_"+i.id,type:"symbol",source:this.id,filter:["has","point_count"],layout:{"text-field":"{point_count_abbreviated}","text-font":["Microsoft YaHei Regular"],"text-size":14},paint:{"text-color":"#ffffff"}}}},{key:"formatConfigImage",value:function(i){return{id:"choicePoi_"+i.id,type:"symbol",source:this.id,filter:["!has","point_count"],layout:{"icon-image":i.id+"_poiImage"},paint:{"text-color":"#555252","text-halo-color":"#FFFFFF","text-halo-width":1.33333}}}},{key:"on",value:function(t,e){this.off(t),"click"===t&&(this.event[t]=function(t){var n=i.map.map.queryRenderedFeatures(t.point);n.length>0&&e(n[0].properties)}),i.map.map.on(t,this.event[t])}},{key:"off",value:function(t){this.event[t]&&(i.map.map.off(t,this.event[t]),delete this.event[t])}},{key:"addPopupByAttr",value:function(){var t=this;console.log("addPopupByAttr======",this.config_label),this.removePopup(),this.infoWindow=new SGMap.Popup({offset:{bottom:[0,0]},className:"my-attrPopup-class"}),i.map.map.on("click","choicePoi_"+this.id,function(e){var n=i.map.map.queryRenderedFeatures(e.point),o="";for(var a in n)o+="<div>".concat(a,": ").concat(n[a],"</div>");t.infoWindow.setHTML(o),t.infoWindow.setLngLat(e.lngLat).addTo(i.map.map)})}},{key:"addCustomPopup",value:function(t){var e=this;this.removePopup(),this.infoWindow=new SGMap.Popup({offset:{bottom:[0,0]},className:"my-customPopup-class"}),i.map.map.on("click","choicePoi_"+this.id,function(n){var o=i.map.map.queryRenderedFeatures(n.point),a=t(o);e.infoWindow.setHTML(a),e.infoWindow.setLngLat(n.lngLat).addTo(i.map.map)})}},{key:"removePopup",value:function(){this.infoWindow&&this.infoWindow.remove()}},{key:"destroy",value:function(){var t=this;i.map.map&&(i.map.map.getLayer("clusters_"+this.id)&&i.map.map.removeLayer("clusters_"+this.id),i.map.map.getLayer("clusterCount_"+this.id)&&i.map.map.removeLayer("clusterCount_"+this.id),i.map.map.getLayer("choicePoi_"+this.id)&&i.map.map.removeLayer("choicePoi_"+this.id),i.map.map.getSource(this.id)&&i.map.map.removeSource(this.id)),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}}])}(),c=function(a){function r(o){var a;if(e(this,r),(a=t(this,r,[o])).type="cluster",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.layerEntity=null,a.graphic=null,a.children=[],a.entities=[],a.clusterDataSource=null,a.event={},a.screenSpaceEventHandler=null,a.popup=null,a.popupContent=null,a.showPopupOnClick=!1,a.popupStyle=null,a.id=o.id,w(a.option,o),a.clusterDataSource=new Cesium.CustomDataSource(a.id),i.map.map&&i.map.map.dataSources.add(a.clusterDataSource),a.clusterDataSource.clustering&&(a.clusterDataSource.clustering.enabled=!1!==a.option.cluster,a.clusterDataSource.clustering.pixelRange=a.option.pixelRange||20,a.clusterDataSource.clustering.minimumClusterSize=a.option.minimumClusterSize||2,a.clusterDataSource.clustering.clusterBillboards=!0,a.clusterDataSource.clustering.clusterEvent.addEventListener(a.onClusterEvent.bind(a))),a.layerEntity=a.clusterDataSource,i&&i.map&&i.map.map){var s=N();a.popup=new s(i.map.map,{style:a.popupStyle})}return a}return l(r,a),o(r,[{key:"onClusterEvent",value:function(i,t){var e,n;t.billboard||(t.billboard={}),t.label||(t.label={}),t.label.show=!0,t.label.text=i.length.toLocaleString(),t.label.fillColor=Cesium.Color.WHITE,t.label.font="14px sans-serif",t.label.pixelOffset=new Cesium.Cartesian2(0,-10),t.label.heightReference=Cesium.HeightReference.CLAMP_TO_GROUND,t.label.verticalOrigin=Cesium.VerticalOrigin.CENTER,t.label.horizontalOrigin=Cesium.HorizontalOrigin.CENTER,t.label.disableDepthTestDistance=Number.POSITIVE_INFINITY,i.length>100?(e=Cesium.Color.RED.withAlpha(.8),n=50):i.length>50?(e=Cesium.Color.ORANGE.withAlpha(.8),n=45):i.length>10?(e=Cesium.Color.YELLOW.withAlpha(.8),n=40):(e=Cesium.Color.GREEN.withAlpha(.8),n=35);var o=document.createElement("canvas");o.width=n,o.height=n;var a=o.getContext("2d");a&&(a.beginPath(),a.arc(n/2,n/2,n/2,0,2*Math.PI),a.fillStyle=e.toCssColorString(),a.fill()),t.billboard.image=o.toDataURL(),t.billboard.show=!0,t.billboard.heightReference=Cesium.HeightReference.CLAMP_TO_GROUND,t.billboard.verticalOrigin=Cesium.VerticalOrigin.CENTER,t.billboard.horizontalOrigin=Cesium.HorizontalOrigin.CENTER,t.billboard.disableDepthTestDistance=Number.POSITIVE_INFINITY,t.billboard.pixelOffset=new Cesium.Cartesian2(0,-10),t.cluster=!0}},{key:"setPosition",value:function(i){var t=this;this.clearEntity(),i.forEach(function(i,e){var n=Cesium.Cartesian3.fromDegrees(i.position[0],i.position[1],i.position[2]||0),o="".concat(t.id,"_point_").concat(e),a=new Cesium.Entity({id:o,position:n,billboard:{image:t.option.image||"/path/to/default/icon.png",width:Number(t.option.width)||20,height:Number(t.option.height)||20,verticalOrigin:Cesium.VerticalOrigin.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY},properties:i.data||t.option.data||{}});a.cluster=!1;try{t.clusterDataSource.entities.add(a),t.entities.push(a)}catch(i){console.error("添加实体失败:",i);var r=t.entities.indexOf(a);r>-1&&t.entities.splice(r,1)}})}},{key:"clearEntity",value:function(){if(this.clusterDataSource)try{this.clusterDataSource.entities.removeAll()}catch(i){console.error("清除数据源实体失败:",i)}this.entities=[]}},{key:"flyTo",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.clusterDataSource&&i.map.map){var e=this.clusterDataSource.entities.values;if(e&&e.length>0){var n=e.filter(function(i){return i.position}).map(function(i){return i.position.getValue(Cesium.JulianDate.now())}).filter(Boolean);if(n.length>0)try{var o=Cesium.BoundingSphere.fromPoints(n),a=t.radiusMultiplier||3;return void i.map.map.camera.flyToBoundingSphere(o,{duration:t.duration||2,offset:new Cesium.HeadingPitchRange(Cesium.Math.toRadians(t.heading||0),Cesium.Math.toRadians(t.pitch||-45),o.radius*a),complete:t.complete,cancel:t.cancel})}catch(i){console.error("飞行定位到聚合点失败:",i)}}try{i.map.map.flyTo(this.clusterDataSource,{duration:t.duration||2,complete:t.complete,cancel:t.cancel})}catch(i){console.error("默认飞行定位失败:",i)}}}},{key:"destroy",value:function(){var t=this;this.clearEntity(),i.map.map&&this.clusterDataSource&&i.map.map.dataSources.remove(this.clusterDataSource,!0),this.offAll(),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"on",value:function(t,e){var n=this;if(this.off(t),this.clusterDataSource&&i&&i.map&&i.map.map)switch(this.screenSpaceEventHandler||(this.screenSpaceEventHandler=new Cesium.ScreenSpaceEventHandler(i.map.map.canvas)),t){case"click":this.event[t]=function(t){var o=i.map.map.scene.pick(t.position);if(o&&o.id){var a=o.id;if(n.clusterDataSource.entities.contains(a)){if(!0===a.cluster)return;var r=a.properties||n.option.data||{};e(r),n.showPopupOnClick&&n.popupContent&&n.showPopupAtPosition(t.position)}}},this.screenSpaceEventHandler.setInputAction(this.event[t],Cesium.ScreenSpaceEventType.LEFT_CLICK);break;case"mousemove":this.event[t]=function(t){var o=i.map.map.scene.pick(t.endPosition);if(o&&o.id){var a=o.id;if(n.clusterDataSource.entities.contains(a)){if(!0===a.cluster)return;var r=a.properties||n.option.data||{};e(r)}}},this.screenSpaceEventHandler.setInputAction(this.event[t],Cesium.ScreenSpaceEventType.MOUSE_MOVE)}}},{key:"off",value:function(i){if(this.event[i]&&this.screenSpaceEventHandler){try{switch(i){case"click":this.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);break;case"mousemove":this.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)}}catch(i){console.warn("移除事件监听失败:",i)}delete this.event[i]}}},{key:"offAll",value:function(){var i=this;if(Object.keys(this.event).forEach(function(t){i.off(t)}),this.screenSpaceEventHandler){try{this.screenSpaceEventHandler.destroy()}catch(i){console.warn("销毁屏幕空间事件处理器失败:",i)}this.screenSpaceEventHandler=null}}},{key:"addPopupByAttr",value:function(){if(this.showPopupOnClick=!0,this.option&&this.option.data){var i='<div style="max-height: 300px; overflow-y: auto;">';for(var t in this.option.data)this.option.data.hasOwnProperty(t)&&(i+='\n <div style="color:#666;background:#ffffff;">'.concat(t+":"+this.option.data[t],"</div>\n "));i+="</div>",this.popupContent=i,this.bindClickEvent()}}},{key:"addCustomPopup",value:function(i){var t=this;this.showPopupOnClick=!0;var e=this.option&&this.option.data?this.option.data:{};try{var n=i(e);n instanceof Promise?n.then(function(i){t.popupContent=i,t.bindClickEvent()}).catch(function(i){console.error("生成自定义弹窗DOM失败:",i)}):(this.popupContent=n,this.bindClickEvent())}catch(i){console.error("生成自定义弹窗DOM失败:",i)}}},{key:"bindClickEvent",value:function(){var t=this;if(this.screenSpaceEventHandler)try{this.screenSpaceEventHandler.destroy()}catch(i){console.warn("销毁原有事件处理器失败:",i)}i.map.map&&i.map.map.canvas?(this.screenSpaceEventHandler=new Cesium.ScreenSpaceEventHandler(i.map.map.canvas),this.screenSpaceEventHandler.setInputAction(function(e){var n=i.map.map.scene.pick(e.position);if(n&&n.id){var o=n.id;if(t.clusterDataSource.entities.contains(o)){if(!0===o.cluster)return;t.showPopupAtPosition(e.position)}}},Cesium.ScreenSpaceEventType.LEFT_CLICK)):console.warn("地图或画布不可用,无法绑定点击事件")}},{key:"showPopupAtPosition",value:function(t){if(this.popup&&this.popupContent){var e=i.map.map.camera.getPickRay(t);if(e){var n=i.map.map.scene.globe.pick(e,i.map.map.scene);n&&this.popup.show({cartesian:n},this.popupContent)}}}},{key:"setPopupStyle",value:function(t){if(this.popupStyle=t,this.popup&&i&&i.map&&i.map.map){this.popup.destroy();var e=N();this.popup=new e(i.map.map,{style:this.popupStyle})}}}])}(M(i));return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.PointCloud=function(i){var t={id:"",name:"",url:"",position:null,scale:1,flyTo:!1},n=function(){return o(function i(n){e(this,i),this.type="pointCloud",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.id=n.id,w(this.option,n),this.config=this.formatConfig(this.option),this.layerEntity=new mars3d.layer.TilesetLayer(this.config)},[{key:"formatConfig",value:function(i){return{id:i.id,name:i.name,url:i.url,position:i.position,scale:i.scale,attr:{name:i.name},flyTo:i.flyTo}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.layerEntity.setOptions(this.config)}},{key:"destroy",value:function(){var t=this;this.layerEntity.remove(!0),i.map.map.layerList=i.map.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"addPopupByAttr",value:function(){this.layerEntity.bindPopup(function(i){var t={name:i.layer.name};return mars3d.Util.getTemplateHtml({title:"详情",template:"all",attr:t})})}},{key:"flyTo",value:function(){this.layerEntity.flyTo()}}])}(),a=o(function i(t){throw e(this,i),new Error("高德地图不支持点云功能")}),r=function(){return o(function i(n){e(this,i),this.type="pointCloud",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.THREE=null,this.camera=null,this.scene=null,this.renderer=null,this.modelTransform=null,this.id=n.id,w(this.option,n),this.config=this.formatConfig(this.option)},[{key:"calculateRotationFromDegrees",value:function(i){return[0,0,i*Math.PI/180]}},{key:"formatConfig",value:function(i){var t,e=D([i.position.lng,i.position.lat]),n=i.position.alt,o=this.calculateRotationFromDegrees(i.rotation),a=1e-6*i.scale,r={translateX:SGMap.MercatorCoordinate.fromLngLat(e,n).x,translateY:SGMap.MercatorCoordinate.fromLngLat(e,n).y,translateZ:SGMap.MercatorCoordinate.fromLngLat(e,n).z,rotateX:o[0],rotateY:o[1],rotateZ:o[2],scale:a},s=window.THREE;return t={id:i.id,type:"custom",renderingMode:"3d",onAdd:function(i,t){this.camera=new s.Camera,this.scene=new s.Scene;var n=new s.DirectionalLight(16777215);n.position.set(0,-70,100).normalize(),this.scene.add(n);var o=new s.DirectionalLight(16777215);o.position.set(0,70,100).normalize(),this.scene.add(o);var a=new s.ObjectLoader,r=this;a.load("https://map.sgcc.com.cn/products/js-sdk/v3/assets/model/ZH-SZC3-42.gltf",function(t){r.scene.add(t),i.flyTo({center:e,zoom:18,pitch:75,bearing:0,duration:2e3,essential:!0})}.bind(r)),this.renderer=new s.WebGLRenderer({canvas:i.getCanvas(),context:t}),this.renderer.autoClear=!1},render:function(i,t){var e=(new s.Matrix4).makeRotationAxis(new s.Vector3(1,0,0),r.rotateX),n=(new s.Matrix4).makeRotationAxis(new s.Vector3(0,1,0),r.rotateY),o=(new s.Matrix4).makeRotationAxis(new s.Vector3(0,0,1),r.rotateZ),a=(new s.Matrix4).fromArray(t),l=(new s.Matrix4).makeTranslation(r.translateX,r.translateY,r.translateZ).scale(new s.Vector3(r.scale,-r.scale,r.scale)).multiply(e).multiply(n).multiply(o);this.camera.projectionMatrix.elements=t,this.camera.projectionMatrix=a.multiply(l),this.renderer.state.reset(),this.renderer.render(this.scene,this.camera)}},t}}])}();return{mars3d:n,gaode:a,siji:r,cesium:function(){return o(function i(n){e(this,i),this.type="pointCloud",this.graphic=null,this.layerEntity=null,this.tileset=null,this.isReady=!1,this.addedToScene=!1,this.id=n.id,this.option=JSON.parse(JSON.stringify(t)),w(this.option,n),this.createCesiumPointCloud()},[{key:"createCesiumPointCloud",value:function(){try{if(console.log("开始创建Cesium点云:",this.option.url),"undefined"==typeof Cesium)return void console.error("Cesium未定义,无法创建点云");if(!this.option.url)return void console.error("点云URL未设置");var t={url:this.option.url,show:!0,maximumScreenSpaceError:16,maximumNumberOfLoadedTiles:1e3},e=Cesium.Matrix4.IDENTITY;if(this.option.position){var n=Cesium.Cartesian3.fromDegrees(this.option.position.lng,this.option.position.lat,this.option.position.alt||0);if(e=Cesium.Transforms.eastNorthUpToFixedFrame(n),this.option.scale&&1!==this.option.scale){var o=Cesium.Matrix4.fromUniformScale(this.option.scale);e=Cesium.Matrix4.multiply(e,o,new Cesium.Matrix4)}}t.modelMatrix=e;try{if(console.log("创建Cesium3DTileset,配置:",t),this.tileset=new Cesium.Cesium3DTileset(t),!this.tileset)return console.error("Cesium3DTileset创建失败"),void(this.isReady=!0);console.log("Cesium3DTileset创建成功:",this.tileset);try{this.tileset.style=new Cesium.Cesium3DTileStyle({color:{conditions:[["true",'color("red")']]}}),console.log("点云样式设置成功")}catch(i){console.warn("设置点云样式失败:",i)}this.layerEntity=this.tileset}catch(i){return void console.error("创建Cesium3DTileset失败:",i)}if(i&&i.map&&i.map.map)try{var a=i.map.map;console.log("准备添加点云到场景:",this.tileset),a.scene&&a.scene.primitives?(a.scene.primitives.contains(this.tileset)?(console.log("点云已在场景中"),this.addedToScene=!0):(console.log("将点云添加到场景中"),a.scene.primitives.add(this.tileset),this.addedToScene=!0,console.log("点云已添加到场景中:",this.id)),this.setupTilesetReadyHandling()):(console.error("场景或primitives不存在"),this.isReady=!0)}catch(i){console.error("添加点云到场景失败:",i),this.isReady=!0}}catch(i){console.error("创建Cesium点云失败:",i),this.isReady=!0}}},{key:"setupTilesetReadyHandling",value:function(){var i=this;if(!this.tileset)return console.warn("tileset未初始化"),void(this.isReady=!0);try{(function(){if(i.tileset.readyPromise&&"function"==typeof i.tileset.readyPromise.then)return console.log("使用readyPromise监听点云加载"),i.tileset.readyPromise.then(function(){console.log("点云加载完成 (via readyPromise):",i.id),i.isReady=!0,i.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100))}).catch(function(t){console.error("点云加载失败 (via readyPromise):",t),i.isReady=!0}),!0;if(i.tileset.readyEvent&&"function"==typeof i.tileset.readyEvent.addEventListener){console.log("使用readyEvent监听点云加载");var t=i.tileset.readyEvent.addEventListener(function(){console.log("点云加载完成 (via readyEvent):",i.id),i.isReady=!0,t&&"function"==typeof t&&t(),i.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100))});return!0}if(void 0!==i.tileset._ready){if(console.log("使用_ready属性监听点云加载"),i.tileset._ready)return console.log("点云已就绪 (_ready=true):",i.id),i.isReady=!0,i.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100)),!0;console.log("轮询检查点云加载状态");var e=function(){i.tileset._ready?(console.log("点云加载完成 (via polling):",i.id),i.isReady=!0,i.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100))):setTimeout(e,100)};return e(),!0}if(i.tileset.tileLoad&&"function"==typeof i.tileset.tileLoad.addEventListener){console.log("使用tileLoad事件监听点云加载");var n=i.tileset.tileLoad.addEventListener(function(){console.log("点云加载完成 (via tileLoad):",i.id),i.isReady=!0,n&&"function"==typeof n&&n(),i.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100))});return!0}return!1})()||(console.log("无法确定点云加载状态,直接标记为就绪"),this.isReady=!0,this.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100)))}catch(t){console.error("设置点云就绪处理失败:",t),this.isReady=!0,this.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100))}}},{key:"flyTo",value:function(){if(console.log("执行飞行到点云:",this.id),i&&i.map&&i.map.map){var t=i.map.map;try{if(this.tileset&&this.tileset.root&&this.tileset.root.boundingSphere)console.log("使用boundingSphere飞行"),t.flyTo(this.tileset,{duration:3,offset:new Cesium.HeadingPitchRange(0,-.5,this.tileset.root.boundingSphere.radius)});else if(this.option.position){console.log("使用配置位置飞行");var e=Cesium.Cartesian3.fromDegrees(this.option.position.lng,this.option.position.lat,(this.option.position.alt||0)+500);t.camera.flyTo({destination:e,duration:3,orientation:{heading:0,pitch:Cesium.Math.toRadians(-45),roll:0}})}else console.warn("无法飞行到点云: 缺少位置信息")}catch(i){if(console.error("飞行到点云失败:",i),this.option.position){console.log("降级处理:使用配置位置飞行");var n=Cesium.Cartesian3.fromDegrees(this.option.position.lng,this.option.position.lat,(this.option.position.alt||0)+500);t.camera.flyTo({destination:n,duration:3,orientation:{heading:0,pitch:Cesium.Math.toRadians(-45),roll:0}})}}}else console.warn("地图不可用")}},{key:"set",value:function(i){console.log("更新点云配置:",this.id,i);try{if(w(this.option,i),void 0!==i.show&&this.tileset&&(this.tileset.show=i.show),i.position&&this.tileset){var t=Cesium.Cartesian3.fromDegrees(i.position.lng,i.position.lat,i.position.alt||0),e=Cesium.Transforms.eastNorthUpToFixedFrame(t);if(i.scale&&1!==i.scale){var n=Cesium.Matrix4.fromUniformScale(i.scale);e=Cesium.Matrix4.multiply(e,n,new Cesium.Matrix4)}this.tileset.modelMatrix=e}}catch(i){console.error("更新点云配置失败:",i)}}},{key:"destroy",value:function(){var t;console.log("销毁点云:",this.id);try{var e=null===(t=null==i?void 0:i.map)||void 0===t?void 0:t.map;e&&this.tileset&&e.scene&&e.scene.primitives&&(e.scene.primitives.remove(this.tileset),console.log("Tileset 已移除"))}catch(i){console.error("销毁点云失败:",i)}finally{this.tileset=null,this.layerEntity=null,this.isReady=!1,this.addedToScene=!1}}},{key:"addPopupByAttr",value:function(){console.log("点云图层添加属性弹窗:",this.id)}}])}()}[i.mapType]}(this),this.GeoJson=function(i){var t={id:"",data:W,opacity:1,line:{show:!0,color:"#ff00ff",opacity:1,width:2},area:{show:!1,color:"#ffff00",opacity:1}};return{mars3d:function(){return o(function i(n){e(this,i),this.type="geoJson",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.id=n.id,w(this.option,n),this.config=this.formatConfig(this.option),this.layerEntity=new mars3d.layer.GeoJsonLayer(this.config)},[{key:"formatConfig",value:function(i){return{name:i.id,id:i.id,allowDrillPick:!0,data:i.data,symbol:{styleOptions:{clampToGround:!0,fill:i.area.show,randomColor:!(!i.area.show||!i.area.color),outline:i.line.show,opacity:i.opacity,outlineStyle:{color:i.line.color,width:i.line.width,opacity:i.line.opacity}}}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.layerEntity.setOptions(this.config)}},{key:"customStyle",value:function(i){this.layerEntity.options.symbol.callback=function(t){return i(t)}}},{key:"destroy",value:function(){var t=this;this.layerEntity.remove(!0),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"setData",value:function(i){this.layerEntity.loadGeoJSON(i,{clear:!0})}},{key:"clear",value:function(){this.layerEntity.clear()}},{key:"flyTo",value:function(){this.layerEntity.flyTo()}},{key:"addPopupByAttr",value:function(){this.layerEntity.bindPopup(function(i){if(i.graphic.attr){var t=i.graphic.attr;return mars3d.Util.getTemplateHtml({title:"详情",template:"all",attr:t})}})}},{key:"addCustomPopup",value:function(i){var t=this;this.layerEntity.bindPopup(function(e){return C(t,void 0,void 0,u().m(function t(){var n;return u().w(function(t){for(;;)switch(t.n){case 0:if(!e.graphic.attr){t.n=2;break}return n=e.graphic.attr||{},t.n=1,i(n);case 1:return t.a(2,t.v);case 2:return t.a(2)}},t)}))},{offsetY:-20})}}])}(),gaode:function(){return o(function n(o){e(this,n),this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.id=o.id,w(this.option,o),this.config=this.formatConfig(this.option),this.layerEntity=new AMap.HeatMap(i.map.map,this.config)},[{key:"formatConfig",value:function(i){return k(i.position.map(function(i){return{lng:i.lng,lat:i.lat,count:i.value}})),{}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.layerEntity.setOptions(this.config)}},{key:"destroy",value:function(){var t=this;this.layerEntity.setMap(null),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"flyTo",value:function(){}}])}()}[i.mapType]}(this)}}],[{key:"create",value:function(t,e,n){return C(this,void 0,void 0,u().m(function o(){var a,r,s,l,c,p;return u().w(function(o){for(;;)switch(o.p=o.n){case 0:return a=window.location.pathname.endsWith("/")?window.location.pathname:window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1),o.n=1,J(a+"lib/turf/turf.min.js","js");case 1:return r=null,s=n,o.p=2,o.n=3,i.tryCreateMap(t,e,n,a);case 3:case 6:r=o.v,o.n=8;break;case 4:return o.p=4,c=o.v,console.warn("[".concat(n,"] 地图初始化失败,尝试回退到 mars3d"),c),s="mars3d",o.p=5,o.n=6,i.tryCreateMap(t,e,"mars3d",a);case 7:throw o.p=7,p=o.v,console.error("mars3d 回退也失败了!",p),new Error("所有地图类型均无法加载,请检查网络或资源配置");case 8:return i.allowConstruction=!0,o.p=9,(l=new i(t,e,s,r)).initModules(),o.a(2,l);case 10:return o.p=10,i.allowConstruction=!1,o.f(10);case 11:return o.a(2)}},o,null,[[9,,10,11],[5,7],[2,4]])}))}},{key:"tryCreateMap",value:function(t,e,n,o){return C(this,void 0,void 0,u().m(function a(){var r,s,l;return u().w(function(a){for(;;)switch(a.n){case 0:l=n,a.n="mars3d"===l?1:"gaode"===l?8:"siji"===l?12:"cesium"===l?17:19;break;case 1:return a.n=2,J(o+"lib/Cesium/Widgets/widgets.css","css");case 2:return a.n=3,J(o+"lib/Cesium/Cesium.js","js");case 3:return a.n=4,J(o+"lib/mars3d/mars3d.css","css");case 4:return a.n=5,J(o+"lib/mars3d/mars3d.js","js");case 5:return a.n=6,J(o+"lib/mars3d/plugins/heatmap/heatmap.js","js");case 6:return a.n=7,J(o+"lib/mars3d/plugins/heatmap/mars3d-heatmap.js","js");case 7:return O(),a.a(3,20);case 8:return a.n=9,J("https://webapi.amap.com/maps?v=2.0&key=".concat(e.gaode_key,"&plugin=AMap.HeatMap,AMap.MarkerCluster,AMap.MoveAnimation"),"js");case 9:return a.n=10,J("https://a.amap.com/jsapi_demos/static/data3d/lib/three.117.js","js");case 10:return a.n=11,J("https://a.amap.com/jsapi_demos/static/data3d/lib/GLTFLoader.117.min.js","js");case 11:case 16:case 18:return a.a(3,20);case 12:return a.n=13,J(e.sj_js_url,"js");case 13:if("undefined"!=typeof SGMap){a.n=14;break}throw new Error("siji 地图 JS 加载成功但 SGMap 未定义");case 14:return a.n=15,SGMap.tokenTask.login(e.sj_app_key,e.sj_app_secret);case 15:return a.n=16,SGMap.plugin(["SGMap.DrawPolygonHandler","SGMap.DrawCircleHandler","SGMap.DrawRectangleHandler","SGMap.GeocodingTask","SGMap.RoadNetLayer"]);case 17:return a.n=18,i.loadCesiumResources(e,o);case 19:throw new Error("不支持的地图类型: ".concat(n));case 20:return r=P({id:t,option:e,mapType:n}),a.n=21,r.create(t,e);case 21:return s=a.v,a.a(2,s)}},a)}))}},{key:"loadCesiumResources",value:function(i,t){return C(this,void 0,void 0,u().m(function e(){return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,J(t+"lib/Cesium/Widgets/widgets.css","css");case 1:return e.n=2,J(t+"lib/Cesium/Cesium.js","js");case 2:return e.n=3,new Promise(function(t,e){var n=Date.now(),o=function(){var a=Date.now();"undefined"!=typeof Cesium?(i.cesium_accessToken&&(Cesium.Ion.defaultAccessToken=i.cesium_accessToken),t()):a-n>1e4?e(new Error("Cesium加载超时")):setTimeout(o,100)};o()});case 3:return e.a(2)}},e)}))}}])}();z.allowConstruction=!1;var J=function(i,t){return new Promise(function(e,n){if(function(i){return!!Array.from(document.getElementsByTagName("script")).some(function(t){return t.src.includes(i)})||Array.from(document.getElementsByTagName("link")).some(function(t){return t.href.includes(i)})}(i))e();else if("css"===t){var o=document.createElement("link");o.rel="stylesheet",o.href=i,o.onload=function(){return e()},o.onerror=n,document.head.appendChild(o)}else{var a=document.createElement("script");a.src=i,a.onload=function(){return e()},a.onerror=n,document.body.appendChild(a)}})};return z});
1
+ !function(i,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(i="undefined"!=typeof globalThis?globalThis:i||self).HnMap=t()}(this,function(){"use strict";function i(i,t){(null==t||t>i.length)&&(t=i.length);for(var e=0,n=Array(t);e<t;e++)n[e]=i[e];return n}function t(i,t,e){return t=s(t),p(i,c()?Reflect.construct(t,e||[],s(i).constructor):t.apply(i,e))}function e(i,t){if(!(i instanceof t))throw new TypeError("Cannot call a class as a function")}function n(i,t){for(var e=0;e<t.length;e++){var n=t[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(i,y(n.key),n)}}function o(i,t,e){return t&&n(i.prototype,t),e&&n(i,e),Object.defineProperty(i,"prototype",{writable:!1}),i}function a(i,t,e){return(t=y(t))in i?Object.defineProperty(i,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):i[t]=e,i}function r(){return r="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(i,t,e){var n=function(i,t){for(;!{}.hasOwnProperty.call(i,t)&&null!==(i=s(i)););return i}(i,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?i:e):o.value}},r.apply(null,arguments)}function s(i){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(i){return i.__proto__||Object.getPrototypeOf(i)},s(i)}function l(i,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(t&&t.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),Object.defineProperty(i,"prototype",{writable:!1}),t&&d(i,t)}function c(){try{var i=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(i){}return(c=function(){return!!i})()}function p(i,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(i){if(void 0===i)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}(i)}function u(){var i,t,e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",o=e.toStringTag||"@@toStringTag";function a(e,n,o,a){var l=n&&n.prototype instanceof s?n:s,c=Object.create(l.prototype);return h(c,"_invoke",function(e,n,o){var a,s,l,c=0,p=o||[],u=!1,h={p:0,n:0,v:i,a:d,f:d.bind(i,4),d:function(t,e){return a=t,s=0,l=i,h.n=e,r}};function d(e,n){for(s=e,l=n,t=0;!u&&c&&!o&&t<p.length;t++){var o,a=p[t],d=h.p,f=a[2];e>3?(o=f===n)&&(l=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=i):a[0]<=d&&((o=e<2&&d<a[1])?(s=0,h.v=n,h.n=a[1]):d<f&&(o=e<3||a[0]>n||n>f)&&(a[4]=e,a[5]=n,h.n=f,s=0))}if(o||e>1)return r;throw u=!0,n}return function(o,p,f){if(c>1)throw TypeError("Generator is already running");for(u&&1===p&&d(p,f),s=p,l=f;(t=s<2?i:l)||!u;){a||(s?s<3?(s>1&&(h.n=-1),d(s,l)):h.n=l:h.v=l);try{if(c=2,a){if(s||(o="next"),t=a[o]){if(!(t=t.call(a,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=i}else if((t=(u=h.n<0)?l:e.call(n,h))!==r)break}catch(t){a=i,s=1,l=t}finally{c=1}}return{value:t,done:u}}}(e,o,a),!0),c}var r={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var p=[][n]?t(t([][n]())):(h(t={},n,function(){return this}),t),d=c.prototype=s.prototype=Object.create(p);function f(i){return Object.setPrototypeOf?Object.setPrototypeOf(i,c):(i.__proto__=c,h(i,o,"GeneratorFunction")),i.prototype=Object.create(d),i}return l.prototype=c,h(d,"constructor",c),h(c,"constructor",l),l.displayName="GeneratorFunction",h(c,o,"GeneratorFunction"),h(d),h(d,o,"Generator"),h(d,n,function(){return this}),h(d,"toString",function(){return"[object Generator]"}),(u=function(){return{w:a,m:f}})()}function h(i,t,e,n){var o=Object.defineProperty;try{o({},"",{})}catch(i){o=0}h=function(i,t,e,n){function a(t,e){h(i,t,function(i){return this._invoke(t,e,i)})}t?o?o(i,t,{value:e,enumerable:!n,configurable:!n,writable:!n}):i[t]=e:(a("next",0),a("throw",1),a("return",2))},h(i,t,e,n)}function d(i,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,t){return i.__proto__=t,i},d(i,t)}function f(i,t){return function(i){if(Array.isArray(i))return i}(i)||function(i,t){var e=null==i?null:"undefined"!=typeof Symbol&&i[Symbol.iterator]||i["@@iterator"];if(null!=e){var n,o,a,r,s=[],l=!0,c=!1;try{if(a=(e=e.call(i)).next,0===t){if(Object(e)!==e)return;l=!1}else for(;!(l=(n=a.call(e)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(i){c=!0,o=i}finally{try{if(!l&&null!=e.return&&(r=e.return(),Object(r)!==r))return}finally{if(c)throw o}}return s}}(i,t)||v(i,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(t){return function(t){if(Array.isArray(t))return i(t)}(t)||function(i){if("undefined"!=typeof Symbol&&null!=i[Symbol.iterator]||null!=i["@@iterator"])return Array.from(i)}(t)||v(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(i){var t=function(i,t){if("object"!=typeof i||!i)return i;var e=i[Symbol.toPrimitive];if(void 0!==e){var n=e.call(i,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(i)}(i,"string");return"symbol"==typeof t?t:t+""}function g(i){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(i){return typeof i}:function(i){return i&&"function"==typeof Symbol&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},g(i)}function v(t,e){if(t){if("string"==typeof t)return i(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(t,e):void 0}}function C(i,t,e,n){return new(e||(e=Promise))(function(o,a){function r(i){try{l(n.next(i))}catch(i){a(i)}}function s(i){try{l(n.throw(i))}catch(i){a(i)}}function l(i){var t;i.done?o(i.value):(t=i.value,t instanceof e?t:new e(function(i){i(t)})).then(r,s)}l((n=n.apply(i,t||[])).next())})}function w(i,t){for(var e=0,n=Object.keys(t);e<n.length;e++){var o=n[e];t[o]instanceof Object&&!Array.isArray(t[o])?(i[o]||Object.assign(i,a({},o,{})),w(i[o],t[o])):Object.assign(i,a({},o,t[o]))}return i}function k(i){return i.every(function(i){return Array.isArray(i)})?i.map(function(i){return k(i)}):i.every(function(i){return"object"===g(i)})?i.map(function(i){var t=k([i.lng,i.lat]);return Object.assign(Object.assign({},i),{lng:t[0],lat:t[1]})}):function(i,t){if(e=i,n=t,!(e<=180&&e>=-180&&n<=90&&n>=-90))return[i,t];var e,n;var o=6378245,a=.006693421622965943;function r(i,t){var e=2*i-100+3*t+.2*t*t+.1*i*t+.2*Math.sqrt(Math.abs(i));return e+=2*(20*Math.sin(6*i*Math.PI)+20*Math.sin(2*i*Math.PI))/3,e+=2*(160*Math.sin(t*Math.PI/3)+320*Math.sin(t*Math.PI/30))/3}function s(i,t){var e=300+i+2*t+.1*i*i+.1*i*t+.1*Math.sqrt(Math.abs(i));return e+=2*(20*Math.sin(6*i*Math.PI)+20*Math.sin(i*Math.PI))/3,e+=2*(150*Math.sin(i*Math.PI/3)+300*Math.sin(i*Math.PI/15))/3}var l=r(i-105,t-35),c=s(i-105,t-35),p=t/180*Math.PI,u=Math.sin(p);u=1-a*u*u;var h=Math.sqrt(u);return l=180*l/(o*(1-a)/(u*h)*Math.PI),c=180*c/(o/h*Math.cos(p)*Math.PI),[i+c,t+l]}(i[0],i[1])}function b(i,t){var e=f(i,2),n=e[0],o=e[1],a=f(t,2),r=a[0],s=a[1],l=[Number(n),Number(o)];return[l,[Number(r),Number(o)],[Number(r),Number(s)],[Number(n),Number(s)],l]}function E(i){if(18==i)return 0;var t=Math.min(18,Math.max(1,i)),e=6378137*Math.PI/Math.pow(2,t);return parseFloat(e.toFixed(2))}function S(i){if(i>32e6)return 1;if(i<=0)return 18;var t=2+Math.log(32e6/i)/Math.log(2);return t=Math.floor(t),Math.max(1,Math.min(18,t))}function D(i){return i.map(function(i){return Array.isArray(i)?i.map(function(i){return Array.isArray(i)?i.map(function(i){return Number(i)}):Number(i)}):Number(i)})}function O(){if("undefined"!=typeof Cesium&&Cesium.TileProviderError){var i=Cesium.TileProviderError.reportError;Cesium.TileProviderError.reportError=function(t,e,n,o,a,r,s,l){if((null==o?void 0:o.includes("Failed to obtain image"))||(null==o?void 0:o.includes("无法获得图块"))||(null==o?void 0:o.includes("404"))||l&&404===l.status||(null==o?void 0:o.includes("NetworkError"))||(null==o?void 0:o.includes("not found"))){if(Cesium.defined(n)&&n.numberOfListeners>0){var c=t;return Cesium.defined(t)?(c.provider=e,c.message=o,c.x=a,c.y=r,c.level=s,c.retry=!1,c.error=l,c.timesRetried=Cesium.defaultValue(c.timesRetried,0)+1):c=new Cesium.TileProviderError(e,o,a,r,s,0,l),n.raiseEvent(c),c}return t||new Cesium.TileProviderError(e,o,a,r,s,0,l)}return i.apply(this,arguments)}}}"function"==typeof SuppressedError&&SuppressedError;var P=function(i){var t={lat:37.7979042,lng:112.55074,level:8,heading:0,pitch:-90,roll:0,mars3d_config:"",gaode_key:"",tdt_key:"",roadNetworkGeoJSON:null,sj_app_key:"",sj_app_secret:"",sj_style:"aegis://styles/aegis/Streets-Raster512",sj_route_net:!0,cesium_accessToken:"",cesium_terrainProvider:null,cesium_imageryProvider:null},n=function(){function i(n,o){var a=this;e(this,i),this.map=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerList=[],this.event={},this.level=null,this.layerList=[],w(this.option,o),this.config=this.formatConfig(this.option),this.map=new mars3d.Map(n,this.config),this.map.on("cameraMoveEnd",function(i){var t=a.map.getCameraView().alt;a.level=S(t)})}return o(i,[{key:"formatConfig",value:function(i){var t=E(i.level);return Object.assign(Object.assign({},i.mars3d_config),{control:{locationBar:{fps:!0}},scene:{center:{lat:i.lat,lng:i.lng,alt:t,heading:360-i.heading||0,pitch:i.pitch||0,roll:i.roll||0},fxaa:!0,requestRenderMode:!0}})}},{key:"addLayer",value:function(i){if(!this.layerList.find(function(t){return t.id===i.id}))return this.layerList.push(i),this.map.addLayer(i.layerEntity),i;console.error("已存在同名图层"+i.id)}},{key:"getLayer",value:function(i){return this.layerList.find(function(t){return t.id===i})}},{key:"removeLayer",value:function(i){var t=this.getLayer(i);t&&(this.layerList=this.layerList.filter(function(t){return t.id!==i}),t.destroy())}},{key:"clearLayer",value:function(i){var t=this.getLayer(i);t&&(t.children=[],t.clearEntity())}},{key:"on",value:function(i,t){switch(this.off(i),i){case"click":this.event[i]=function(i){var e=mars3d.LngLatPoint.fromCartesian(i.cartesian);e.format();var n={lng:e.lng,lat:e.lat,alt:e.alt};t(n)};break;case"cameraMoveEnd":this.event[i]=function(i){t(i)}}this.map.on(i,this.event[i])}},{key:"off",value:function(i){this.event[i]&&(this.map.off(i,this.event[i]),delete this.event[i])}},{key:"getExtent",value:function(){return this.map.getExtent()}},{key:"getCameraView",value:function(){return this.map.getCameraView()}},{key:"flyToPoint",value:function(i){var t=new mars3d.LngLatPoint(i[0],i[1],i[2]);this.map.flyToPoint(t)}},{key:"closePopup",value:function(){this.map.closePopup()}},{key:"setMode",value:function(i){var t={"2d":Cesium.SceneMode.SCENE2D,"3d":Cesium.SceneMode.SCENE3D};this.map.scene.mode=t[i.toLowerCase()]}}],[{key:"create",value:function(t,e){return C(this,void 0,void 0,u().m(function n(){var o;return u().w(function(n){for(;;)switch(n.n){case 0:return o=new i(t,e),n.n=1,new Promise(function(i){i()});case 1:return n.a(2,o)}},n)}))}}])}(),a=function(){function i(n,o){e(this,i),this.map=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerList=[],this.layerList=[],w(this.option,o),this.config=this.formatConfig(this.option),this.map=new AMap.Map(n,this.config)}return o(i,[{key:"formatConfig",value:function(i){return{viewMode:"2D",zoom:i.level,pitch:i.pitch,rotation:i.heading,rotateEnable:!0,pitchEnable:!0,terrain:!0,center:[i.lng,i.lat]}}},{key:"addLayer",value:function(i){if(!this.layerList.find(function(t){return t.id===i.id}))return this.layerList.push(i),this.map.add(i.layerEntity),i;console.error("已存在同名图层")}},{key:"getLayer",value:function(i){return this.layerList.find(function(t){return t.id===i})}},{key:"removeLayer",value:function(i){var t=this.getLayer(i);t&&(t.destroy(),this.layerList=this.layerList.filter(function(t){return t.id!==i}))}},{key:"clearLayer",value:function(i){var t=this.getLayer(i);t&&(t.children=[],t.clearEntity())}}],[{key:"create",value:function(t,e){return C(this,void 0,void 0,u().m(function n(){var o;return u().w(function(n){for(;;)switch(n.n){case 0:return o=new i(t,e),n.n=1,new Promise(function(i){i()});case 1:return n.a(2,o)}},n)}))}}])}(),r=function(){function i(n,o){var a=this;e(this,i),this.id=null,this.map=null,this.geocodingTask=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerList=[],this.event={},this.level=null,this.id=n,this.layerList=[],this.level=this.option.level,w(this.option,o),this.config=this.formatConfig(this.option),this.map=new SGMap.Map(this.config),this.geocodingTask=new SGMap.GeocodingTask,this.map.on("moveend",function(i){return a.updateMapParams(i)}),this.map.on("zoomend",function(i){return a.updateMapParams(i)}),this.map.on("pitchend",function(i){return a.updateMapParams(i)})}return o(i,[{key:"formatConfig",value:function(i){return{container:this.id,style:i.sj_style||"aegis://styles/aegis/StreetsDark-v2",zoom:i.level,center:[i.lng,i.lat],localIdeographFontFamily:"Microsoft YaHei Regular"}}},{key:"addLayer",value:function(i){if(this.layerList.find(function(t){return t.id===i.id}))console.error("已存在同名图层");else if(this.map)return this.layerList.push(i),i}},{key:"getLayer",value:function(i){return this.layerList.find(function(t){return t.id===i})}},{key:"removeLayer",value:function(i){var t=this.getLayer(i);t.id&&(this.layerList=this.layerList.filter(function(t){return t.id!==i}),t.destroy())}},{key:"clearLayer",value:function(i){var t=this.getLayer(i);t&&(t.children=[],t.clearEntity())}},{key:"getExtent",value:function(){var i=this.map.getBounds();return{xmin:i._sw.lng,ymin:i._sw.lat,xmax:i._ne.lng,ymax:i._ne.lat}}},{key:"on",value:function(i,t){var e=this;switch(this.off(i),i){case"click":this.event[i]=function(i){t({lng:i.lngLat.lng,lat:i.lngLat.lat,alt:i.lngLat.alt||0},i)};break;case"dblclick":case"moveend":case"zoomend":case"mouseenter":case"mouseleave":case"mousemove":this.event[i]=function(i){t(i)};break;case"cameraMoveEnd":this.event[i]=function(){e.map.on("moveend",function(i){return t(i)}),e.map.on("zoomend",function(i){return t(i)}),e.map.on("pitchend",function(i){return t(i)})},this.event[i]()}this.map.on(i,this.event[i])}},{key:"off",value:function(i){this.event[i]&&(this.map.off(i,this.event[i]),delete this.event[i])}},{key:"updateMapParams",value:function(i){this.level=this.map.getZoom();var t=this.getExtent();this.level!==this.option.level&&this.layerList.forEach(function(i){i.children.forEach(function(e){e.option.distanceDisplayCondition&&i.updateEntity(e,t)})})}}],[{key:"create",value:function(t,e){return C(this,void 0,void 0,u().m(function n(){var o;return u().w(function(n){for(;;)switch(n.n){case 0:return o=new i(t,e),n.n=1,new Promise(function(i){o.map.on("load",function(t){e.sj_route_net&&new SGMap.RoadNetLayer({map:o.map}).render();o.map.addLayer({id:"sky",type:"sky",paint:{"sky-type":"atmosphere","sky-atmosphere-sun":[0,0],"sky-atmosphere-sun-intensity":15}}),i(t)})});case 1:return n.a(2,o)}},n)}))}}])}(),s=function(){function i(n,o){var a=this;if(e(this,i),this.map=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerList=[],this.event={},this.level=null,this.globalClickHandler=null,this.entityClickHandlers=new Map,this.layerList=[],w(this.option,o),this.config=this.formatConfig(this.option),"undefined"==typeof Cesium)throw new Error("Cesium未加载,请检查资源加载顺序");this.map=new Cesium.Viewer(n,this.config),this.map.dataSources||(this.map.dataSources=new Cesium.DataSourceCollection),this.map._cesiumWidget&&this.map._cesiumWidget._creditContainer&&(this.map._cesiumWidget._creditContainer.style.display="none"),this.map.camera.moveEnd.addEventListener(function(){var i=a.map.camera,t=Cesium.Cartographic.fromCartesian(i.position).height;a.level=S(t),a.event.cameraMoveEnd&&a.event.cameraMoveEnd()});var r=this.option,s=r.lat,l=r.lng,c=r.level,p=r.heading,u=r.pitch,h=r.roll,d=E(c),f=Cesium.Cartesian3.fromDegrees(l,s,d),m=new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(p),Cesium.Math.toRadians(u),Cesium.Math.toRadians(h));this.map.camera.setView({destination:f,orientation:m}),setTimeout(function(){a.addMars3dStyleRoadNetwork()},100),this.setupGlobalClickHandler()}return o(i,[{key:"formatConfig",value:function(i){return{scene3DOnly:!0,geocoder:!1,baseLayerPicker:!1,fullscreenButton:!1,contextOptions:{webgl:{alpha:!0,antialias:!0,preserveDrawingBuffer:!0,powerPreference:"default"}},animation:!1,timeline:!1,navigationHelpButton:!1,selectionIndicator:!1,homeButton:!1,shouldAnimate:!0,infoBox:!1}}},{key:"setupGlobalClickHandler",value:function(){var i=this;this.globalClickHandler&&this.globalClickHandler.destroy(),this.globalClickHandler=new Cesium.ScreenSpaceEventHandler(this.map.canvas),this.globalClickHandler.setInputAction(function(t){var e=i.map.scene.pick(t.position);if(e&&e.id){var n=i.entityClickHandlers.get(e.id);n&&n.length>0&&n.forEach(function(i){return i(t)})}},Cesium.ScreenSpaceEventType.LEFT_CLICK)}},{key:"addMars3dStyleRoadNetwork",value:function(){this.option.roadNetworkGeoJSON?this.addGeoJSONRoadNetwork():this.option.tdt_key?this.addTiandituVectorLayer():this.addGaodeVectorLayer()}},{key:"addGeoJSONRoadNetwork",value:function(){var i=this;try{var t=this.option.roadNetworkGeoJSON,e=new Cesium.GeoJsonDataSource("RoadNetwork");e.load(t,{stroke:Cesium.Color.fromCssColorString("#ff6b6b"),strokeWidth:2,fill:Cesium.Color.fromCssColorString("rgba(255, 255, 255, 0)"),markerSymbol:"none"}).then(function(){i.map.dataSources.add(e),console.log("GeoJSON路网添加成功")}).catch(function(t){console.error("GeoJSON路网加载失败:",t),i.addTiandituVectorLayer()})}catch(i){console.error("GeoJSON路网添加失败:",i),this.addTiandituVectorLayer()}}},{key:"addTiandituVectorLayer",value:function(){try{var i=this.option.tdt_key;this.option.tdsk_key;console.warn("未配置tdsk_key,尝试使用传统TK验证方式(可能受限)");var t=new Cesium.WebMapTileServiceImageryProvider({url:"https://t0.tianditu.gov.cn/DataServer?T=cva_w&x={TileCol}&y={TileRow}&l={TileMatrix}&tk=".concat(i),layer:"cva",style:"default",format:"tiles",tileMatrixSetID:"GoogleMapsCompatible",maximumLevel:18,credit:new Cesium.Credit("天地图")}),e=this.map.imageryLayers.addImageryProvider(t);this.map.imageryLayers.raiseToTop(e),console.log("天地图路网标注添加成功(TK验证)")}catch(i){console.error("天地图路网添加失败:",i),this.addArcGISStreetLayer()}}},{key:"addGaodeVectorLayer",value:function(){try{var i=new Cesium.UrlTemplateImageryProvider({url:"https://webst0{s}.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}",subdomains:["1","2","3","4"],minimumLevel:1,maximumLevel:18,credit:new Cesium.Credit("高德注记")}),t=this.map.imageryLayers.addImageryProvider(i);this.map.imageryLayers.raiseToTop(t)}catch(i){console.error("高德路网添加失败:",i),this.addArcGISStreetLayer()}}},{key:"addArcGISStreetLayer",value:function(){try{var i=new Cesium.ArcGisMapServerImageryProvider({url:"https://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer",tileDiscardPolicy:void 0,enablePickFeatures:!1,credit:new Cesium.Credit("Esri",!1)}),t=this.map.imageryLayers.addImageryProvider(i);this.map.imageryLayers.raiseToTop(t),console.log("ArcGIS街道路网添加成功")}catch(i){console.error("ArcGIS街道添加失败:",i),console.warn("ArcGIS服务不可用,保持当前底图")}}},{key:"addLayer",value:function(i){var t=this;if(this.layerList.find(function(t){return t.id===i.id}))return console.error("已存在同名图层"+i.id),null;this.layerList.push(i);var e=i.layerEntity;if(e)if(e instanceof Cesium.CustomDataSource||e instanceof Cesium.DataSource)try{this.map.dataSources.add(e)}catch(i){console.error("添加数据源失败:",i),setTimeout(function(){try{t.map.dataSources.add(e)}catch(i){console.error("重新添加数据源也失败:",i)}},100)}else e instanceof Cesium.Primitive||e instanceof Cesium.PrimitiveCollection?this.map.scene.primitives.add(e):e instanceof Cesium.Entity&&this.map.entities.add(e);return i}},{key:"getLayer",value:function(i){return this.layerList.find(function(t){return t.id===i})}},{key:"removeLayer",value:function(i){var t,e=this,n=this.getLayer(i);if(n){var o=n.layerEntity;o&&this.map&&(o instanceof Cesium.DataSource?this.map.dataSources&&"function"==typeof this.map.dataSources.remove&&this.map.dataSources.remove(o):o instanceof Cesium.PrimitiveCollection||o instanceof Cesium.Primitive?this.map.scene.primitives.remove(o):o instanceof Cesium.Entity?this.map.entities.remove(o):Array.isArray(o)&&o.forEach(function(i){i instanceof Cesium.Entity&&e.map.entities.remove(i)})),this.layerList=this.layerList.filter(function(t){return t.id!==i}),null===(t=n.destroy)||void 0===t||t.call(n)}}},{key:"clearLayer",value:function(i){var t=this.getLayer(i);t&&(t.children=[],t.clearEntity())}},{key:"on",value:function(i,t){var e=this;switch(this.off(i),i){case"click":this.event[i]=function(i){var n=e.map.camera.getPickRay(i.position);if(n){var o=e.map.scene.globe.pick(n,e.map.scene);if(o){var a=Cesium.Cartographic.fromCartesian(o),r={lng:Cesium.Math.toDegrees(a.longitude),lat:Cesium.Math.toDegrees(a.latitude),alt:a.height};t(r)}}},this.map.screenSpaceEventHandler.setInputAction(function(t){e.event[i](t)},Cesium.ScreenSpaceEventType.LEFT_CLICK);break;case"cameraMoveEnd":this.event[i]=function(i){t(i)};break;case"mouseMove":this.event[i]=function(i){t(i)},this.map.screenSpaceEventHandler.setInputAction(function(t){e.event[i](t)},Cesium.ScreenSpaceEventType.MOUSE_MOVE)}}},{key:"off",value:function(i){this.event[i]&&(this.map.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK),delete this.event[i])}},{key:"getExtent",value:function(){var i=this,t=this.map.camera;t.frustum;var e=[new Cesium.Cartesian2(0,0),new Cesium.Cartesian2(this.map.canvas.width,0),new Cesium.Cartesian2(this.map.canvas.width,this.map.canvas.height),new Cesium.Cartesian2(0,this.map.canvas.height)],n=180,o=-180,a=90,r=-90;return e.forEach(function(e){var s=t.getPickRay(e);if(s){var l=i.map.scene.globe.pick(s,i.map.scene);if(l){var c=Cesium.Cartographic.fromCartesian(l),p=Cesium.Math.toDegrees(c.longitude),u=Cesium.Math.toDegrees(c.latitude);n=Math.min(n,p),o=Math.max(o,p),a=Math.min(a,u),r=Math.max(r,u)}}}),{xmin:n,xmax:o,ymin:a,ymax:r}}},{key:"getCameraView",value:function(){var i=this.map.camera,t=i.positionWC,e=Cesium.Cartographic.fromCartesian(t);return{lng:Cesium.Math.toDegrees(e.longitude),lat:Cesium.Math.toDegrees(e.latitude),alt:e.height,heading:Cesium.Math.toDegrees(i.heading),pitch:Cesium.Math.toDegrees(i.pitch),roll:Cesium.Math.toDegrees(i.roll)}}},{key:"flyToPoint",value:function(i){var t=f(i,3),e=t[0],n=t[1],o=t[2],a=Cesium.Cartesian3.fromDegrees(e,n,o);this.map.camera.flyTo({destination:a,duration:2,complete:function(){console.log("飞行动画完成")}})}},{key:"flyToExtent",value:function(i){var t=Cesium.Rectangle.fromDegrees(i.xmin,i.ymin,i.xmax,i.ymax);this.map.camera.flyTo({destination:t,duration:2})}},{key:"closePopup",value:function(){this.map.selectedEntity=null,this.map.trackedEntity=null}},{key:"setMode",value:function(i){var t={"2d":Cesium.SceneMode.SCENE2D,"3d":Cesium.SceneMode.SCENE3D,columbus:Cesium.SceneMode.COLUMBUS_VIEW};t[i.toLowerCase()]&&(this.map.scene.mode=t[i.toLowerCase()])}},{key:"destroy",value:function(){this.map&&(this.map.destroy(),this.map=null)}}],[{key:"create",value:function(t,e){return C(this,void 0,void 0,u().m(function n(){var o;return u().w(function(n){for(;;)switch(n.n){case 0:if(!(o=new i(t,e)).map.scene.initializePromise){n.n=1;break}return n.n=1,o.map.scene.initializePromise;case 1:return n.a(2,o)}},n)}))}}])}();return{mars3d:n,gaode:a,siji:r,cesium:s}[i.mapType]},M=function(i){var t=function(){return o(function i(t){var n=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e(this,i),this.viewer=null,this.popupElement=null,this.popupContainer=null,this.currentEntity=null,this.screenSpaceEventHandler=null,this.isPopupVisible=!1,this.defaultStyle={},this.handleOutsideClick=function(i){n.popupElement&&!n.popupElement.contains(i.target)&&(console.log(1111111111111),n.hide())},this.viewer=t,this.defaultStyle={container:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",pointerEvents:"none",zIndex:"1000",display:"none"},popup:{position:"absolute",pointerEvents:"auto",zIndex:"1002",transform:"translate(-50%, -100%)"},close:{position:"absolute",top:"5px",right:"5px",width:"20px",height:"20px",lineHeight:"20px",textAlign:"center",cursor:"pointer",fontSize:"16px",color:"#666",zIndex:"1002"}},o.style&&this.mergeStyles(this.defaultStyle,o.style),this.initPopup()},[{key:"mergeStyles",value:function(i,t){for(var e in t)!i.hasOwnProperty(e)||"object"!==g(i[e])||i[e]instanceof Array?i[e]=t[e]:this.mergeStyles(i[e],t[e])}},{key:"initPopup",value:function(){var i=this;this.popupContainer=document.createElement("div"),this.popupContainer.className="cesium-popup-container",this.applyStyles(this.popupContainer,this.defaultStyle.container),this.popupElement=document.createElement("div"),this.popupElement.className="cesium-popup",this.applyStyles(this.popupElement,this.defaultStyle.popup);var t=document.createElement("div");t.className="cesium-popup-close",t.innerHTML="×",this.applyStyles(t,this.defaultStyle.close),t.onclick=function(){return i.hide()};var e=document.createElement("div");e.className="cesium-popup-content",this.popupElement.appendChild(t),this.popupElement.appendChild(e),this.popupContainer.appendChild(this.popupElement),this.viewer&&this.viewer.container&&this.viewer.container.appendChild(this.popupContainer)}},{key:"show",value:function(i,t){var e=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"详细信息";if(this.popupContainer&&this.popupElement){var o=this.popupElement.querySelector(".cesium-popup-title");o&&(o.textContent=n);var a=this.popupElement.querySelector(".cesium-popup-content");if(a&&(a.innerHTML="","string"==typeof t?a.innerHTML=t:a.appendChild(t)),i.cartesian){var r=this.viewer.scene.cartesianToCanvasCoordinates(i.cartesian);r&&(this.popupElement.style.left="".concat(r.x,"px"),this.popupElement.style.top="".concat(r.y,"px"))}else void 0!==i.x&&void 0!==i.y&&(this.popupElement.style.left="".concat(i.x,"px"),this.popupElement.style.top="".concat(i.y,"px"));this.popupContainer.style.display="block",this.isPopupVisible=!0,setTimeout(function(){document.addEventListener("click",e.handleOutsideClick)},0)}}},{key:"hide",value:function(){this.popupContainer&&this.popupContainer.parentNode&&(document.removeEventListener("click",this.handleOutsideClick),this.popupContainer.parentNode.removeChild(this.popupContainer),this.popupContainer=null,this.popupElement=null,this.isPopupVisible=!1,this.currentEntity=null)}},{key:"applyStyles",value:function(i,t){for(var e in t)if(t.hasOwnProperty(e)){var n=this.toKebabCase(e);i.style.setProperty(n,t[e])}}},{key:"toKebabCase",value:function(i){return i.replace(/[A-Z]/g,function(i){return"-".concat(i.toLowerCase())})}},{key:"destroy",value:function(){this.hide(),this.popupContainer&&this.popupContainer.parentNode&&this.popupContainer.parentNode.removeChild(this.popupContainer),this.screenSpaceEventHandler&&this.screenSpaceEventHandler.destroy()}}])}();return t},N=function(i){var t={},n=function(){return o(function i(n){e(this,i),this.type="layer",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.children=null,this.layerEntity=null,this.id=n.id,this.children=[],w(this.option,n),this.config=this.formatConfig(this.option),this.layerEntity=new mars3d.layer.GraphicLayer(this.config)},[{key:"formatConfig",value:function(i){return i}},{key:"getEntity",value:function(i){return this.children.find(function(t){return t.id===i})}},{key:"addEntity",value:function(t){this.children.find(function(i){return i.id===t.id})?console.error("已存在同名图形"+t.id):(this.children.push(t),"route"==t.type?(this.layerEntity.addGraphic(t.graphic),t.start()):"pointCloud"==t.type||"heatMap"==t.type?i.map.map.addLayer(t.layerEntity):"cluster"==t.type?(i.map.map.addLayer(t.layerEntity),t.option.position&&t.option.position.length>0&&setTimeout(function(){t.setPosition(t.option.position),t.flyTo()},100)):this.layerEntity.addGraphic(t.graphic))}},{key:"removeEntity",value:function(t){var e=this.getEntity(t);e&&(this.children=this.children.filter(function(i){return i.id!==e.id}),"pointCloud"!==e.type&&"heatMap"!==e.type&&"cluster"!==e.type||i.map.map.removeLayer(e.id),this.layerEntity.removeGraphic(e.graphic))}},{key:"clearEntity",value:function(){this.children.forEach(function(i){return i.destroy()}),this.children=[],this.layerEntity.clear()}},{key:"destroy",value:function(){var t=this;this.clearEntity(),this.layerEntity.remove(!0),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"show",value:function(){this.layerEntity.show=!0}},{key:"hide",value:function(){this.layerEntity.show=!1}},{key:"flyTo",value:function(){this.layerEntity.flyTo()}},{key:"flyToCustomEntities",value:function(t){var e=180,n=-180,o=90,a=-90;t.forEach(function(i){i.graphic.positions.forEach(function(i){var t=mars3d.Cesium.Cartographic.fromCartesian(i),r=mars3d.Cesium.Math.toDegrees(t.longitude),s=mars3d.Cesium.Math.toDegrees(t.latitude);e=Math.min(e,r),n=Math.max(n,r),o=Math.min(o,s),a=Math.max(a,s)})}),i.map.map.flyToExtent({xmin:e,xmax:n,ymin:o,ymax:a})}},{key:"addPopupByAttr",value:function(){this.layerEntity.bindPopup(function(i){if(i.graphic.attr){var t=i.graphic.attr;return mars3d.Util.getTemplateHtml({title:"详情",template:"all",attr:t})}})}},{key:"addCustomPopup",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{offsetY:-20};this.layerEntity.bindPopup(function(n){return C(e,void 0,void 0,u().m(function e(){var o,a;return u().w(function(e){for(;;)switch(e.n){case 0:if(!n.graphic.attr){e.n=3;break}return o=n.graphic.attr||{},e.n=1,t(o);case 1:if(!(a=e.v)){e.n=2;break}return e.a(2,a);case 2:i.map.closePopup();case 3:return e.a(2)}},e)}))},n)}}])}();return{mars3d:n,gaode:function(){return o(function i(n){e(this,i),this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.children=null,this.layerEntity=null,this.propsInfoWindow=null,this.customInfoWindow=null,this.getCustomDom=null,this.id=n.id,this.children=[],w(this.option,n),this.config=this.formatConfig(this.option),this.layerEntity=new AMap.OverlayGroup([]),this.layerEntity.id=n.id},[{key:"formatConfig",value:function(i){return i}},{key:"getEntity",value:function(i){return this.children.find(function(t){return t.id===i})}},{key:"addEntity",value:function(i){this.children.find(function(t){return t.id===i.id})?console.error("已存在同名图形"+i.id):(this.children.push(i),this.layerEntity.addOverlay(i.graphic),this.propsInfoWindow&&this.addPopupByAttr(),this.customInfoWindow)}},{key:"removeEntity",value:function(i){var t=this.getEntity(i);t&&(this.children=this.children.filter(function(i){return i.id!==t.id}),this.layerEntity.removeOverlay(t.graphic),t.destroy())}},{key:"clearEntity",value:function(){this.children=[],this.layerEntity.clearOverlays()}},{key:"destroy",value:function(){var t=this;this.clearEntity(),i.map.map.remove(this.layerEntity),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"addPopupByAttr",value:function(){var t=this;this.propsInfoWindow||(this.propsInfoWindow=new AMap.InfoWindow({offset:new AMap.Pixel(0,-30)}));var e=function(e){var n=e.target.getOptions().extData.data,o="";for(var a in n)o+="<div>".concat(a,": ").concat(n[a],"</div>");t.propsInfoWindow.setContent(o),t.propsInfoWindow.open(i.map.map,e.lnglat)};this.layerEntity.off("click",e),this.layerEntity.on("click",e)}},{key:"addCustomPopup",value:function(t){var e=this;this.customInfoWindow||(this.customInfoWindow=new AMap.InfoWindow({offset:new AMap.Pixel(0,-30)})),t&&(this.getCustomDom=t);var n=function(t){var n=t.target.getOptions().extData.data,o=e.getCustomDom(n);e.customInfoWindow.setContent(o),e.customInfoWindow.open(i.map.map,t.lnglat)};this.layerEntity.off("click",n),this.layerEntity.on("click",n)}}])}(),siji:function(){return o(function i(n){e(this,i),this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.children=null,this.hideChildrenMap=null,this.layerEntity=null,this.infoWindow=null,this.entity=null,this.id=n.id,this.children=[],this.hideChildrenMap={},w(this.option,n),this.config=this.formatConfig(this.option)},[{key:"formatConfig",value:function(i){return i}},{key:"updateEntity",value:function(t,e){i.map.level>=Number(t.option.distanceDisplayCondition_far)&&i.map.level<=Number(t.option.distanceDisplayCondition_near)?!t.show&&this.isIncludesLabel(t.option.position,e)&&this.addLevelEntity(t):t.show&&this.removeLevelEntity(t)}},{key:"isIncludesLabel",value:function(i,t){return i[0]>t.xmin&&i[0]<t.xmax&&i[1]>t.ymin&&i[1]<t.ymax}},{key:"getEntity",value:function(i){return this.children.find(function(t){return t.id===i})}},{key:"addEntity",value:function(t){if(this.children.find(function(i){return i.id===t.id}))console.error("已存在同名图形"+t.id);else{this.children.push(t);var e=i.map.level>=Number(t.option.distanceDisplayCondition_far)&&i.map.level<=Number(t.option.distanceDisplayCondition_near);t.option.distanceDisplayCondition&&!e||this.addLevelEntity(t)}}},{key:"removeEntity",value:function(i){var t=this.getEntity(i);console.log(t,"======88888====="),t&&(this.children=this.children.filter(function(i){return i.id!==t.id}),this.removeLevelEntity(t))}},{key:"addLevelEntity",value:function(t){if("imagePoint"==t.type)i.map.map.loadImage(t.option.image,function(e,n){t.config.layout["icon-size"]=t.option.width/n.width,t.config.layout["icon-offset"]=[t.option.offset[0]/t.config.layout["icon-size"],t.option.offset[1]/t.config.layout["icon-size"]],i.map.map.addImage(t.id+"_image",n),i.map.map.addLayer(t.config)});else if("numPoint"==t.type)i.map.map.addLayer(t.config),i.map.map.addLayer(t.configLabel);else if("divPoint"==t.type)t.graphic.setLngLat(t.option.position).addTo(i.map.map);else if("circle"==t.type){var e={type:"Feature",properties:{centerPoint:D(t.option.position),radius:t.option.radius},geometry:{type:"Polygon",coordinates:[]}};t.graphic.addFeature(e)}else"route"==t.type?(i.map.map.addLayer(t.config_routeline),i.map.map.addLayer(t.config_routeplay),t.createCar(),t.chunkData=t.joinLinePoint(),t.start()):"pointCloud"==t.type?i.map.map.addLayer(t.config):"heatMap"==t.type?(i.map.map.addLayer(t.config_heatmap),i.map.map.addLayer(t.config_point),i.map.map.flyTo({center:[t.option.position[0].lng,t.option.position[0].lat],duration:2e3,essential:!0})):"cluster"==t.type?(i.map.map.addLayer(t.config_layer),i.map.map.addLayer(t.config_label),i.map.map.loadImage(t.option.image,function(e,n){t.config_Image.layout["icon-size"]=t.option.width/n.width,i.map.map.addImage(t.id+"_poiImage",n),i.map.map.addLayer(t.config_Image)}),i.map.map.flyTo({center:t.option.position[0].position,duration:2e3,essential:!0})):i.map.map.addLayer(t.config);t.show=!0}},{key:"removeLevelEntity",value:function(t){t&&("circle"==t.type?(t.graphic.remove(),t.graphic.clearData()):"numPoint"==t.type?(i.map.map.removeLayer(t.config.id),i.map.map.removeSource(t.config.id),i.map.map.removeLayer(t.configLabel.id),i.map.map.removeSource(t.configLabel.id)):"divPoint"==t.type?t.graphic.remove():"route"==t.type?(i.map.map.removeLayer(t.config_routeline.id),i.map.map.removeSource(t.config_routeline.id),i.map.map.removeLayer(t.config_routeplay.id),i.map.map.removeSource(t.config_routeplay.id),t.imgMarker.remove()):"imagePoint"==t.type?(i.map.map.removeImage(t.id+"_image"),i.map.map.removeLayer(t.id),i.map.map.removeSource(t.id)):"cluster"==t.type?(console.log("cluster_siji_remove",t),i.map.map.removeLayer(t.config_layer.id),i.map.map.removeLayer(t.config_label.id),i.map.map.removeImage(t.id+"_poiImage"),i.map.map.removeLayer(t.config_Image.id),i.map.map.removeSource(t.id)):(i.map.map.removeLayer(t.id),i.map.map.removeSource(t.id)),t.show=!1)}},{key:"moveEntity",value:function(t){var e=t.join(",");i.map.map.moveLayer(e)}},{key:"clearEntity",value:function(){var i=this;this.children.forEach(function(t){i.removeEntity(t.id)}),this.children=[]}},{key:"destroy",value:function(){var t=this;this.clearEntity(),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id}),console.log("销毁图层",i.map.layerList)}},{key:"addPopupByAttr",value:function(){var t=this;this.removePopup(),this.infoWindow=new SGMap.Popup({offset:{bottom:[0,0]},className:"my-attrPopup-class"});i.map.map.on("click",this.config.id,function(e){var n=e.features[0].properties,o="";for(var a in n)o+="<div>".concat(a,": ").concat(n[a],"</div>");t.infoWindow.setHTML(o),t.infoWindow.setLngLat(e.lngLat).addTo(i.map.map)})}},{key:"addCustomPopup",value:function(t){var e=this;this.removePopup(),this.infoWindow=new SGMap.Popup({offset:{bottom:[0,0]},className:"my-customPopup-class"});i.map.map.on("click",this.config.id,function(n){var o=n.features[0].properties,a=t(o);e.infoWindow.setHTML(a),e.infoWindow.setLngLat(n.lngLat).addTo(i.map.map)})}},{key:"removePopup",value:function(){this.infoWindow&&this.infoWindow.remove()}}])}(),cesium:function(){return o(function n(o){e(this,n),this.type="layer",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.children=null,this.layerEntity=null,this.show=!0,this.event={},this.screenSpaceEventHandler=null,this.popup=null,this.popupContent=null,this.showPopupOnClick=!1,this.popupStyle=null,this.id=o.id,this.children=[],w(this.option,o),this.config=this.formatConfig(this.option);try{if("undefined"!=typeof Cesium){if(this.layerEntity=new Cesium.CustomDataSource(this.id),this.layerEntity.show=this.show,i&&i.map&&i.map.map){var a=i.map.map;a instanceof Cesium.Viewer?a.dataSources.add(this.layerEntity):a.entities&&(this.layerEntity=a.entities)}}else console.error("Cesium 未加载"),this.layerEntity={entities:[]}}catch(i){console.error("创建数据源失败:",i),this.layerEntity={entities:[]}}if(i&&i.map&&i.map.map){var r=M();this.popup=new r(i.map.map,{style:this.popupStyle})}},[{key:"formatConfig",value:function(i){return i}},{key:"addEntity",value:function(i){if(this.children.find(function(t){return t.id===i.id}))console.error("已存在同名图形: ".concat(i.id));else switch(this.children.push(i),i.type){case"polygon":this.handlePolygon(i);break;case"route":this.handleRoute(i);break;case"pointCloud":this.handlePointCloud(i);break;case"cluster":this.handleCluster(i);break;case"heatMap":this.handleHeatMap(i);break;default:i.graphic&&i.graphic instanceof Cesium.Entity?this.layerEntity.entities.add(i.graphic):i.graphic&&this.addGenericEntity(i)}}},{key:"handlePolygon",value:function(i){i.polygonEntity&&this.layerEntity.entities.add(i.polygonEntity),i.outlineEntity&&this.layerEntity.entities.add(i.outlineEntity),i.layer=this}},{key:"handleRoute",value:function(i){i.graphic&&setTimeout(function(){i.start()},100),i.layer=this}},{key:"handlePointCloud",value:function(t){if(console.log("处理点云:",t.id,t),t.layer=this,t.tileset&&i&&i.map&&i.map.map){var e=i.map.map;if(t.addedToScene){console.log("点云已标记为添加到场景");try{e.scene.primitives&&!e.scene.primitives.contains(t.tileset)?(console.log("重新添加点云到场景中"),e.scene.primitives.add(t.tileset),console.log("点云 tileset 已重新添加到场景:",t.id)):console.log("点云确实已在场景中")}catch(i){console.error("重新添加点云到场景失败:",i)}}else{console.log("点云尚未标记为已添加到场景");try{e.scene.primitives&&!e.scene.primitives.contains(t.tileset)?(console.log("将点云添加到场景中"),e.scene.primitives.add(t.tileset),t.addedToScene=!0,console.log("点云 tileset 已添加到场景:",t.id)):t.addedToScene?console.log("点云已标记为添加到场景"):console.log("点云已在场景中或场景不可用")}catch(i){console.error("添加点云到场景失败:",i)}}t.option.flyTo&&(console.log("计划执行点云飞行动画"),setTimeout(function(){t.flyTo()},100))}else console.log("点云缺少必要属性或地图不可用")}},{key:"handleCluster",value:function(t){if(console.log("处理集群:",t.id,t),t.layer=this,t.clusterDataSource&&i.map.map&&i.map.map.dataSources){for(var e=!1,n=0;n<i.map.map.dataSources.length;n++)if(i.map.map.dataSources.get(n).name===t.id){e=!0;break}e||i.map.map.dataSources.add(t.clusterDataSource)}t.option.position&&t.option.position.length>0&&setTimeout(function(){t.setPosition(t.option.position),t.flyTo({duration:2,pitch:-45,radiusMultiplier:3})},100)}},{key:"handleHeatMap",value:function(i){console.log("处理热力图:",i.id,i),i.flyTo()}},{key:"addGenericEntity",value:function(i){try{if(i.graphic.id&&i.graphic.position){var t=new Cesium.Entity(i.graphic);this.layerEntity.entities.add(t)}else console.warn("实体没有有效的 graphic 属性:",i)}catch(i){console.error("添加通用实体失败:",i)}}},{key:"removeEntity",value:function(i){var t=this.getEntity(i);if(t){switch(this.children=this.children.filter(function(i){return i.id!==t.id}),t.type){case"polygon":t.polygonEntity&&this.layerEntity.entities.remove(t.polygonEntity),t.outlineEntity&&this.layerEntity.entities.remove(t.outlineEntity);break;case"pointCloud":case"cluster":t.destroy&&t.destroy();break;default:t.graphic&&this.layerEntity.entities.remove(t.graphic)}t.destroy&&t.destroy()}}},{key:"getEntity",value:function(i){return this.children.find(function(t){return t.id===i})}},{key:"clearEntity",value:function(){var i=this;this.children.forEach(function(t){if("pointCloud"===t.type)t.destroy&&t.destroy();else if(t.destroy&&t.destroy(),t.graphic)try{i.layerEntity.entities.remove(t.graphic)}catch(i){console.warn("移除实体失败:",i)}}),this.children=[]}},{key:"destroy",value:function(){var t=this;if(this.clearEntity(),i&&i.map&&i.map.map){var e=i.map.map;if(e.dataSources&&"function"==typeof e.dataSources.remove)try{e.dataSources.remove(this.layerEntity)}catch(i){console.warn("移除数据源失败:",i)}}var n=i.map.layerList.findIndex(function(i){return i.id===t.id});n>-1&&i.map.layerList.splice(n,1)}},{key:"addPopupByAttr",value:function(){var t=this;this.children.forEach(function(i){i.addPopupByAttr&&i.addPopupByAttr()}),this.layerEntity&&i&&i.map&&i.map.map&&(this.screenSpaceEventHandler||(this.screenSpaceEventHandler=new Cesium.ScreenSpaceEventHandler(i.map.map.canvas)),this.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK),this.screenSpaceEventHandler.setInputAction(function(e){var n=i.map.map.scene.pick(e.position);if(n&&n.id){var o=n.id;if(t.layerEntity.entities.contains(o)){var a='<div style="max-height: 300px; overflow-y: auto;">',r=o.properties||{};for(var s in r)r.hasOwnProperty(s)&&(a+='\n <div style="color:#666;background:#ffffff;padding:4px 0;">'.concat(s+": "+r[s],"</div>\n "));(a+="</div>")&&t.popup.show({cartesian:o.position},a)}}},Cesium.ScreenSpaceEventType.LEFT_CLICK))}},{key:"addCustomPopup",value:function(t){var e=this;this.children.forEach(function(i){i.addCustomPopup&&i.addCustomPopup(t)}),this.layerEntity&&i&&i.map&&i.map.map&&(this.screenSpaceEventHandler||(this.screenSpaceEventHandler=new Cesium.ScreenSpaceEventHandler(i.map.map.canvas)),this.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK),this.screenSpaceEventHandler.setInputAction(function(n){var o=i.map.map.scene.pick(n.position);if(o&&o.id){var a=o.id;if(e.layerEntity.entities.contains(a)){var r=a.properties||{};try{var s=t(r);s&&e.popup.show({cartesian:a.position},s)}catch(i){console.error("生成自定义弹窗内容失败:",i)}}}},Cesium.ScreenSpaceEventType.LEFT_CLICK))}}])}()}[i.mapType]},T=function(){return o(function i(t){e(this,i),this.option=null,this.event={},this.graphic=null,this.event={}},[{key:"addPopupByAttr",value:function(){this.graphic.bindPopup(function(i){var t=i.graphic.attr;return mars3d.Util.getTemplateHtml({title:"详情",template:"all",attr:t})})}},{key:"addCustomPopup",value:function(i){var t=this;this.graphic.bindPopup(function(e){return C(t,void 0,void 0,u().m(function t(){var n;return u().w(function(t){for(;;)switch(t.n){case 0:if(!e.graphic.attr){t.n=2;break}return n=e.graphic.attr||{},t.n=1,i(n);case 1:return t.a(2,t.v);case 2:return t.a(2)}},t)}))},{offsetY:-20})}},{key:"flyTo",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.graphic.flyTo(i)}},{key:"destroy",value:function(){this.graphic.destroy()}},{key:"on",value:function(i,t){var e=this;if(this.off(i),"click"===i)this.event[i]=function(){t(e.option.data)};this.graphic.on(i,this.event[i])}},{key:"off",value:function(i){this.event[i]&&(this.graphic.off(i,this.event[i]),delete this.event[i])}}])}(),L=function(){return o(function i(t){e(this,i),this.infoWindow=null,this.hnMap=null,this.config=null,this.graphic=null,this.hnMap=t},[{key:"addPopupByAttr",value:function(){var i=this;this.infoWindow=new AMap.InfoWindow({offset:new AMap.Pixel(0,-30)});this.graphic.on("click",function(t){var e=i.config.extData.data,n="";for(var o in e)n+="<div>".concat(o,": ").concat(e[o],"</div>");i.infoWindow.setContent(n),i.infoWindow.open(i.hnMap.map.map,t.lnglat)})}},{key:"addCustomPopup",value:function(i){var t=this;this.infoWindow=new AMap.InfoWindow({offset:new AMap.Pixel(0,-30)});this.graphic.on("click",function(e){var n=t.config.extData.data,o=i(n);t.infoWindow.setContent(o),t.infoWindow.open(t.hnMap.map.map,e.lnglat)})}},{key:"flyTo",value:function(){if(this.graphic.getCenter)this.hnMap.map.map.setCenter(this.graphic.getCenter());else if(this.graphic.getPosition)this.hnMap.map.map.setCenter(this.graphic.getPosition());else if(this.graphic.getBounds){var i=this.graphic.getBounds();this.hnMap.map.map.setBounds(i)}}},{key:"destroy",value:function(){this.graphic.remove()}}])}(),_=function(){return o(function i(t){e(this,i),this.event={},this.infoWindow=null,this.hnMap=null,this.config=null,this.graphic=null,this.option=null,this.type=null,this.show=!1,this.id=null,this.hnMap=t,this.event={},this.show=!1},[{key:"addPopupByAttr",value:function(){var i=this;this.removePopup(),this.infoWindow=new SGMap.Popup({offset:{bottom:[0,0]},className:"my-popupAttr-class"});this.hnMap.map.map.on("click",this.id,function(t){var e=i.hnMap.map.map.queryRenderedFeatures(t.point);if(e.length>0&&e[0].layer.id===i.id){var n=i.option.data,o="";for(var a in n)o+="<div>".concat(a,": ").concat(n[a],"</div>");i.infoWindow.setHTML(o),i.infoWindow.setLngLat(t.lngLat).addTo(i.hnMap.map.map)}})}},{key:"addCustomPopup",value:function(i){var t=this;this.removePopup(),this.infoWindow=new SGMap.Popup({offset:{bottom:[0,0]},className:"my-customPopup-class"});this.hnMap.map.map.on("click",this.id,function(e){var n=t.hnMap.map.map.queryRenderedFeatures(e.point);if(n.length>0&&n[0].layer.id===t.id){var o=t.option.data,a=i(o);t.infoWindow.setHTML(a),t.infoWindow.setLngLat(e.lngLat).addTo(t.hnMap.map.map)}})}},{key:"removePopup",value:function(){this.infoWindow&&this.infoWindow.remove()}},{key:"flyTo",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};w(this.option,i);var t,e=this.hnMap.map.map.getZoom();if(this.option.center)t=this.option.center;else{var n=this.type||"";t=["line","dash","flicker","flow","arrow","mapLabel","rectangle"].includes(n)?this.option.position[0]:"route"===n?[this.option.position[0][0],this.option.position[0][1]]:"polygon"===n?this.option.position[0][0]:this.option.position}this.hnMap.map.map.flyTo({duration:1e3,zoom:this.option.zoom||e,center:t})}},{key:"destroy",value:function(){this.hnMap.map.map.removeLayer(this.config.id),this.hnMap.map.map.removeSource(this.config.id)}},{key:"on",value:function(i,t){var e=this;if(this.off(i),"click"===i)this.event[i]=function(i){var n=e.hnMap.map.map.queryRenderedFeatures(i.point);n.length>0&&n[0].layer.id===e.id&&t(e.option.data)};this.hnMap.map.map.on(i,this.id,this.event[i])}},{key:"off",value:function(i){this.event[i]&&(this.hnMap.map.map.off(i,this.id,this.event[i]),delete this.event[i])}}])}(),x=function(){return o(function i(t){e(this,i),this.option=null,this.event={},this.graphic=null,this.hnMap=null,this.popup=null,this.popupContent=null,this.enablePopup=!1,this.popupStyle=null,this._popupClickHandler=null,this._userClickHandler=null,this.hnMap=t,t&&t.map&&t.map.map},[{key:"setPopupStyle",value:function(i){if(this.popupStyle=i,this.popup&&this.hnMap&&this.hnMap.map&&this.hnMap.map.map){this.popup.destroy();var t=M(this.hnMap);this.popup=new t(this.hnMap.map.map,{style:this.popupStyle})}}},{key:"clearPopupState",value:function(){var i,t;if(this.popup&&(this.popup.destroy(),this.popup=null),this._popupClickHandler&&this.graphic&&(null===(t=null===(i=this.hnMap)||void 0===i?void 0:i.map)||void 0===t?void 0:t.map)){var e=this.hnMap.map.entityClickHandlers.get(this.graphic);if(e){var n=e.indexOf(this._popupClickHandler);-1!==n&&(e.splice(n,1),0===e.length&&this.hnMap.map.entityClickHandlers.delete(this.graphic))}this._popupClickHandler=null}this.popupContent=null,this.enablePopup=!1}},{key:"addPopupByAttr",value:function(){var i,t,e,n=this;if(this.clearPopupState(),(null===(i=this.option)||void 0===i?void 0:i.data)&&this.graphic&&(null===(e=null===(t=this.hnMap)||void 0===t?void 0:t.map)||void 0===e?void 0:e.map)){var o='<div style="background:#ffffff;color:#666;padding:12px;max-height:300px;overflow-y:auto;">';for(var a in this.option.data)this.option.data.hasOwnProperty(a)&&(o+="<div>".concat(a,": ").concat(this.option.data[a],"</div>"));o+="</div>",this.popupContent=o;var r=function(i){n.showPopupAtPosition(i.position)};this._popupClickHandler=r,this.hnMap.map.entityClickHandlers.has(this.graphic)||this.hnMap.map.entityClickHandlers.set(this.graphic,[]),this.hnMap.map.entityClickHandlers.get(this.graphic).push(r)}}},{key:"addCustomPopup",value:function(i){var t=this;this.clearPopupState(),this.enablePopup=!0;var e=this.option&&this.option.data?this.option.data:{};try{var n=i(e);n instanceof Promise?n.then(function(i){t.popupContent=i}).catch(function(i){console.error("生成自定义弹窗DOM失败:",i)}):this.popupContent=n;var o=function(i){t.showPopupAtPosition(i.position)};this._popupClickHandler=o,this.hnMap.map.entityClickHandlers.has(this.graphic)||this.hnMap.map.entityClickHandlers.set(this.graphic,[]),this.hnMap.map.entityClickHandlers.get(this.graphic).push(o)}catch(i){console.error("生成自定义弹窗DOM失败:",i)}}},{key:"showPopupAtPosition",value:function(i){if(this.popupContent){var t=this.hnMap.map.map.camera.getPickRay(i);if(t){var e=this.hnMap.map.map.scene.globe.pick(t,this.hnMap.map.map.scene);if(e){var n=M(this.hnMap);this.popup=new n(this.hnMap.map.map,{style:this.popupStyle}),this.popup.show({cartesian:e},this.popupContent)}}}}},{key:"registerClick",value:function(i){var t,e;this.graphic&&(null===(e=null===(t=this.hnMap)||void 0===t?void 0:t.map)||void 0===e?void 0:e.map)&&this.hnMap.map.entityClickHandlers.set(this.graphic,i)}},{key:"unregisterClick",value:function(){var i,t;this.graphic&&(null===(t=null===(i=this.hnMap)||void 0===i?void 0:i.map)||void 0===t?void 0:t.map)&&this.hnMap.map.entityClickHandlers.delete(this.graphic)}},{key:"flyTo",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.graphic&&this.hnMap&&this.hnMap.map.map)try{var t=null;if(this.graphic.polyline&&this.graphic.polyline.positions){var e=this.graphic.polyline.positions.getValue(Cesium.JulianDate.now());if(e&&e.length>0){var n=Cesium.BoundingSphere.fromPoints(e),o=i.radiusMultiplier||3;return void this.hnMap.map.map.camera.flyToBoundingSphere(n,{duration:i.duration||2,offset:new Cesium.HeadingPitchRange(Cesium.Math.toRadians(i.heading||0),Cesium.Math.toRadians(i.pitch||-90),n.radius*o)})}}else if(this.graphic.polygon&&this.graphic.polygon.hierarchy){var a=this.graphic.polygon.hierarchy.getValue(Cesium.JulianDate.now());if(a&&a.positions){var r=Cesium.BoundingSphere.fromPoints(a.positions),s=i.radiusMultiplier||3;return void this.hnMap.map.map.camera.flyToBoundingSphere(r,{duration:i.duration||2,offset:new Cesium.HeadingPitchRange(Cesium.Math.toRadians(i.heading||0),Cesium.Math.toRadians(i.pitch||-90),r.radius*s)})}}else if(this.graphic.rectangle&&this.graphic.rectangle.coordinates){if(t=this.graphic.rectangle.coordinates.getValue(Cesium.JulianDate.now())){var l=t.west-.001,c=t.south-.001,p=t.east+.001,u=t.north+.001,h=new Cesium.Rectangle(l,c,p,u);return void this.hnMap.map.map.camera.flyTo({destination:h,duration:i.duration||2,orientation:{heading:Cesium.Math.toRadians(i.heading||0),pitch:Cesium.Math.toRadians(i.pitch||-90),roll:Cesium.Math.toRadians(i.roll||0)}})}}else if(this.graphic.position&&(t=this.graphic.position.getValue(Cesium.JulianDate.now()))){var d=Cesium.Cartographic.fromCartesian(t),f=i.height||1e3,m=Math.max(d.height+f,f),y=Cesium.Cartesian3.fromRadians(d.longitude,d.latitude,m);return void this.hnMap.map.map.camera.flyTo({destination:y,duration:i.duration||2,orientation:{heading:Cesium.Math.toRadians(i.heading||0),pitch:Cesium.Math.toRadians(i.pitch||-90),roll:Cesium.Math.toRadians(i.roll||0)}})}console.warn("无法确定实体类型或实体没有有效的位置信息",this.graphic)}catch(i){console.error("飞行定位失败:",i)}}},{key:"destroy",value:function(){var i=this;if(Object.keys(this.event).forEach(function(t){i.off(t)}),this.clearPopupState(),this.graphic&&this.hnMap&&this.hnMap.map)try{this.hnMap.map.entities&&this.hnMap.map.entities.remove(this.graphic),this.graphic.dataSource&&this.graphic.dataSource.entities.remove(this.graphic),this.graphic=null}catch(i){console.error("销毁实体失败:",i)}}},{key:"on",value:function(i,t){var e,n,o=this;if(this.off(i),this.graphic&&(null===(n=null===(e=this.hnMap)||void 0===e?void 0:e.map)||void 0===n?void 0:n.map)&&"click"===i){var a=function(i){var e,n=(null===(e=o.option)||void 0===e?void 0:e.data)||{};t(n)};this._userClickHandler=a,this.hnMap.map.entityClickHandlers.has(this.graphic)||this.hnMap.map.entityClickHandlers.set(this.graphic,[]),this.hnMap.map.entityClickHandlers.get(this.graphic).push(a),this.event[i]=a}}},{key:"off",value:function(i){var t,e;if("click"===i&&this._userClickHandler&&this.graphic&&(null===(e=null===(t=this.hnMap)||void 0===t?void 0:t.map)||void 0===e?void 0:e.map)){var n=this.hnMap.map.entityClickHandlers.get(this.graphic);if(n){var o=n.indexOf(this._userClickHandler);-1!==o&&(n.splice(o,1),0===n.length&&this.hnMap.map.entityClickHandlers.delete(this.graphic))}this._userClickHandler=null}}}])}(),A={center:0,left:1,right:-1},I={center:0,top:-1,bottom:1},H={center:0,left:1,right:-1},R={center:0,top:-1,bottom:1},B=function(i){var n={id:"",position:[],color:"#ff0000",opacity:1,outline:!1,outlineWidth:2,outlineColor:"#ffffff",outlineOpacity:1,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null};return{mars3d:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="polygon",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.PolygonEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=E(i.distanceDisplayCondition_far),e=E(i.distanceDisplayCondition_near);return{id:i.id,positions:i.position,style:{color:i.color,opacity:i.opacity,outline:i.outline,outlineColor:i.outlineColor,outlineWidth:i.outlineWidth,outlineOpacity:i.outlineOpacity,scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e,clampToGround:!(i.position[0]&&i.position[0][2])},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(T),gaode:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Polygon(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{path:k(i.position),fillColor:i.color,fillOpacity:i.opacity,strokeColor:i.outlineColor,strokeOpacity:i.outline?i.outlineOpacity:0,strokeWeight:i.outline?i.outlineWidth:0,extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config),this.graphic.setPath(this.config.path)}}])}(L),siji:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="polygon",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{id:i.id,type:"fill",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Polygon",coordinates:D(i.position)}}]}},paint:{"fill-color":i.color,"fill-opacity":Number(i.opacity),"fill-antialias":!0,"fill-outline-color":i.outlineColor}}}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option);var e=i.map.map.getSource(this.config.id);for(var n in e.setData({type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Polygon",coordinates:D(this.option.position)}}]}),this.config)if(this.config.hasOwnProperty(n)&&"paint"==n)for(var o in this.config[n])this.config[n].hasOwnProperty(o)&&i.map.map.setPaintProperty(this.config.id,o,this.config[n][o])}}])}(_),cesium:function(a){function c(o){var a;return e(this,c),(a=t(this,c,[i])).type="polygon",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.polygonEntity=null,a.outlineEntity=null,a.show=!0,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=a.createPolygonEntity(),a}return l(c,a),o(c,[{key:"normalizePositions",value:function(i){var t=function(i){return Array.isArray(i)&&i.length>0&&Array.isArray(i[0])?i[0].length>=2&&"number"==typeof i[0][0]||"string"==typeof i[0][0]?i:t(i[0]):i};return t(i)}},{key:"formatConfig",value:function(i){var t=this.normalizePositions(i.position),e=t.map(function(i){if(Array.isArray(i)&&i.length>=2){var t=i.length>=3?i[2]:0;return Cesium.Cartesian3.fromDegrees(i[0],i[1],t)}return i}),n=!1;t[0]&&3===t[0].length?n=!0:!t[0]||t[0][2];var o=void 0;if(i.distanceDisplayCondition){var a=E(i.distanceDisplayCondition_far),r=E(i.distanceDisplayCondition_near);o=new Cesium.DistanceDisplayCondition(r,a)}var s=new Cesium.PolygonHierarchy(e),l=Number(i.outlineWidth),c=i.outline&&l>0;return{id:i.id,polygon:{hierarchy:s,material:Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity)),outline:c&&l<=1,outlineColor:c&&l<=1?Cesium.Color.fromCssColorString(i.outlineColor).withAlpha(Number(i.outlineOpacity)):Cesium.Color.TRANSPARENT,outlineWidth:1,height:0,perPositionHeight:n,clampToGround:!(t[0]&&t[0][2]),distanceDisplayCondition:o,classificationType:Cesium.ClassificationType.BOTH},properties:i.data||{}}}},{key:"convertPositions",value:function(i){return this.normalizePositions(i).map(function(i){if(2===i.length)return Cesium.Cartesian3.fromDegrees(i[0],i[1],0);if(3===i.length)return Cesium.Cartesian3.fromDegrees(i[0],i[1],i[2]);throw new Error("Invalid position format")})}},{key:"createPolygonEntity",value:function(){this.polygonEntity=new Cesium.Entity(this.config),this.polygonEntity.customData=this.option.data;var i=Number(this.option.outlineWidth);return this.option.outline&&i>1&&this.createOutlineEntity(),this.polygonEntity}},{key:"createOutlineEntity",value:function(){if(this.option.outline){var i=Number(this.option.outlineWidth);if(!(i<=0)){var t=this.convertPositions(this.option.position),e=[].concat(m(t),[t[0]]);this.outlineEntity=new Cesium.Entity({polyline:{positions:e,width:i,material:new Cesium.ColorMaterialProperty(Cesium.Color.fromCssColorString(this.option.outlineColor).withAlpha(Number(this.option.outlineOpacity))),clampToGround:this.option.position[0]&&!this.option.position[0][2],classificationType:Cesium.ClassificationType.BOTH,distanceDisplayCondition:this.polygonEntity.polygon.distanceDisplayCondition},id:"".concat(this.id,"_outline")})}}}},{key:"set",value:function(t){if(w(this.option,t),this.polygonEntity){var e=this.convertPositions(this.option.position),n=new Cesium.PolygonHierarchy(e);this.polygonEntity.polygon.hierarchy=n,this.polygonEntity.polygon.material=new Cesium.ColorMaterialProperty(Cesium.Color.fromCssColorString(this.option.color).withAlpha(Number(this.option.opacity)));var o=Number(this.option.outlineWidth);if(this.option.outline&&o>0)if(o<=1)this.polygonEntity.polygon.outline=!0,this.polygonEntity.polygon.outlineColor=Cesium.Color.fromCssColorString(this.option.outlineColor).withAlpha(Number(this.option.outlineOpacity)),this.polygonEntity.polygon.outlineWidth=1,this.outlineEntity&&(i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.outlineEntity),this.outlineEntity=null);else if(this.polygonEntity.polygon.outline=!1,this.outlineEntity){var a=this.convertPositions(this.option.position),r=[].concat(m(a),[a[0]]);this.outlineEntity.polyline.positions=r,this.outlineEntity.polyline.width=o,this.outlineEntity.polyline.material=new Cesium.ColorMaterialProperty(Cesium.Color.fromCssColorString(this.option.outlineColor).withAlpha(Number(this.option.outlineOpacity)))}else this.createOutlineEntity(),i.map.map.entities.add(this.outlineEntity);else this.polygonEntity.polygon.outline=!1,this.outlineEntity&&(i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.outlineEntity),this.outlineEntity=null);var s=!1,l=!1,c=this.normalizePositions(this.option.position);if(c[0]&&3===c[0].length?s=!0:l=c[0]&&!c[0][2],this.polygonEntity.polygon.height=0,this.polygonEntity.polygon.perPositionHeight=new Cesium.ConstantProperty(s),this.polygonEntity.polygon.clampToGround=l,this.option.distanceDisplayCondition){var p=E(this.option.distanceDisplayCondition_far),u=E(this.option.distanceDisplayCondition_near);void 0!==u&&void 0!==p?(this.polygonEntity.polygon.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(u,p),this.outlineEntity&&(this.outlineEntity.polyline.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(u,p))):(this.polygonEntity.polygon.distanceDisplayCondition=void 0,this.outlineEntity&&(this.outlineEntity.polyline.distanceDisplayCondition=void 0))}else this.polygonEntity.polygon.distanceDisplayCondition=void 0,this.outlineEntity&&(this.outlineEntity.polyline.distanceDisplayCondition=void 0);this.polygonEntity.customData=this.option.data}}},{key:"destroy",value:function(){var t,e,n,o,a;this.outlineEntity&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.outlineEntity),this.polygonEntity&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.polygonEntity),this.polygonEntity=null,this.outlineEntity=null,this.graphic=null,(t=c,e="destroy",n=this,a=r(s(1&(o=3)?t.prototype:t),e,n),2&o&&"function"==typeof a?function(i){return a.apply(n,i)}:a)([])}}])}(x)}[i.mapType]},W=function(i){var t={id:"",position:[],allowDrillPick:!0,max:null,min:null,radius:25,minOpacity:.1,maxOpacity:.8,opacity:1,blur:.85,gradient:{.4:"blue",.6:"green",.8:"yellow",.9:"red"},scaleByDistance:!1,clampToGround:!0,data:null},n=function(){return o(function i(n){e(this,i),this.type="heatMap",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.id=n.id,w(this.option,n),this.config=this.formatConfig(this.option),this.layerEntity=new mars3d.layer.HeatLayer(JSON.parse(JSON.stringify(this.config)))},[{key:"formatConfig",value:function(i){return{id:i.id,positions:i.position,allowDrillPick:i.allowDrillPick,max:i.max,min:i.min,heatStyle:{radius:i.radius,minOpacity:i.minOpacity,maxOpacity:i.maxOpacity,blur:i.blur,gradient:i.gradient},style:{opacity:i.opacity,scaleByDistance:i.scaleByDistance,clampToGround:i.clampToGround},redrawZoom:!0,flyTo:!0,attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.layerEntity.setOptions(this.config)}},{key:"destroy",value:function(){var t=this;this.layerEntity.remove(!0),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"flyTo",value:function(){this.layerEntity.flyTo()}},{key:"clear",value:function(){this.layerEntity.clear()}},{key:"setPosition",value:function(i){w(this.option,{position:i}),this.layerEntity.setPositions(i)}},{key:"show",value:function(){this.layerEntity.show=!0}},{key:"hide",value:function(){this.layerEntity.show=!1}}])}(),a=function(){return o(function n(o){e(this,n),this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.id=o.id,w(this.option,o),this.config=this.formatConfig(this.option),this.layerEntity=new AMap.HeatMap(i.map.map,this.config),this.layerEntity.setDataSet({data:this.config.data,max:this.config.max,min:this.config.min})},[{key:"formatConfig",value:function(i){var t=k(i.position.map(function(i){return{lng:i.lng,lat:i.lat,count:i.value}}));return{id:i.id,radius:i.radius,max:i.max,min:i.min,opacity:[i.minOpacity,i.maxOpacity],gradient:i.gradient,data:t,extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.layerEntity.setOptions(this.config)}},{key:"destroy",value:function(){var t=this;this.layerEntity.setMap(null),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"flyTo",value:function(){var t=0,e=0;this.config.data.map(function(i){t+=i.lng,e+=i.lat});var n=t/this.config.data.length,o=e/this.config.data.length;i.map.map.setCenter([n,o])}}])}(),r=function(){return o(function n(o){e(this,n),this.type="heatMap",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config_heatmap=null,this.config_point=null,this.layerEntity=null,this.id=o.id,w(this.option,o),i.map.map.addSource("themeData",{type:"geojson",data:{type:"FeatureCollection",features:this.option.position.map(function(i){return{type:"Feature",geometry:{type:"Point",coordinates:[i.lng,i.lat]}}})}}),this.config_heatmap=this.formatConfig_heatmap(this.option),this.config_point=this.formatConfig_point(this.option)},[{key:"formatConfig_heatmap",value:function(i){return{id:i.id,type:"heatmap",source:"themeData",maxzoom:17,paint:{"heatmap-weight":["interpolate",["linear"],["get","value"],0,0,150,1.5],"heatmap-intensity":["interpolate",["linear"],["zoom"],0,1,17,1],"heatmap-color":["interpolate",["linear"],["heatmap-density"],0,"rgba(255, 0, 0, 0)",.4,i.gradient[.4],.6,i.gradient[.6],.8,i.gradient[.8],.9,i.gradient[.9]],"heatmap-radius":["interpolate",["linear"],["zoom"],0,5,17,50],"heatmap-opacity":["interpolate",["linear"],["zoom"],5,i.maxOpacity,17,i.minOpacity]}}}},{key:"formatConfig_point",value:function(i){return{id:"earthquakes-point",type:"circle",source:"themeData",minzoom:17,paint:{"circle-radius":["interpolate",["linear"],["zoom"],5,1,20,12],"circle-color":"rgb(255, 148, 0)","circle-stroke-color":"white","circle-stroke-width":1,"circle-opacity":["interpolate",["linear"],["zoom"],9,0,20,1]}}}}])}(),s=function(){return o(function i(n){e(this,i),this.type="heatMap",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.entities=[],this.dataSource=null,this.geometryInstances=[],this.primitive=null,this.screenSpaceEventHandler=null,this.id=n.id,w(this.option,n),this.config=this.formatConfig(this.option),this.dataSource=new Cesium.CustomDataSource(this.id),this.dataSource.entities.removeAll(),this.initHeatMap()},[{key:"formatConfig",value:function(i){return{id:i.id,positions:i.position,allowDrillPick:i.allowDrillPick,max:i.max,min:i.min,radius:i.radius,minOpacity:i.minOpacity,maxOpacity:i.maxOpacity,opacity:i.opacity,blur:i.blur,gradient:i.gradient||t.gradient,scaleByDistance:i.scaleByDistance,clampToGround:this.shouldClampToGround(i.position),data:i.data}}},{key:"shouldClampToGround",value:function(i){if(!i||0===i.length)return!0;var t,e=function(i,t){var e="undefined"!=typeof Symbol&&i[Symbol.iterator]||i["@@iterator"];if(!e){if(Array.isArray(i)||(e=v(i))||t&&i&&"number"==typeof i.length){e&&(i=e);var n=0,o=function(){};return{s:o,n:function(){return n>=i.length?{done:!0}:{done:!1,value:i[n++]}},e:function(i){throw i},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,r=!0,s=!1;return{s:function(){e=e.call(i)},n:function(){var i=e.next();return r=i.done,i},e:function(i){s=!0,a=i},f:function(){try{r||null==e.return||e.return()}finally{if(s)throw a}}}}(i);try{for(e.s();!(t=e.n()).done;){var n=t.value;if(n.alt&&0!==n.alt)return!1}}catch(i){e.e(i)}finally{e.f()}return!0}},{key:"initHeatMap",value:function(){this.option.position&&Array.isArray(this.option.position)?(this.clearHeatMap(),this.calculateValueRange(),this.createHeatMapPrimitive()):console.warn("热力图数据为空")}},{key:"calculateValueRange",value:function(){if(null===this.option.min||null===this.option.max){var i=this.option.position.map(function(i){return i.value||0});this.option.min=Math.min.apply(Math,m(i)),this.option.max=Math.max.apply(Math,m(i)),this.option.max===this.option.min&&(this.option.max=this.option.min+1)}}},{key:"createHeatMapPrimitive",value:function(){this.createDataSourceEntities(),this.createVisualHeatMap()}},{key:"createDataSourceEntities",value:function(){var t=this;if(this.option.position.forEach(function(i,e){var n=t.normalizeValue(i.value||0),o={id:"".concat(t.id,"_heat_point_").concat(e),position:Cesium.Cartesian3.fromDegrees(i.lng,i.lat,i.alt||0),properties:Object.assign(Object.assign({id:i.id||e,value:i.value||0,normalizedValue:n},i.data),t.option.data)};t.option.allowDrillPick&&(o.point={pixelSize:1,color:Cesium.Color.TRANSPARENT,outlineColor:Cesium.Color.TRANSPARENT,outlineWidth:0,heightReference:i.alt?Cesium.HeightReference.NONE:Cesium.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY});var a=t.dataSource.entities.add(o);t.entities.push(a)}),i.map.map&&i.map.map.dataSources){var e=!1;i.map.map.dataSources._dataSources.forEach(function(i){i.name===t.id&&(e=!0)}),e||(i.map.map.dataSources.add(this.dataSource),console.log("热力图数据源 ".concat(this.id," 已添加到地图")))}}},{key:"createVisualHeatMap",value:function(){this.createHeatMapPoints()}},{key:"createHeatMapPoints",value:function(){var t=this;this.primitive&&i.map.map.scene&&(i.map.map.scene.primitives.remove(this.primitive),this.primitive=null);var e=[];this.option.position.forEach(function(i){var n=i.value||0,o=t.normalizeValue(n),a=t.calculateColor(o),r=t.calculateSize(o),s=new Cesium.PointPrimitive({position:Cesium.Cartesian3.fromDegrees(i.lng,i.lat,i.alt||0),pixelSize:r,color:a,outlineColor:Cesium.Color.TRANSPARENT,outlineWidth:0,scaleByDistance:t.option.scaleByDistance?new Cesium.NearFarScalar(150,2,15e6,.5):void 0,heightReference:i.alt?Cesium.HeightReference.NONE:Cesium.HeightReference.CLAMP_TO_GROUND});e.push(s)}),e.length>0&&(this.primitive=new Cesium.PointPrimitiveCollection({blendOption:Cesium.BlendOption.OPAQUE_AND_TRANSLUCENT}),e.forEach(function(i){t.primitive.add(i)}),i.map.map.scene&&(i.map.map.scene.primitives.add(this.primitive),console.log("热力图可视化 ".concat(this.id," 已添加到场景"))))}},{key:"normalizeValue",value:function(i){var t=this.option.max-this.option.min;return 0===t?0:Math.max(0,Math.min(1,(i-this.option.min)/t))}},{key:"calculateColor",value:function(i){var e=this.option.gradient||t.gradient;return i<=.4?this.getColorFromString(e[.4]||"blue").withAlpha(this.option.minOpacity+i*(this.option.maxOpacity-this.option.minOpacity)):i<=.6?this.getColorFromString(e[.6]||"green").withAlpha(this.option.minOpacity+i*(this.option.maxOpacity-this.option.minOpacity)):i<=.8?this.getColorFromString(e[.8]||"yellow").withAlpha(this.option.minOpacity+i*(this.option.maxOpacity-this.option.minOpacity)):this.getColorFromString(e[.9]||"red").withAlpha(this.option.minOpacity+i*(this.option.maxOpacity-this.option.minOpacity))}},{key:"getColorFromString",value:function(i){var t={blue:Cesium.Color.BLUE,green:Cesium.Color.GREEN,yellow:Cesium.Color.YELLOW,red:Cesium.Color.RED,cyan:Cesium.Color.CYAN,magenta:Cesium.Color.MAGENTA,white:Cesium.Color.WHITE,black:Cesium.Color.BLACK};if(t[i.toLowerCase()])return t[i.toLowerCase()];if(i.startsWith("#"))try{return Cesium.Color.fromCssColorString(i)}catch(t){return console.warn("无法解析颜色: ".concat(i,",使用默认颜色")),Cesium.Color.BLUE}if(i.includes("rgb"))try{return Cesium.Color.fromCssColorString(i)}catch(t){return console.warn("无法解析颜色: ".concat(i,",使用默认颜色")),Cesium.Color.BLUE}return Cesium.Color.BLUE}},{key:"calculateSize",value:function(i){var t=this.option.radius,e=2*t;return Math.max(5,t+i*(e-t))}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.initHeatMap()}},{key:"destroy",value:function(){if(this.clearHeatMap(),this.dataSource&&i.map.map&&i.map.map.dataSources)try{i.map.map.dataSources.remove(this.dataSource,!0)}catch(i){console.warn("移除数据源失败:",i)}this.screenSpaceEventHandler&&(this.screenSpaceEventHandler.destroy(),this.screenSpaceEventHandler=null)}},{key:"clearHeatMap",value:function(){this.primitive&&i.map.map.scene&&(i.map.map.scene.primitives.remove(this.primitive),this.primitive=null),this.geometryInstances=[],this.dataSource&&this.dataSource.entities.removeAll(),this.entities=[]}},{key:"flyTo",value:function(){if(this.option.position&&0!==this.option.position.length&&i.map.map){var t=this.option.position.map(function(i){return Cesium.Cartesian3.fromDegrees(i.lng,i.lat,i.alt||0)});if(1===t.length)i.map.map.camera.flyTo({destination:t[0],duration:2,orientation:{heading:0,pitch:Cesium.Math.toRadians(-45),roll:0}});else{var e=Cesium.BoundingSphere.fromPoints(t);i.map.map.camera.flyToBoundingSphere(e,{duration:2,offset:new Cesium.HeadingPitchRange(0,Cesium.Math.toRadians(-45),2*e.radius)})}}}},{key:"clear",value:function(){this.clearHeatMap()}},{key:"setPosition",value:function(i){w(this.option,{position:i}),this.initHeatMap()}},{key:"show",value:function(){this.dataSource&&(this.dataSource.show=!0),this.primitive&&(this.primitive.show=!0)}},{key:"hide",value:function(){this.dataSource&&(this.dataSource.show=!1),this.primitive&&(this.primitive.show=!1)}},{key:"addPopupByAttr",value:function(){var t=this;i.map.map&&!this.screenSpaceEventHandler&&(this.screenSpaceEventHandler=new Cesium.ScreenSpaceEventHandler(i.map.map.canvas),this.screenSpaceEventHandler.setInputAction(function(e){var n=i.map.map.scene.pick(e.position);if(n&&n.id&&n.id.properties){var o=n.id.properties,a={};if("function"==typeof o.getValue){var r=o.getValue(Cesium.JulianDate.now());r&&Object.assign(a,r)}t.showPopup(a,e.position)}},Cesium.ScreenSpaceEventType.LEFT_CLICK))}},{key:"showPopup",value:function(t,e){console.log("热力图弹窗数据:",t),i.map.map&&i.map.map.selectedEntity&&(i.map.map.selectedEntity=null)}},{key:"addCustomPopup",value:function(i){this.addPopupByAttr()}}])}();return{mars3d:n,gaode:a,siji:r,cesium:s}[i.mapType]},F={type:"FeatureCollection",name:"",crs:{},features:[{type:"Feature",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[]]]}}]},z=function(){function i(t,n,o,a){if(e(this,i),this.id=null,this.option=null,this.mapType=null,this.map=null,this.Layer=null,this.Point=null,this.NumPoint=null,this.ImagePoint=null,this.DivPoint=null,this.Label=null,this.Line=null,this.Circle=null,this.Rectangle=null,this.Polygon=null,this.Route=null,this.HeatMap=null,this.Cluster=null,this.PointCloud=null,this.GeoJson=null,!i.allowConstruction)throw new Error("请使用 HnMap.create() 创建实例");this.id=t,this.option=n,this.mapType=o,this.map=a}return o(i,[{key:"initModules",value:function(){var i,n,a,r,s,c;this.Layer=N(this),this.Point=(i=this,n={id:"",position:[],color:"#ffffff",opacity:1,size:6,text:"",fontSize:12,fontColor:"#ffffff",fontOpacity:1,fontOffset:[0,0],outline:!1,outlineColor:"#ffffff",outlineWidth:20,outlineOpacity:.5,textOutline:!1,textOutlineColor:"#000000",textOutlineOpacity:.6,textOutlineWidth:2,textBackgroundColor:"",textBackgroundOpacity:.5,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="point",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.PointEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=E(i.distanceDisplayCondition_far),e=E(i.distanceDisplayCondition_near);return{id:i.id,position:i.position,style:{color:i.color,opacity:i.opacity,pixelSize:i.size,outline:i.outline,outlineColor:i.outlineColor,outlineWidth:i.outlineWidth,outlineOpacity:i.outlineOpacity,clampToGround:!i.position[2],scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e,label:{text:i.text,font_size:i.fontSize,color:i.fontColor,opacity:i.fontOpacity,outline:i.textOutline,outlineColor:i.textOutlineColor,outlineOpacity:i.textOutlineOpacity,outlineWidth:i.textOutlineWidth,background:!!i.textBackgroundColor,backgroundColor:i.textBackgroundColor,backgroundOpacity:i.textBackgroundOpacity,pixelOffset:i.fontOffset,scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e}},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(T),r=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.CircleMarker(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{center:k(i.position),radius:i.size/2,strokeColor:i.outlineColor,strokeOpacity:i.outlineOpacity,strokeWeight:i.outlineWidth,fillColor:i.color,fillOpacity:i.opacity,extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config),this.graphic.setCenter(this.config.center)}}])}(L),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="point",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{id:i.id,type:"circle",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:D(i.position)},properties:Object.assign({},i.data)}]}},paint:{"circle-opacity":Number(i.opacity),"circle-radius":Number(i.size),"circle-color":i.color,"circle-stroke-color":i.outline?i.outlineColor:"transparent","circle-stroke-width":i.outline?Number(i.outlineWidth):0,"circle-stroke-opacity":i.outline?Number(i.outlineOpacity):1}}}},{key:"pixelOffsetToTextOffset",value:function(i,t){return[i[0]/t,i[1]/t]}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option);var e=i.map.map.getSource(this.config.id);for(var n in e.setData({type:"FeatureCollection",features:[{type:"Feature",properties:{name:this.option.text},geometry:{type:"Point",coordinates:D(this.option.position)}}]}),this.config)if(this.config.hasOwnProperty(n)&&"paint"==n)for(var o in this.config[n])this.config[n].hasOwnProperty(o)&&i.map.map.setPaintProperty(this.config.id,o,"circle-opacity"==o||"circle-radius"==o||"circle-stroke-opacity"==o||"circle-stroke-width"==o||"text-opacity"==o?Number(this.config[n][o]):this.config[n][o])}}])}(_),c=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="point",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a.graphic.userData={type:"point",originalData:a.option.data||{}},a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=Cesium.Cartesian3.fromDegrees(Number(i.position[0]),Number(i.position[1]),Number(i.position[2])||0),e={id:i.id,position:t,point:{pixelSize:Number(i.size)||10,color:Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity)||1),outlineColor:Cesium.Color.fromCssColorString(i.outlineColor||"#ffffff").withAlpha(Number(i.outlineOpacity)||1),outlineWidth:i.outline?Number(i.outlineWidth)||1:0,scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0,show:!0,clampToGround:!i.position[2]},label:{text:i.text,font:"".concat(i.fontWeight||"normal"," ").concat(Number(i.fontSize),"px ").concat(i.fontFamily||"sans-serif"),fillColor:Cesium.Color.fromCssColorString(i.fontColor).withAlpha(Number(i.fontOpacity)||1),style:Cesium.LabelStyle.FILL_AND_OUTLINE,outlineColor:Cesium.Color.fromCssColorString(i.textOutlineColor||"#ffffff").withAlpha(Number(i.textOutlineOpacity)||1),outlineWidth:i.textOutline?i.textOutlineWidth:0,pixelOffset:new Cesium.Cartesian2(Number(i.fontOffset[0])||0,Number(i.fontOffset[1])||0),showBackground:!!i.textBackgroundColor,backgroundColor:i.textBackgroundColor?Cesium.Color.fromCssColorString(i.textBackgroundColor).withAlpha(Number(i.textBackgroundOpacity)||1):Cesium.Color.BLACK.withAlpha(.5),show:!0,horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,clampToGround:!i.position[2],disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:Cesium.HeightReference.NONE,scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0},properties:i.data||{}};if(i.distanceDisplayCondition){var n=E(i.distanceDisplayCondition_near),o=E(i.distanceDisplayCondition_far);e.point.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o)}return e}},{key:"set",value:function(i){if(w(this.option,i),console.log(i,"====修改====="),this.graphic){if(void 0!==i.position&&(this.graphic.position=Cesium.Cartesian3.fromDegrees(Number(i.position[0]),Number(i.position[1]),Number(i.position[2])||0)),this.graphic.point){var t=this.graphic.point;void 0!==i.size&&(t.pixelSize=i.size),void 0===i.color&&void 0===i.opacity||(t.color=Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity))),i.outline?(t.outlineWidth=i.outline?i.outlineWidth:0,t.outlineColor=Cesium.Color.fromCssColorString(i.outlineColor).withAlpha(Number(i.outlineOpacity))):t.outlineWidth=0,i.scaleByDistance&&(t.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1))}if(this.graphic.label){var e=this.graphic.label;void 0!==i.text&&(e.text=i.text),e.horizontalOrigin=Cesium.HorizontalOrigin.CENTER,e.verticalOrigin=Cesium.VerticalOrigin.CENTER,e.disableDepthTestDistance=Number.POSITIVE_INFINITY,e.heightReference=Cesium.HeightReference.NONE,void 0!==i.fontSize&&(e.font="".concat(i.fontWeight||"normal"," ").concat(i.fontSize,"px ").concat(i.fontFamily||"sans-serif")),void 0===i.fontColor&&void 0===i.fontOpacity||(e.fillColor=Cesium.Color.fromCssColorString(i.fontColor).withAlpha(Number(i.fontOpacity))),i.textOutline?(e.outlineWidth=i.textOutlineWidth?i.textOutlineWidth:0,e.outlineColor=Cesium.Color.fromCssColorString(i.textOutlineColor).withAlpha(Number(i.textOutlineOpacity))):e.outlineWidth=0,void 0===i.fontOffset[0]&&void 0===i.fontOffset[1]||(e.pixelOffset=new Cesium.Cartesian2(Number(i.fontOffset[0])||0,Number(i.fontOffset[1])||0)),void 0!==i.textBackgroundColor&&(e.showBackground=!!i.textBackgroundColor,i.textBackgroundColor&&(e.backgroundColor=Cesium.Color.fromCssColorString(i.textBackgroundColor).withAlpha(Number(i.textBackgroundOpacity)))),i.scaleByDistance?e.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):e.scaleByDistance=void 0}if(i.distanceDisplayCondition){var n=E(i.distanceDisplayCondition_near),o=E(i.distanceDisplayCondition_far);this.graphic.point&&(this.graphic.point.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o)),this.graphic.label&&(this.graphic.label.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o))}else this.graphic.point&&(this.graphic.point.distanceDisplayCondition=void 0),this.graphic.label&&(this.graphic.label.distanceDisplayCondition=void 0)}}},{key:"destroy",value:function(){this.graphic&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}},{key:"openPopup",value:function(t){this.graphic&&i.map&&(this.graphic.description=t,i.map.selectedEntity=this.graphic)}}])}(x),{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]),this.NumPoint=function(i){var n={id:"",position:[],num:0,color:"#ffffff",opacity:1,size:6,fontColor:"#000000",scale:1,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="numPoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.BillboardEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=E(i.distanceDisplayCondition_far),e=E(i.distanceDisplayCondition_near);return{id:i.id,position:i.position,style:{image:mars3d.Util.getCircleImage(i.num,{color:i.color,radius:i.size/2,borderWidth:0,fontColor:i.fontColor}),scale:i.scale,clampToGround:!i.position[2],scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(T),r=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Marker(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=k(i.position),e='<div style="\n background-color: '.concat(i.color||"#ffff00",";\n font-size: ").concat(i.size/2,"px;\n border-radius: 50%;\n width: ").concat(i.size,"px;\n height: ").concat(i.size,"px;\n text-align: center;\n line-height: ").concat(i.size,"px;\n color: ").concat(i.fontColor,';"\n >').concat(i.num,"</div>");return{id:i.id,position:new AMap.LngLat(t[0],t[1]),content:e,anchor:"top-center",offset:[0,-20],extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(L),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="numPoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.configLabel=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.configLabel=a.formatConfigNum(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{id:i.id,type:"circle",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:D(i.position)},properties:{name:i.text}}]}},paint:{"circle-opacity":Number(i.opacity),"circle-radius":Number(i.size),"circle-color":i.color}}}},{key:"formatConfigNum",value:function(i){return{id:"num_"+i.id,type:"symbol",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:D(i.position)},properties:{name:i.num}}]}},layout:{"icon-anchor":"center","text-field":"{name}","text-size":Number(i.size),"text-anchor":"center","text-ignore-placement":!0},paint:{"text-color":i.fontColor}}}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option),this.configLabel=this.formatConfigNum(this.option);var e=i.map.map.getSource(this.config.id);for(var n in e.setData({type:"FeatureCollection",features:[{type:"Feature",properties:{name:this.option.text},geometry:{type:"Point",coordinates:this.option.position.map(function(i){return Number(i)})}}]}),this.config)if(this.config.hasOwnProperty(n)&&"paint"==n)for(var o in this.config[n])this.config[n].hasOwnProperty(o)&&i.map.map.setPaintProperty(this.config.id,o,"circle-opacity"==o?Number(this.config[n][o]):this.config[n][o]);var a=i.map.map.getSource(this.configLabel.id);for(var r in a.setData({type:"FeatureCollection",features:[{type:"Feature",properties:{name:this.option.num},geometry:{type:"Point",coordinates:this.option.position.map(function(i){return Number(i)})}}]}),this.configLabel)if(this.configLabel.hasOwnProperty(r)){if("paint"==r)for(var s in this.configLabel[r])this.configLabel[r].hasOwnProperty(s)&&i.map.map.setPaintProperty(this.configLabel.id,s,this.configLabel[r][s]);if("layout"==r)for(var l in this.configLabel[r])this.configLabel[r].hasOwnProperty(l)&&i.map.map.setLayoutProperty(this.configLabel.id,l,"text-size"==l?Number(this.configLabel[r][l]):this.configLabel[r][l])}}}])}(_),c=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="numPoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a.graphic.userData={type:"numPoint",originalData:a.option.data||{}},a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=Cesium.Cartesian3.fromDegrees(i.position[0],i.position[1],i.position[2]||0),e=E(i.distanceDisplayCondition_near),n=E(i.distanceDisplayCondition_far);return{id:i.id,position:t,point:Object.assign(Object.assign({color:Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity)||1),pixelSize:Number(i.size),show:!0,clampToGround:!i.position[2]},i.distanceDisplayCondition&&{distanceDisplayCondition:new Cesium.DistanceDisplayCondition(e,n)}),{scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0}),label:Object.assign(Object.assign({text:i.num+"",fillColor:Cesium.Color.fromCssColorString(i.fontColor).withAlpha(1),style:Cesium.LabelStyle.FILL_AND_OUTLINE,scale:Number(i.scale),font:"".concat(i.size/1.5,"px PingFang SC"),horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.CENTER,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:Cesium.HeightReference.NONE},i.distanceDisplayCondition&&{distanceDisplayCondition:new Cesium.DistanceDisplayCondition(e,n)}),{scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0,show:!0}),properties:i.data||{}}}},{key:"set",value:function(i){if(w(this.option,i),this.config=this.formatConfig(this.option),console.log(i,"====修改====="),this.graphic){if(void 0!==i.position&&(this.graphic.position=Cesium.Cartesian3.fromDegrees(i.position[0],i.position[1],i.position[2]||0)),this.graphic.point){var t=this.graphic.point;void 0!==i.size&&(t.pixelSize=i.size),void 0===i.color&&void 0===i.opacity||(t.color=Cesium.Color.fromCssColorString(this.option.color).withAlpha(Number(this.option.opacity))),i.scaleByDistance&&(t.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1))}if(this.graphic.label){var e=this.graphic.label;void 0!==i.num&&(e.text=i.num),e.horizontalOrigin=Cesium.HorizontalOrigin.CENTER,e.verticalOrigin=Cesium.VerticalOrigin.CENTER,e.disableDepthTestDistance=Number.POSITIVE_INFINITY,e.heightReference=Cesium.HeightReference.NONE,void 0!==i.fontColor&&(e.fillColor=Cesium.Color.fromCssColorString(i.fontColor)),void 0!==i.scale&&(e.scale=Number(i.scale)),i.scaleByDistance?e.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):e.scaleByDistance=void 0}if(i.distanceDisplayCondition){var n=E(i.distanceDisplayCondition_near),o=E(i.distanceDisplayCondition_far);this.graphic.point&&(this.graphic.point.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o)),this.graphic.label&&(this.graphic.label.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o))}else this.graphic.point.distanceDisplayCondition=void 0}}},{key:"destroy",value:function(){this.graphic&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}},{key:"openPopup",value:function(t){this.graphic&&i.map&&(this.graphic.description=t,i.map.selectedEntity=this.graphic)}}])}(x);return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.ImagePoint=function(i){var n={id:"",position:[],image:"",height:30,width:30,rotation:0,horizontalOrigin:"center",verticalOrigin:"center",text:"",fontSize:12,color:"#000000",offset:[0,0],scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.BillboardEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=E(i.distanceDisplayCondition_far),e=E(i.distanceDisplayCondition_near);return{id:i.id,position:i.position,style:{width:i.width,height:i.height,image:i.image,label:{text:i.text,font_size:i.fontSize,color:i.color,pixelOffset:i.offset,scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e,visibleDepth:!1},scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:i.distanceDisplayCondition_far,distanceDisplayCondition_near:i.distanceDisplayCondition_near,clampToGround:!i.position[2],rotationDegree:i.rotation,horizontalOrigin:A[i.horizontalOrigin],verticalOrigin:I[i.verticalOrigin],visibleDepth:!0},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}},{key:"openPopup",value:function(){this.graphic.openPopup()}}])}(T),r=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="imagePoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Marker(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=k(i.position),e='<div style="color:'.concat(i.color,";font-size:").concat(i.fontSize,' ">').concat(i.text,"</div>");return{extData:{id:i.id,data:i.data},position:new AMap.LngLat(t[0],t[1]),icon:new AMap.Icon({image:i.image,imageSize:new AMap.Size(i.height,i.width),size:new AMap.Size(i.height,i.width)}),angle:360-i.rotation,anchor:"center",label:{direction:"center",offset:new AMap.Pixel(i.offset[0],i.offset[1]),content:e}}}}])}(L),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="imagePoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{id:i.id,type:"symbol",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:D(i.position)},properties:{name:i.text}}]}},layout:{"icon-image":i.id+"_image","icon-ignore-placement":!0,"text-ignore-placement":!0,"text-field":"{name}","text-size":Number(i.fontSize),"text-anchor":i.verticalOrigin,"icon-anchor":i.verticalOrigin,"text-offset":D(i.offset)},paint:{"text-color":i.color}}}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option);var e=i.map.map.getSource(this.config.id);for(var n in e.setData({type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:D(this.option.position)},properties:{name:this.option.text}}]}),this.config)if(this.config.hasOwnProperty(n)&&"layout"==n)for(var o in this.config[n])this.config[n].hasOwnProperty(o)&&i.map.map.setLayoutProperty(this.config.id,o,"text-size"==o?Number(this.config[n][o]):this.config[n][o]);for(var a in this.config)if(this.config.hasOwnProperty(a)&&"paint"==a)for(var r in this.config[a])this.config[a].hasOwnProperty(r)&&i.map.map.setPaintProperty(this.config.id,r,this.config[a][r])}}])}(_),c=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="imagePoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a.graphic.userData={type:"billboard",originalData:a.option.data||{}},a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=Cesium.Cartesian3.fromDegrees(Number(i.position[0]),Number(i.position[1]),Number(i.position[2])||0),e={left:Cesium.HorizontalOrigin.LEFT,center:Cesium.HorizontalOrigin.CENTER,right:Cesium.HorizontalOrigin.RIGHT},n={top:Cesium.VerticalOrigin.TOP,center:Cesium.VerticalOrigin.CENTER,bottom:Cesium.VerticalOrigin.BOTTOM},o={id:i.id,position:t,billboard:{image:i.image,width:Number(i.width),height:Number(i.height),horizontalOrigin:e[i.horizontalOrigin],verticalOrigin:n[i.verticalOrigin],pixelOffset:new Cesium.Cartesian2(Number(i.offset[0])||0,Number(i.offset[1])||0),rotation:Cesium.Math.toRadians(i.rotation||0),clampToGround:!i.position[2],scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0,show:!0,visibleDepth:!0},label:{text:i.text,font:"".concat(i.fontSize||16,"px sans-serif"),fillColor:Cesium.Color.fromCssColorString(i.color||"#000000"),style:Cesium.LabelStyle.FILL_AND_OUTLINE,pixelOffset:new Cesium.Cartesian2(Number(i.offset[0])||0,-Number(i.offset[1])||0),scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0,disableDepthTestDistance:Number.POSITIVE_INFINITY,heightReference:Cesium.HeightReference.NONE,show:!0,visibleDepth:!0},properties:i.data||{}};if(i.distanceDisplayCondition){var a=E(i.distanceDisplayCondition_near),r=E(i.distanceDisplayCondition_far);o.label.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(a,r),o.billboard.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(a,r)}return o}},{key:"set",value:function(i){if(w(this.option,i),this.config=this.formatConfig(this.option),this.graphic){if(void 0!==i.position&&(this.graphic.position=Cesium.Cartesian3.fromDegrees(Number(i.position[0]),Number(i.position[1]),Number(i.position[2])||0)),this.graphic.billboard){var t=this.graphic.billboard;if(void 0!==i.image&&(t.image=i.image),void 0!==i.width&&(t.width=Number(i.width)),void 0!==i.height&&(t.height=Number(i.height)),void 0!==i.rotation&&(t.rotation=Cesium.Math.toRadians(i.rotation)),void 0!==i.horizontalOrigin){var e={left:Cesium.HorizontalOrigin.LEFT,center:Cesium.HorizontalOrigin.CENTER,right:Cesium.HorizontalOrigin.RIGHT};t.horizontalOrigin=e[i.horizontalOrigin]||Cesium.HorizontalOrigin.CENTER}if(void 0!==i.verticalOrigin){var n={top:Cesium.VerticalOrigin.TOP,center:Cesium.VerticalOrigin.CENTER,bottom:Cesium.VerticalOrigin.BOTTOM};t.verticalOrigin=n[i.verticalOrigin]||Cesium.VerticalOrigin.CENTER}i.scaleByDistance?t.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):t.scaleByDistance=void 0}if(this.graphic.label){var o=this.graphic.label;o.horizontalOrigin=Cesium.HorizontalOrigin.CENTER,o.verticalOrigin=Cesium.VerticalOrigin.CENTER,o.disableDepthTestDistance=Number.POSITIVE_INFINITY,o.heightReference=Cesium.HeightReference.NONE,void 0!==i.text&&(o.text=String(i.text)),void 0===i.fontSize&&void 0===i.color||(o.font="".concat(i.fontSize||12,"px sans-serif"),o.fillColor=Cesium.Color.fromCssColorString(i.color||"#000000")),void 0!==i.offset&&(o.pixelOffset=new Cesium.Cartesian2(Number(i.offset[0])||0,-Number(i.offset[1])||0)),i.scaleByDistance?o.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):o.scaleByDistance=void 0}if(void 0!==i.distanceDisplayCondition)if(i.distanceDisplayCondition){var a=E(i.distanceDisplayCondition_near),r=E(i.distanceDisplayCondition_far);this.graphic.billboard&&(this.graphic.billboard.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(a,r)),this.graphic.label&&(this.graphic.label.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(a,r))}else this.graphic.billboard&&(this.graphic.billboard.distanceDisplayCondition=!1),this.graphic.label&&(this.graphic.label.distanceDisplayCondition=!1)}}},{key:"destroy",value:function(){this.graphic&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}}])}(x);return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.DivPoint=function(i){var n={id:"",position:[],html:"",horizontalOrigin:"center",verticalOrigin:"center",offset:[0,0],scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="divPoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.DivGraphic(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=E(i.distanceDisplayCondition_far),e=E(i.distanceDisplayCondition_near);return{id:i.id,position:i.position,style:{html:i.html,offsetX:i.offset[0],offsetY:i.offset[1],scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e,clampToGround:!i.position[2],horizontalOrigin:H[i.horizontalOrigin],verticalOrigin:R[i.verticalOrigin]},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}},{key:"openPopup",value:function(){this.graphic.openPopup()}}])}(T);return{mars3d:a,gaode:a,siji:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="divPoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new SGMap.Marker(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=document.createElement("div");return t.className="marker",t.id=i.id,t.innerHTML=i.html,t.style.width="0",t.style.height="0",{id:i.id,element:t,anchor:"center",offset:i.offset}}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option),this.graphic&&this.graphic.remove(),this.graphic=new SGMap.Marker(this.config),this.graphic.setLngLat(t.position).addTo(i.map.map)}},{key:"openPopup",value:function(){this.graphic.openPopup()}}])}(_),cesium:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="divPoint",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.htmlElement=null,a.animationFrameId=null,a.isDestroyed=!1,a.isVisible=!1,a.container=null,a.cameraMoveHandler=null,a.lastUpdateTime=0,a.updateInterval=100,a.id=o.id,w(a.option,o),a.startUpdateLoop(),a}return l(r,a),o(r,[{key:"createHTMLElement",value:function(){var i=document.createElement("div");return i.id="cesium-divpoint-".concat(this.id),i.className="hnmap-cesium-divpoint",i.style.position="absolute",i.style.pointerEvents="auto",i.style.cursor="pointer",i.style.left="0",i.style.top="0",i.innerHTML=this.option.html,this.htmlElement=i,this.addToContainer(),i}},{key:"createElements",value:function(){this.createHTMLElement(),this.createCesiumEntity()}},{key:"addToContainer",value:function(){if(this.htmlElement){var t=null;!t&&i.map.map&&(t=i.map.map.container||i.map.map._container),t?("static"===window.getComputedStyle(t).position&&(t.style.position="relative"),t.contains(this.htmlElement)||t.appendChild(this.htmlElement),this.container=t):(console.warn("无法找到地图容器: ".concat(this.id,",将添加到body")),document.body.contains(this.htmlElement)||document.body.appendChild(this.htmlElement))}}},{key:"createCesiumEntity",value:function(){if(!this.option.position||this.option.position.length<2)console.error("无效的位置数据: ".concat(this.id),this.option.position);else{var i=f(D(this.option.position),3),t=i[0],e=i[1],n=i[2],o=void 0===n?0:n,a=Cesium.Cartesian3.fromDegrees(t,e,o),r=E(this.option.distanceDisplayCondition_near),s=E(this.option.distanceDisplayCondition_far),l={id:this.id,position:a,show:!0,label:{text:" ",show:!0,pixelOffset:new Cesium.Cartesian2(Number(this.option.offset[0])||0,-Number(this.option.offset[1])||0),disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:this.option.distanceDisplayCondition?new Cesium.DistanceDisplayCondition(r,s):void 0,clampToGround:!(this.option.position&&this.option.position[2]),scaleByDistance:this.option.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0}},c=this.getViewer();c&&c.entities?this.graphic=c.entities.add(l):this.graphic=new Cesium.Entity(l)}}},{key:"getViewer",value:function(){return i.map&&i.map.map&&i.map.map?i.map.map:null}},{key:"getScene",value:function(){var i=this.getViewer();return i?i.scene||i._scene:null}},{key:"getCanvas",value:function(){var i=this.getScene();return i?i.canvas||i._canvas:null}},{key:"checkVisibilityConditions",value:function(){var i=this.getViewer();if(!i||!this.option.position||this.option.position.length<2)return!1;var t=f(D(this.option.position),3),e=t[0],n=t[1],o=t[2],a=void 0===o?0:o,r=Cesium.Cartesian3.fromDegrees(e,n,a);if(this.option.distanceDisplayCondition){var s=i.camera.positionWC,l=Cesium.Cartesian3.distance(s,r),c=E(this.option.distanceDisplayCondition_near),p=E(this.option.distanceDisplayCondition_far),u=Math.min(c,p),h=Math.max(c,p);if(!(l>=u&&l<=h))return!1}return!0}},{key:"checkAndUpdate",value:function(){if(!this.isDestroyed){var i=this.getViewer();if(!i||!this.option.position||this.option.position.length<2)return!1;var t=f(D(this.option.position),3),e=t[0],n=t[1],o=t[2],a=void 0===o?0:o,r=Cesium.Cartesian3.fromDegrees(e,n,a);if(this.option.distanceDisplayCondition){var s=i.camera.positionWC,l=Cesium.Cartesian3.distance(s,r),c=E(this.option.distanceDisplayCondition_near),p=E(this.option.distanceDisplayCondition_far),u=Math.min(c,p),h=Math.max(c,p);l>=u&&l<=h?(this.isVisible||(this.createElements(),this.isVisible=!0),this.updateHTMLElementPosition()):(this.destroyElements(),this.isVisible=!1)}else this.isVisible||(this.isVisible=!0,this.createElements()),this.updateHTMLElementPosition()}}},{key:"startUpdateLoop",value:function(){var i=this,t=this.getViewer();if(t&&t.camera){this.cameraMoveHandler=function(){i.isDestroyed||i.checkAndUpdate()};var e="";t.scene.postRender.addEventListener(function(){var n=t.camera,o=Cesium.Cartographic.fromCartesian(n.positionWC),a="".concat(o.longitude.toFixed(6),",").concat(o.latitude.toFixed(6),",").concat(o.height.toFixed(0),",").concat(n.heading.toFixed(3));a!==e&&(e=a,i.cameraMoveHandler&&i.cameraMoveHandler())})}else console.error("无法获取viewer或camera: ".concat(this.id))}},{key:"updateHTMLElementPosition",value:function(){var i,t,e,n,o,a;if(this.htmlElement&&!this.isDestroyed)try{var r=this.getViewer(),s=this.getScene();if(!r||!s)return void(this.htmlElement.style.visibility="hidden");var l=f(D(this.option.position),3),c=l[0],p=l[1],u=l[2],h=void 0===u?0:u,d=Cesium.Cartesian3.fromDegrees(c,p,h),m=s.cartesianToCanvasCoordinates(d);if(m&&Cesium.defined(m)){var y=Cesium.Cartesian3.distance(r.camera.position,d),g=E(null!==(i=this.option.distanceDisplayCondition_near)&&void 0!==i?i:1),v=E(null!==(t=this.option.distanceDisplayCondition_far)&&void 0!==t?t:18);e=this.option.minScale,n=this.option.maxScale;if(y<g||y>v)return void(this.htmlElement.style.visibility="hidden");if(v===g);else{var C=1-(y-g)/(v-g);Math.max(0,Math.min(1,C))}s.canvas.getBoundingClientRect();var w=Number((null===(o=this.option.offset)||void 0===o?void 0:o[0])||0),k=Number((null===(a=this.option.offset)||void 0===a?void 0:a[1])||0),b=m.x+w,S=m.y+k;this.htmlElement.style.position="absolute",this.htmlElement.style.left="".concat(b,"px"),this.htmlElement.style.top="".concat(S,"px"),this.htmlElement.style.transform="scale(1)",this.htmlElement.style.transformOrigin="left top",this.htmlElement.style.visibility="visible"}else this.htmlElement.style.visibility="hidden"}catch(i){console.error("更新位置失败: ".concat(this.id),i),this.htmlElement.style.visibility="hidden"}}},{key:"set",value:function(i){if(!this.isDestroyed){if(console.log("更新divPoint: ".concat(this.id),i),w(this.option,i),void 0!==i.html&&this.htmlElement&&(this.htmlElement.innerHTML=i.html),void 0!==i.offset&&this.graphic&&this.graphic.label){var t=f(i.offset,2),e=t[0],n=t[1];this.graphic.label.pixelOffset=new Cesium.Cartesian2(Number(e)||0,-Number(n)||0)}void 0===i.distanceDisplayCondition&&void 0===i.distanceDisplayCondition_near&&void 0===i.distanceDisplayCondition_far||this.graphic&&this.graphic.label&&(this.graphic.label.distanceDisplayCondition=i.distanceDisplayCondition?new Cesium.DistanceDisplayCondition(E(this.option.distanceDisplayCondition_near),E(this.option.distanceDisplayCondition_far)):void 0),this.isVisible&&this.checkAndUpdate()}}},{key:"destroyElements",value:function(){if(this.option.distanceDisplayCondition){if(this.htmlElement)try{this.htmlElement.parentNode&&this.htmlElement.parentNode.removeChild(this.htmlElement),this.htmlElement=null}catch(i){console.error("移除HTML元素失败: ".concat(this.id),i)}if(this.graphic)try{var i=this.getViewer();i&&i.entities&&i.entities.contains(this.graphic)&&i.entities.remove(this.graphic),this.graphic=null}catch(i){console.error("移除Cesium实体失败: ".concat(this.id),i)}this.isVisible=!1}}},{key:"destroy",value:function(){if(this.isDestroyed=!0,this.cameraMoveHandler){var i=this.getViewer();if(i&&i.camera)try{i.scene.postRender.removeEventListener(this.cameraMoveHandler),this.cameraMoveHandler=null}catch(i){console.error("移除相机移动事件监听器失败: ".concat(this.id),i)}}this.destroyElements(),this.container=null,this.option=null,this.config=null,console.log("divPoint ".concat(this.id," 已完全销毁"))}}])}(x)}[i.mapType]}(this),this.Label=function(i){var n={id:"",type:"label",position:[],text:"",fontSize:16,fontWeight:"normal",fontFamily:"楷体",color:"#000000",background:"",opacity:1,outline:!1,outlineColor:"#ffffff",outlineWidth:2,outlineOpacity:1,offset:[0,0],angle:0,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="label",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),"label"===a.option.type?a.graphic=new mars3d.graphic.LabelEntity(a.config):"mapLabel"===a.option.type&&(a.graphic=new mars3d.graphic.RectangleEntity(a.config)),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){if("label"===i.type){var t=new mars3d.LngLatPoint(i.position[0],i.position[1],i.position[2]||0),e=E(i.distanceDisplayCondition_far),n=E(i.distanceDisplayCondition_near);return{id:i.id,position:t,style:{text:i.text,color:i.color,opacity:i.opacity,font_size:i.fontSize,font_family:i.fontFamily,outline:i.outline,outlineColor:i.outlineColor,outlineWidth:i.outlineWidth,outlineOpacity:i.outlineOpacity,pixelOffset:D(i.offset),scaleByDistance:i.scaleByDistance,clampToGround:!i.position[2],distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:e,distanceDisplayCondition_near:n,background:!!i.background,backgroundColor:i.background},attr:i.data}}if("mapLabel"===i.type){var o=new mars3d.LngLatPoint(i.position[0][0],i.position[0][1]),a=new mars3d.LngLatPoint(i.position[1][0],i.position[1][1]);return{id:i.id,positions:[o,a],style:{clampToGround:!(i.position[0]&&i.position[0][2]),materialOptions:{text:i.text,font_family:"楷体",color:i.color,font_weight:i.fontWeight,font_size:i.fontSize,background:!!i.background,stroke:i.outline,strokeColor:i.outlineColor,strokeWidth:i.outlineWidth,opacity:i.opacity},materialType:mars3d.MaterialType.Text,rotationDegree:i.angle,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:i.distanceDisplayCondition_far,distanceDisplayCondition_near:i.distanceDisplayCondition_near},attr:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(T),r=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Text(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=k(i.position);return{extData:{id:i.id,data:i.data},text:i.text,anchor:"center",draggable:!0,cursor:"pointer",style:{border:0,"text-align":"center","font-size":i.fontSize,color:i.color,"background-color":i.background},position:[t[0],t[1]],offset:i.offset}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setText(this.config.text),this.graphic.setStyle(this.config.style),this.graphic.setPosition(this.config.position)}}])}(L),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="label",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t={};return t={id:i.id,type:"symbol",source:{type:"geojson",data:{type:"FeatureCollection",features:[]}},layout:{"text-field":"{name}","text-size":Number(i.fontSize),"text-anchor":"top","text-offset":this.pixelOffsetToTextOffset(i.offset,i.fontSize),"text-max-width":8,"text-font":["Microsoft YaHei Regular"]},paint:{"text-color":i.color,"text-halo-color":i.outline?i.outlineColor:"transparent","text-halo-width":i.outline?Number(i.outlineWidth):0,"text-opacity":Number(i.opacity)}},"label"===i.type?t.source.data.features[0]={type:"Feature",geometry:{type:"Point",coordinates:D(i.position)},properties:{name:i.text}}:"mapLabel"===i.type&&i.position.forEach(function(e){t.source.data.features.push({type:"Feature",properties:{name:i.text},geometry:{type:"Point",coordinates:D(i.position)}})}),t}},{key:"pixelOffsetToTextOffset",value:function(i,t){return[i[0]/t,i[1]/t]}},{key:"set",value:function(t){var e=this;w(this.option,t),this.config=this.formatConfig(this.option);var n=i.map.map.getSource(this.config.id);if(n){if("label"==this.option.type)n.setData({type:"FeatureCollection",features:[{type:"Feature",properties:{name:this.option.text},geometry:{type:"Point",coordinates:D(t.position)}}]});else if("mapLabel"==this.option.type){var o={type:"FeatureCollection",features:this.option.position.map(function(i){return{type:"Feature",properties:{name:e.option.text},geometry:{type:"Point",coordinates:i}}})};n.setData(o)}for(var a in this.config)if(this.config.hasOwnProperty(a)){if("paint"==a)for(var r in this.config[a])this.config[a].hasOwnProperty(r)&&i.map.map.setPaintProperty(this.config.id,r,"text-halo-width"==r||"text-opacity"==r?Number(this.config[a][r]):this.config[a][r]);if("layout"==a)for(var s in this.config[a])this.config[a].hasOwnProperty(s)&&i.map.map.setLayoutProperty(this.config.id,s,"text-size"===s?Number(this.config[a][s]):this.config[a][s])}}}}])}(_),c=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="label",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a.graphic.userData={type:"label",originalData:a.option.data||{}},a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=D(i.position),e=Cesium.Cartesian3.fromDegrees(t[0],t[1],t[2]||0),n={id:i.id,name:i.id,position:e,label:this.createLabelStyle(i),properties:i.data||{}};if(i.distanceDisplayCondition){var o=E(i.distanceDisplayCondition_near),a=E(i.distanceDisplayCondition_far);n.label.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(o,a)}return n}},{key:"createLabelStyle",value:function(i){var t=Number(i.fontWeight)||"normal",e=Number(i.fontSize)||16,n=i.fontFamily||"sans-serif",o="".concat(t," ").concat(e,"px ").concat(n);return{text:i.text,font:o,fillColor:Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity)||1),outline:i.outline,outlineColor:Cesium.Color.fromCssColorString(i.outlineColor||"#ffffff").withAlpha(Number(i.outlineOpacity)||1),outlineWidth:i.outline?i.outlineWidth:0,style:Cesium.LabelStyle.FILL_AND_OUTLINE,pixelOffset:new Cesium.Cartesian2(Number(i.offset[0])||0,Number(i.offset[1])||0),clampToGround:!i.position[2],showBackground:!!i.background,backgroundColor:i.background?Cesium.Color.fromCssColorString(i.background).withAlpha(Number(i.opacity)||1):Cesium.Color.BLACK.withAlpha(.5),scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0}}},{key:"set",value:function(i){if(w(this.option,i),this.graphic&&this.graphic.label){var t=this.graphic.label,e=this.createLabelStyle(this.option);if(Object.assign(t,e),void 0!==i.offset&&(t.pixelOffset=new Cesium.Cartesian2(Number(i.offset[0]),Number(i.offset[1]))),i.scaleByDistance?t.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):t.scaleByDistance=void 0,void 0!==i.position){var n=D(i.position);Cesium.Cartesian3.fromDegrees(n[0],n[1],n[2]||0)}if(i.distanceDisplayCondition){var o=E(i.distanceDisplayCondition_near),a=E(i.distanceDisplayCondition_far);t.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(o,a)}else t.distanceDisplayCondition=void 0}}},{key:"destroy",value:function(){this.graphic&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}},{key:"openPopup",value:function(t){this.graphic&&i.map&&(this.graphic.description=t,i.map.selectedEntity=this.graphic)}}])}(x);return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.Line=function(i){var n={id:"",position:[],type:"line",color:"#ffffff",width:2,opacity:1,outline:!1,outlineColor:"#ffffff",outlineWidth:2,dashColor:"#00ff00",dashLength:16,image:"",repeat:[1,1],speed:5,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null,combine:!1,instances:[]};return{mars3d:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="line",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),o.combine?a.graphic=new mars3d.graphic.PolylineCombine(a.config):a.graphic=new mars3d.graphic.PolylineEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=this,e={},o=E(i.distanceDisplayCondition_far),a=E(i.distanceDisplayCondition_near);if(i.combine)e={id:i.id,combine:!0,instances:i.instances.map(function(i){var e=JSON.parse(JSON.stringify(n));return w(e,i),t.formatConfig(e)})};else switch(e={id:i.id,positions:i.position,style:{materialType:"Color",color:i.color,width:i.width,opacity:i.opacity,outline:i.outline,outlineColor:i.outlineColor,outlineWidth:i.outlineWidth,clampToGround:!(i.position[0]&&i.position[0][2]),scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:o,distanceDisplayCondition_near:a},attr:i.data},i.type){case"line":e.style.materialType="Color";break;case"dash":e.style.materialType="PolylineDash",e.style.materialOptions={color:i.color,gapColor:i.dashColor,dashPattern:i.dashPattern};break;case"flicker":e.style.materialType="LineFlicker",e.style.materialOptions={color:i.color,speed:i.speed};break;case"flow":e.style.materialType="LineFlow",e.style.materialOptions={color:i.color,image:i.image,repeat:new Cesium.Cartesian2(i.repeat[0],i.repeat[1]),speed:i.speed};break;case"arrow":e.style.materialType="PolylineArrow",e.style.materialOptions={color:i.color}}return e}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}},{key:"openPopup",value:function(){this.graphic.openPopup()}},{key:"isInPoly",value:function(i,t){return this.graphic.isInPoly(new mars3d.LngLatPoint(i,t))}}])}(T),gaode:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Polyline(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{path:k(i.position),strokeColor:i.color,strokeOpacity:i.opacity,strokeWeight:i.width,outlineColor:i.outlineColor,borderWeight:i.outlineWidth,extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config),this.graphic.setPath(this.config.path)}}])}(L),siji:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="line",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.intervalId=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a}return l(r,a),o(r,[{key:"flickers",value:function(i,t){null!==this.intervalId&&clearInterval(this.intervalId);var e=t?1:0,n=this;this.intervalId=setInterval(function(){e=(t=!t)?1:0,n.config["line-opacity"]=e},i)}},{key:"formatConfig",value:function(i){var t={};switch(t={id:i.id,type:"line",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"LineString",coordinates:D(i.position)},properties:Object.assign({id:i.id},i.data)}]}},layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"dash"==i.type?i.dashColor:i.color,"line-width":Number(i.width),"line-opacity":Number(i.opacity)}},i.type){case"line":break;case"dash":t.paint["line-dasharray"]=[1*i.dashLength,1*i.dashLength];break;case"flicker":this.flickers(1*i.speed,!0)}return t}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option);var e=i.map.map.getSource(this.config.id);for(var n in e.setData({type:"FeatureCollection",features:[{type:"Feature",properties:Object.assign({id:t.id},t.data),geometry:{type:"LineString",coordinates:D(this.option.position)}}]}),this.config)if(this.config.hasOwnProperty(n)&&"paint"==n)for(var o in this.config[n])this.config[n].hasOwnProperty(o)&&(i.map.map.setPaintProperty(this.config.id,o,"line-opacity"==o||"line-width"==o?Number(this.config[n][o]):this.config[n][o]),"dash"==t.type&&i.map.map.setPaintProperty(this.config.id,"line-dasharray",[t.dashLength,t.dashLength]))}},{key:"openPopup",value:function(){this.graphic.openPopup()}},{key:"isInPoly",value:function(i,t){return this.graphic.isInPoly(new mars3d.LngLatPoint(i,t))}},{key:"dispose",value:function(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)}}])}(_),cesium:function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="line",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.entity=null,a.flickerInterval=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=i.position.map(function(i){if(Array.isArray(i)&&i.length>=2){var t=i.length>=3?i[2]:0;return Cesium.Cartesian3.fromDegrees(i[0],i[1],t)}return i}),e={id:i.id,name:i.id,polyline:{positions:t,width:i.width||2,material:this.createMaterial(i),clampToGround:!(i.position[0]&&i.position[0][2]),scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0,show:!0},properties:i.data||{}};if(i.distanceDisplayCondition){var n=E(i.distanceDisplayCondition_near),o=E(i.distanceDisplayCondition_far);e.polyline.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o)}return e}},{key:"createMaterial",value:function(i){var t=Cesium.Color.fromCssColorString(i.color).withAlpha(i.opacity||1);switch(i.type){case"dash":return new Cesium.PolylineDashMaterialProperty({color:t,dashLength:i.dashLength||16,gapColor:Cesium.Color.fromCssColorString(i.dashColor).withAlpha(i.opacity||1)});case"flow":return new Cesium.PolylineGlowMaterialProperty({color:t,glowPower:.2});case"arrow":return new Cesium.PolylineArrowMaterialProperty(t);case"flicker":var e=new Cesium.ColorMaterialProperty(t);return this.setupFlickerEffect(),e;default:return i.outline?new Cesium.PolylineOutlineMaterialProperty({color:t,outlineColor:Cesium.Color.fromCssColorString(i.outlineColor),outlineWidth:i.outlineWidth||1}):new Cesium.ColorMaterialProperty(t)}}},{key:"setupFlickerEffect",value:function(){var i=this;if("flicker"===this.option.type&&this.entity&&this.entity.polyline){this.cleanupFlickerEffect();var t=!0;this.flickerInterval=setInterval(function(){i.entity&&i.entity.polyline&&(t=!t,i.entity.polyline.show=t)},500/this.option.speed)}}},{key:"cleanupFlickerEffect",value:function(){this.flickerInterval&&(clearInterval(this.flickerInterval),this.flickerInterval=null)}},{key:"set",value:function(i){if(w(this.option,i),this.cleanupFlickerEffect(),this.graphic){var t=this.graphic.polyline;if(t){if(i.position){var e=i.position.map(function(i){if(Array.isArray(i)&&i.length>=2){var t=i.length>=3?i[2]:0;return Cesium.Cartesian3.fromDegrees(i[0],i[1],t)}return i});t.positions=e}if(t.material=this.createMaterial(this.option),void 0!==i.width&&(t.width=i.width),i.scaleByDistance?t.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):t.scaleByDistance=void 0,i.distanceDisplayCondition){var n=E(i.distanceDisplayCondition_near),o=E(i.distanceDisplayCondition_far);t.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(n,o)}else t.distanceDisplayCondition=void 0}}}},{key:"destroy",value:function(){this.cleanupFlickerEffect(),this.graphic&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}},{key:"openPopup",value:function(t){this.entity&&i.map.map&&(this.entity.description=t,i.map.map.selectedEntity=this.entity)}}])}(x)}[i.mapType]}(this),this.Circle=function(i){var n={id:"",position:[],type:"color",radius:20,color:"#ff0000",opacity:1,waveCount:2,waveSpeed:5,outlineWidth:0,outlineColor:"#ffffff",outlineOpacity:1,outlineHighLight:!1,outlineHighLightGlowPower:.1,outlineHighLightTaperPower:1,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="circle",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.CircleEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=E(i.distanceDisplayCondition_far),e=E(i.distanceDisplayCondition_near),n={id:i.id,position:new mars3d.LngLatPoint(i.position[0],i.position[1],i.position[2]||0),style:{radius:i.radius||1,color:i.color,opacity:i.opacity,outline:!!i.outlineWidth,outlineColor:i.outlineColor,outlineWidth:i.outlineWidth,outlineOpacity:i.outlineOpacity,scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e,clampToGround:!i.position[2]},attr:i.data};switch(i.type){case"color":n.style.materialType=mars3d.MaterialType.Color;break;case"wave":n.style.materialType=mars3d.MaterialType.CircleWave,n.style.materialOptions={color:i.color,count:i.waveCount,speed:i.waveSpeed}}return i.outlineHighLight&&(n.style.outlineStyle={materialType:"PolylineGlow",materialOptions:{color:i.outlineColor,glowPower:i.outlineHighLightGlowPower,taperPower:i.outlineHighLightTaperPower}}),n}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(T),r=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Circle(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=k(i.position);return{center:new AMap.LngLat(t[0],t[1]),radius:i.radius,fillColor:i.color,fillOpacity:i.opacity,strokeColor:i.outline.color,strokeOpacity:i.outline.show?i.outline.opacity:0,strokeWeight:i.outline.show?i.outline.width:0,extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config),this.graphic.setCenter(this.config.center)}}])}(L),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="circle",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new SGMap.DrawCircleHandler(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(t){return{id:t.id,map:i.map.map,enableEdit:!1,canMove:!1,style:{polygon:{"fill-color":t.color,"fill-opacity":Number(t.opacity),"fill-outline-color":t.outlineColor},polyline:{"line-color":t.outlineColor,"line-opacity":Number(t.outlineOpacity),"line-width":Number(t.outlineWidth)}},featuresList:[]}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.remove(),this.graphic.clearData(),this.graphic=new SGMap.DrawCircleHandler(this.config);var t={type:"Feature",properties:{centerPoint:D(this.option.position),radius:this.option.radius},geometry:{type:"Polygon",coordinates:[]}};this.graphic.addFeature(t)}}])}(_),c=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="circle",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=f(D(i.position),3),e=t[0],n=t[1],o=t[2];return{id:i.id,position:Cesium.Cartesian3.fromDegrees(e,n,o||0),ellipse:{semiMinorAxis:i.radius||1,semiMajorAxis:i.radius||1,material:this.getMaterial(i),outline:!!i.outlineWidth,outlineColor:Cesium.Color.fromCssColorString(i.outlineColor).withAlpha(Number(i.outlineOpacity)||1),outlineWidth:i.outlineWidth,distanceDisplayCondition:i.distanceDisplayCondition?new Cesium.DistanceDisplayCondition(E(i.distanceDisplayCondition_near),E(i.distanceDisplayCondition_far)):void 0,scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0,height:Number(i.position[2])||0,extrudedHeight:0,clampToGround:!i.position[2]},properties:this.option.data||{}}}},{key:"getMaterial",value:function(i){return"wave"===i.type?new Cesium.CircleWaveMaterial({color:Cesium.Color.fromCssColorString(i.color),count:Number(i.waveCount),speed:Number(i.waveSpeed),gradient:.1}):new Cesium.ColorMaterialProperty(Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity)))}},{key:"set",value:function(i){if(w(this.option,i),this.graphic&&this.graphic.ellipse){if(this.formatConfig(this.option),i.position){var t=f(D(i.position),3),e=t[0],n=t[1],o=t[2];this.graphic.position=Cesium.Cartesian3.fromDegrees(e,n,o||0)}void 0!==i.radius&&(this.graphic.ellipse.semiMinorAxis=i.radius,this.graphic.ellipse.semiMajorAxis=i.radius),(i.type||i.color||i.opacity)&&(this.graphic.ellipse.material=this.getMaterial(this.option)),void 0!==i.outlineWidth&&(this.graphic.ellipse.outline=!!i.outlineWidth,this.graphic.ellipse.outlineWidth=Number(i.outlineWidth),this.graphic.ellipse.outlineColor=Cesium.Color.fromCssColorString(i.outlineColor).withAlpha(Number(i.outlineOpacity)||1)),i.distanceDisplayCondition?this.graphic.ellipse.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(E(i.distanceDisplayCondition_near),E(i.distanceDisplayCondition_far)):this.graphic.ellipse.distanceDisplayCondition=void 0,i.scaleByDistance?this.graphic.ellipse.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1):this.graphic.ellipse.scaleByDistance=void 0}}},{key:"destroy",value:function(){this.graphic&&i.map.map&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}},{key:"flyTo",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(console.log("开始飞行定位圆形图形...",this.graphic),this.graphic&&this.hnMap&&this.hnMap.map.map)try{if(this.graphic.position){var t=this.graphic.position.getValue(Cesium.JulianDate.now());if(t){var e=Cesium.Cartographic.fromCartesian(t),n=this.option.radius||100,o=i.height||Math.max(2*n,500),a=Math.max(e.height+o,o),r=Cesium.Cartesian3.fromRadians(e.longitude,e.latitude,a);this.hnMap.map.map.camera.flyTo({destination:r,duration:i.duration||2,orientation:{heading:Cesium.Math.toRadians(i.heading||0),pitch:Cesium.Math.toRadians(i.pitch||-90),roll:Cesium.Math.toRadians(i.roll||0)},complete:i.complete,cancel:i.cancel})}}}catch(i){console.error("圆形图形飞行定位失败:",i)}}}])}(x);return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.Rectangle=function(i){var n={id:"",position:[],color:"#ff0000",opacity:1,outline:!1,outlineWidth:2,outlineColor:"#ffffff",outlineOpacity:1,scaleByDistance:!0,distanceDisplayCondition:!1,distanceDisplayCondition_far:1,distanceDisplayCondition_near:18,data:null},a=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="retangle",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new mars3d.graphic.RectangleEntity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=E(i.distanceDisplayCondition_far),e=E(i.distanceDisplayCondition_near);return{id:i.id,positions:i.position,style:{color:i.color,opacity:i.opacity,outline:i.outline,outlineColor:i.outlineColor,outlineWidth:i.outlineWidth,outlineOpacity:i.outlineOpacity,scaleByDistance:i.scaleByDistance,distanceDisplayCondition:i.distanceDisplayCondition,distanceDisplayCondition_far:t,distanceDisplayCondition_near:e,clampToGround:!(i.position[0]&&i.position[0][2])},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}}])}(T),r=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new AMap.Rectangle(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=k(i.position),e=new AMap.LngLat(t[0][0],t[0][1]),n=new AMap.LngLat(t[1][0],t[1][1]);return{bounds:new AMap.Bounds(e,n),fillColor:i.color,fillOpacity:i.opacity,strokeColor:i.outlineColor,strokeOpacity:i.outline?i.outlineOpacity:0,strokeWeight:i.outline?i.outlineWidth:0,extData:{id:i.id,data:i.data}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config),this.graphic.setBounds(this.config.bounds)}}])}(L),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="rectangle",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=b(i.position[0],i.position[1]);return{id:i.id,type:"fill",source:{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Polygon",coordinates:[t]}}]}},paint:{"fill-color":i.color,"fill-opacity":Number(i.opacity),"fill-antialias":!0,"fill-outline-color":i.outlineColor}}}},{key:"set",value:function(t){w(this.option,t),this.config=this.formatConfig(this.option);var e=b(t.position[0],t.position[1]),n=i.map.map.getSource(this.config.id);for(var o in n.setData({type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Polygon",coordinates:[e]}}]}),this.config)if(this.config.hasOwnProperty(o)&&"paint"==o)for(var a in this.config[o])this.config[o].hasOwnProperty(a)&&i.map.map.setPaintProperty(this.config.id,a,this.config[o][a])}}])}(_),c=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="rectangle",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.graphic=null,a.id=o.id,w(a.option,o),a.config=a.formatConfig(a.option),a.graphic=new Cesium.Entity(a.config),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){var t=b(i.position[0],i.position[1]).map(function(i){var t=f(i,2),e=t[0],n=t[1];return Cesium.Cartesian3.fromDegrees(e,n)}),e=Cesium.Color.fromCssColorString(i.color).withAlpha(Number(i.opacity)),n=Cesium.Color.fromCssColorString(i.outlineColor).withAlpha(Number(i.outlineOpacity));return{id:i.id,polygon:{hierarchy:new Cesium.PolygonHierarchy(t),material:e,height:0,perPositionHeight:!1,closeBottom:!0,distanceDisplayCondition:i.distanceDisplayCondition?new Cesium.DistanceDisplayCondition(E(i.distanceDisplayCondition_near),E(i.distanceDisplayCondition_far)):void 0,scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0},polyline:i.outline?{positions:[].concat(m(t),[t[0]]),width:Number(i.outlineWidth),material:n,clampToGround:!1,distanceDisplayCondition:i.distanceDisplayCondition?new Cesium.DistanceDisplayCondition(E(i.distanceDisplayCondition_near),E(i.distanceDisplayCondition_far)):void 0,scaleByDistance:i.scaleByDistance?new Cesium.NearFarScalar(100,1,1e7,.1):void 0}:void 0,properties:i.data}}},{key:"set",value:function(i){w(this.option,i);var t=this.formatConfig(this.option),e=b(i.position[0],i.position[1]).map(function(i){var t=f(i,2),e=t[0],n=t[1];return Cesium.Cartesian3.fromDegrees(e,n)}),n=Cesium.Color.fromCssColorString(i.outlineColor).withAlpha(Number(i.outlineOpacity)),o=this.graphic.polygon;o&&(o.hierarchy=t.polygon.hierarchy,o.material=t.polygon.material),i.outline?(this.graphic.polyline||(this.graphic.polyline=new Cesium.PolylineGraphics),this.graphic.polyline.positions=[].concat(m(e),[e[0]]),this.graphic.polyline.width=Number(i.outlineWidth),this.graphic.polyline.material=n):this.graphic.polyline=void 0,i.distanceDisplayCondition?(this.graphic.polygon.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(E(i.distanceDisplayCondition_near),E(i.distanceDisplayCondition_far)),this.graphic.polyline.distanceDisplayCondition=new Cesium.DistanceDisplayCondition(E(i.distanceDisplayCondition_near),E(i.distanceDisplayCondition_far))):(this.graphic.polygon.distanceDisplayCondition=void 0,this.graphic.polyline.distanceDisplayCondition=void 0),i.scaleByDistance?(this.graphic.polygon.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1),this.graphic.polyline.scaleByDistance=new Cesium.NearFarScalar(100,1,1e7,.1)):(this.graphic.polygon.scaleByDistance=void 0,this.graphic.polyline.scaleByDistance=void 0),this.graphic.properties=t.properties}},{key:"destroy",value:function(){this.graphic&&i.map.map.entities&&i.map.map.entities.remove(this.graphic)}}])}(x);return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.Polygon=B(this),this.Route=function(i){var n={id:"",position:[],speed:10,replaySpeed:20,clockLoop:!1,image:{src:"",width:10,height:10},camera:{type:"",pitch:-30,radius:500},polyline:{color:"#0000ff",width:2},path:{color:"#ff0000",width:2},label:{text:"",font_size:16,color:"#ffffff",outline:!1,outlineColor:"#000000",outlineWidth:1,outlineOpacity:1,horizontalOrigin:"left",verticalOrigin:"bottom",pixelOffset:[0,0]}},a=function(){return o(function i(t){e(this,i),this.type="route",this.id=null,this.option=JSON.parse(JSON.stringify(n)),this.config=null,this.graphic=null,this.id=t.id,w(this.option,t),this.config=this.formatConfig(this.option),this.graphic=new mars3d.graphic.FixedRoute(this.config)},[{key:"formatConfig",value:function(i){return{id:i.id,speed:i.speed,positions:i.position,clockLoop:i.clockLoop,camera:{type:i.camera.type,pitch:i.camera.pitch,radius:i.camera.radius},billboard:{image:i.image.src,width:i.image.width,height:i.image.height},polyline:{color:i.polyline.color,width:i.polyline.width},path:{color:i.path.color,width:i.path.width},label:{text:i.label.text,font_size:i.label.textSize,color:i.label.color,outline:i.label.outline,outlineColor:i.label.outLineColor,outlineWidth:i.label.outlineWidth,outlineOpacity:i.label.outlineOpacity,horizontalOrigin:i.label.horizontalOrigin,verticalOrigin:i.label.verticalOrigin,pixelOffset:i.label.pixelOffset},attr:i.data}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.graphic.setOptions(this.config)}},{key:"start",value:function(){this.graphic.start()}},{key:"pause",value:function(){this.graphic.pause()}},{key:"proceed",value:function(){this.graphic.proceed()}},{key:"stop",value:function(){this.graphic.stop()}},{key:"destroy",value:function(){this.graphic.destroy()}},{key:"flyTo",value:function(){this.graphic.flyToPoint()}}])}(),r=function(){return o(function t(o){e(this,t),this.id=null,this.option=JSON.parse(JSON.stringify(n)),this.config_graphic=null,this.config_path=null,this.graphic=null,this.pathLayer=null,this.path=null,this.id=o.id,w(this.option,o),this.config_graphic=this.formatConfigGraphic(this.option),this.config_path=this.formatConfigPath(this.option),this.graphic=new AMap.Marker(this.config_graphic),this.addPath(),this.graphic.on("moving",function(t){i.map.map.setCenter(t.target.getPosition(),!0)}),i.map.map.setFitView()},[{key:"formatConfigGraphic",value:function(i){return{position:k(i.position)[0],speed:i.speed,icon:new AMap.Icon({image:i.image.src,imageSize:new AMap.Size(i.image.width,i.image.height),size:new AMap.Size(i.image.width,i.image.height)}),extData:{id:i.id}}}},{key:"formatConfigPath",value:function(i){var t=k(i.position);return{id:i.id+"_path",position:t,width:i.polyline.width,color:i.polyline.color,data:{id:i.id+"_path"}}}},{key:"set",value:function(i){w(this.option,i),this.config_graphic=this.formatConfigGraphic(this.option),this.config_path=this.formatConfigPath(this.option),this.graphic.setOptions(this.config_graphic),this.stop()}},{key:"addPath",value:function(){this.pathLayer=i.map.addLayer(new i.Layer({id:this.id+"_path_layer"})),this.pathLayer&&(this.path=new i.Line(this.config_path),this.pathLayer.addEntity(this.path))}},{key:"start",value:function(){var i=this;this.config_path.position.reduce(function(t,e){var n=turf.point(t),o=turf.point(e),a=turf.distance(n,o,{units:"meters"});return i.graphic.moveAlong(i.path.graphic._opts.path,{duration:Number(a/i.config_graphic.speed).toFixed(0),autoRotation:!0,circlable:!0}),e})}},{key:"pause",value:function(){this.graphic.pauseMove()}},{key:"proceed",value:function(){this.graphic.resumeMove()}},{key:"stop",value:function(){this.graphic.stopMove()}},{key:"destroy",value:function(){this.stop(),this.graphic.remove(),this.pathLayer.destroy()}},{key:"flyTo",value:function(){if(this.graphic.getBounds){var t=this.graphic.getBounds();i.map.map.setBounds(t)}}}])}(),s=function(a){function r(o){var a;return e(this,r),(a=t(this,r,[i])).type="route",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config_routeline=null,a.config_routeplay=null,a.imgMarker=null,a.chunkData=null,a.id=o.id,w(a.option,o),a.config_routeline=a.formatConfig(a.option),a.config_routeplay=a.formatConfigPlay(a.option),a}return l(r,a),o(r,[{key:"formatConfig",value:function(i){return{id:"route-line_"+i.id,type:"line",source:{type:"geojson",data:{geometry:{type:"LineString",coordinates:i.position},properties:{},type:"Feature"}},layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":i.polyline.color,"line-width":Number(i.polyline.width)}}}},{key:"formatConfigPlay",value:function(i){return{id:"route-played_"+i.id,type:"line",source:{type:"geojson",data:{type:"FeatureCollection",features:[]}},layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":i.path.color,"line-width":Number(i.path.width)}}}},{key:"createCar",value:function(){this.imgMarker&&this.imgMarker.remove();var t=document.createElement("img");t.src=this.option.image.src,t.style.width=this.option.image.width+"px",t.style.height=this.option.image.height+"px",this.imgMarker=new SGMap.Marker(t).setLngLat(this.config_routeline.source.data.geometry.coordinates[0]).addTo(i.map.map)}},{key:"joinLinePoint",value:function(){var i=60/3600/20*20;return this.chunkData=turf.lineChunk(this.config_routeline.source.data,i,{units:"kilometers"}),this.chunkData}},{key:"start",value:function(){var i=this,t=this.chunkData.features,e=t.length,n=0,o=setInterval(function(){if(++n>=e)clearInterval(o);else{var a=t[n-1].geometry.coordinates[1],r=t[n].geometry.coordinates[1];i.imgMarker.setLngLat(r);var s=turf.bearing(turf.point(a),turf.point(r));s&&i.imgMarker.setRotation(s-90),i.readerReplayedRouterLayer(n,i.option)}},50)}},{key:"readerReplayedRouterLayer",value:function(t,e){i.map.map.getSource("route-played_"+e.id).setData({type:"FeatureCollection",features:this.chunkData.features.slice(0,t+1)})}},{key:"set",value:function(t){w(this.option,t),this.imgMarker&&this.imgMarker.remove(),this.createCar(),this.config_routeline=this.formatConfig(this.option);var e=i.map.map.getSource(this.config_routeline.id);for(var n in e.setData({geometry:{type:"LineString",coordinates:t.position},properties:t.data,type:"Feature"}),this.config_routeline)if(this.config_routeline.hasOwnProperty(n)&&"paint"==n)for(var o in this.config_routeline[n])this.config_routeline[n].hasOwnProperty(o)&&i.map.map.setPaintProperty(this.config_routeline.id,o,this.config_routeline[n][o]);this.config_routeplay=this.formatConfigPlay(this.option);var a=i.map.map.getSource(this.config_routeplay.id);for(var r in a.setData({geometry:{type:"LineString",coordinates:t.position},properties:t.data,type:"Feature"}),this.config_routeplay)if(this.config_routeplay.hasOwnProperty(r)&&"paint"==r)for(var s in this.config_routeplay[r])this.config_routeplay[r].hasOwnProperty(s)&&i.map.map.setPaintProperty(this.config_routeplay.id,s,this.config_routeplay[r][s]);this.joinLinePoint(),this.start()}}])}(_),c=function(a){function r(o){var a;e(this,r),(a=t(this,r,[i])).type="route",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config_polyline=null,a.config_path=null,a.config_billboard=null,a.config_label=null,a.routeEntity=null,a.pathEntity=null,a.polylineEntity=null,a.clock=null,a.positionProperty=null,a.startTime=null,a.stopTime=null,a.isPlaying=!1,a.currentTime=null,a.graphic=null,a.polyline=null,a.id=o.id,w(a.option,o);var s=f(a.option.position[0],3),l=s[0],c=s[1],u=s[2],h=a.convertPositions(a.option.position);return h.length<2?(console.error("Route needs at least 2 positions"),p(a)):(a.positionProperty=new Cesium.ConstantPositionProperty(Cesium.Cartesian3.fromDegrees(l,c,u)),a.polyline={positions:h},a.createRoute(),a)}return l(r,a),o(r,[{key:"convertPositions",value:function(i){return i&&0!==i.length?i.map(function(i){return 2===i.length?Cesium.Cartesian3.fromDegrees(i[0],i[1],0):3===i.length?Cesium.Cartesian3.fromDegrees(i[0],i[1],i[2]):Cesium.Cartesian3.fromDegrees(0,0,0)}):[]}},{key:"formatConfig_polyline",value:function(i){var t=this.convertPositions(this.option.position);return{id:"".concat(i.id,"_polyline"),polyline:{positions:t,width:Number(i.polyline.width),material:Cesium.Color.fromCssColorString(i.polyline.color),clampToGround:!0},properties:i.data||{}}}},{key:"formatConfig_path",value:function(i){var t=this.convertPositions(this.option.position),e=t.length>0?[t[0]]:[Cesium.Cartesian3.fromDegrees(117.220356,31.833959,43.67),Cesium.Cartesian3.fromDegrees(117.220361,31.835111,44.36)];return{id:"".concat(i.id,"_path"),polyline:{positions:e,width:Number(i.path.width),material:Cesium.Color.fromCssColorString(i.path.color),clampToGround:!0}}}},{key:"formatConfig_billboard",value:function(i){var t,e,n,o;return{id:i.id,position:this.positionProperty,orientation:new Cesium.VelocityOrientationProperty(this.positionProperty),billboard:{image:i.image.src,width:Number(i.image.width)||32,height:Number(i.image.height)||32,verticalOrigin:Cesium.VerticalOrigin.BOTTOM},label:i.label.text?{text:i.label.text,font:"".concat(i.label.textSize||16,"px sans-serif"),fillColor:Cesium.Color.fromCssColorString(i.label.color||"#9e6969ff"),outline:i.label.outline,outlineColor:i.label.outline?Cesium.Color.fromCssColorString(i.label.outlineColor).withAlpha(Number(i.label.outlineOpacity)||1):void 0,outlineWidth:i.label.outline?Number(i.label.outlineWidth):0,style:Cesium.LabelStyle.FILL_AND_OUTLINE,verticalOrigin:Cesium.VerticalOrigin[(null===(t=i.label.verticalOrigin)||void 0===t?void 0:t.toUpperCase())||"CENTER"],horizontalOrigin:Cesium.HorizontalOrigin[(null===(e=i.label.horizontalOrigin)||void 0===e?void 0:e.toUpperCase())||"CENTER"],pixelOffset:new Cesium.Cartesian2((null===(n=i.label.pixelOffset)||void 0===n?void 0:n[0])||0,(null===(o=i.label.pixelOffset)||void 0===o?void 0:o[1])||0)}:void 0,properties:i.data||{}}}},{key:"createRoute",value:function(){var t=this.convertPositions(this.option.position);console.log("positions:",t),this.config_polyline=this.formatConfig_polyline(this.option),this.polylineEntity=new Cesium.Entity(this.config_polyline),i.map.map.entities.add(this.polylineEntity),this.config_path=this.formatConfig_path(this.option),this.pathEntity=new Cesium.Entity(this.config_path),i.map.map.entities.add(this.pathEntity);var e=this.calculatePathDistance(t);console.log("总距离:",e);var n=e/this.option.speed,o=Cesium.JulianDate.now();this.startTime=o;var a=Cesium.JulianDate.addSeconds(o,n,new Cesium.JulianDate);this.stopTime=a,this.positionProperty=new Cesium.SampledPositionProperty;for(var r=10*Math.ceil(n),s=0;s<=r;s++){var l=s/r,c=Cesium.JulianDate.addSeconds(this.startTime,n*l,new Cesium.JulianDate),p=this.getPositionAtFraction(t,l);this.positionProperty.addSample(c,p)}this.createMovingEntity(t[0]),this.option.clockLoop&&(i.map.map.clock.multiplier=this.option.replaySpeed||20,i.map.map.clock.shouldAnimate=!1),this.setupPathUpdate()}},{key:"calculatePathDistance",value:function(i){for(var t=0,e=1;e<i.length;e++)t+=Cesium.Cartesian3.distance(i[e-1],i[e]);return t}},{key:"getPositionAtFraction",value:function(i,t){if(t<=0)return i[0];if(t>=1)return i[i.length-1];for(var e=[],n=0,o=1;o<i.length;o++){var a=Cesium.Cartesian3.distance(i[o-1],i[o]);e.push(a),n+=a}for(var r=t*n,s=0,l=0;l<e.length;l++){if(r<=s+e[l]){var c=(r-s)/e[l];return Cesium.Cartesian3.lerp(i[l],i[l+1],c,new Cesium.Cartesian3)}s+=e[l]}return i[i.length-1]}},{key:"createMovingEntity",value:function(t){this.config_billboard=this.formatConfig_billboard(this.option),this.routeEntity=new Cesium.Entity(this.config_billboard),i.map.map.entities.add(this.routeEntity),this.option.camera.type&&this.setupCamera()}},{key:"setupCamera",value:function(){var t=this,e=this.option.camera.type,n=Cesium.Math.toRadians(this.option.camera.pitch||-30),o=this.option.camera.radius||500;"follow"===e?i.map.map.trackedEntity=this.routeEntity:"orbit"===e&&(i.map.map.scene.screenSpaceCameraController.enableTilt=!1,i.map.map.clock.onTick.addEventListener(function(){if(t.routeEntity&&t.isPlaying){var e=t.routeEntity.position.getValue(i.map.map.clock.currentTime);if(e){var a=Cesium.Cartesian3.add(e,new Cesium.Cartesian3(o*Math.cos(n),o*Math.sin(n),0),new Cesium.Cartesian3);i.map.map.camera.setView({destination:a,orientation:{heading:0,pitch:n,roll:0}})}}}))}},{key:"setupPathUpdate",value:function(){var t=this;i.map.map.clock.onTick.addEventListener(function(){t.isPlaying&&t.routeEntity&&t.updatePath()})}},{key:"updatePath",value:function(){if(this.routeEntity&&this.positionProperty){for(var t=i.map.map.clock.currentTime,e=Cesium.JulianDate.toDate(this.startTime).getTime(),n=Cesium.JulianDate.toDate(t).getTime(),o=Cesium.JulianDate.toDate(this.stopTime).getTime()-e,a=Math.min(n-e,o)/o,r=this.convertPositions(this.option.position),s=[],l=Math.ceil(100*a),c=0;c<=l;c++){var p=c/l*a;if(p>0){var u=this.getPositionAtFraction(r,p);s.push(u)}}var h=this.routeEntity.position.getValue(t);h&&s.push(h),this.pathEntity&&s.length>1&&(this.pathEntity.polyline.positions=s)}}},{key:"set",value:function(t){w(this.option,t),this.isPlaying&&this.stop(),this.routeEntity&&i.map.map.entities.remove(this.routeEntity),this.pathEntity&&i.map.map.entities.remove(this.pathEntity),this.polylineEntity&&i.map.map.entities.remove(this.polylineEntity),this.createRoute(),this.isPlaying&&this.start()}},{key:"start",value:function(){}},{key:"pause",value:function(){this.isPlaying=!1,i.map.map.clock.shouldAnimate=!1}},{key:"proceed",value:function(){this.isPlaying=!0,i.map.map.clock.shouldAnimate=!0}},{key:"stop",value:function(){this.isPlaying=!1,i.map.map.clock.shouldAnimate=!1,i.map.map.clock.currentTime=this.startTime,this.pathEntity&&(this.pathEntity.polyline.positions=[])}},{key:"destroy",value:function(){this.stop(),this.routeEntity&&i.map.map.entities.remove(this.routeEntity),this.pathEntity&&i.map.map.entities.remove(this.pathEntity),this.polylineEntity&&i.map.map.entities.remove(this.polylineEntity),this.routeEntity=null,this.pathEntity=null,this.polylineEntity=null,this.positionProperty=null,this.isPlaying=!1}},{key:"flyTo",value:function(){var i,t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if((null===(t=null===(i=this.polyline)||void 0===i?void 0:i.positions)||void 0===t?void 0:t.length)>0){var n=Cesium.BoundingSphere.fromPoints(this.polyline.positions);this.hnMap.map.map.camera.flyToBoundingSphere(n,{duration:e.duration||2,offset:new Cesium.HeadingPitchRange(0,-Cesium.Math.PI_OVER_FOUR,2*n.radius)})}}}])}(x);return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.HeatMap=W(this),this.Cluster=function(i){var n={id:"",position:[],pixelRange:20,cluster:!0,image:"",width:20,height:20,data:null},a=function(a){function r(i){var o;return e(this,r),(o=t(this,r,[i])).type="cluster",o.id=null,o.option=JSON.parse(JSON.stringify(n)),o.config_layer=null,o.config_label=null,o.children=null,o.layerEntity=null,o.id=i.id,o.children=[],w(o.option,i),o.config_layer=o.formatConfigLayer(o.option),o.config_label=o.formatConfigLabel(o.option),o.layerEntity=new mars3d.layer.GraphicLayer(o.config_layer),o}return l(r,a),o(r,[{key:"formatConfigLayer",value:function(i){return{id:i.id,cluster:{enabled:!1!==i.cluster,pixelRange:i.pixelRange||20,styles:[{scale:1,image:"img/marker/mark1.png",label:{text:"{count}",color:"#ffffff",font_size:16,stroke:!0,strokeColor:"#000000"}},{scale:1.5,image:"img/marker/mark2.png",label:{text:"{count}",color:"#ffffff",font_size:18}},{scale:2,image:"img/marker/mark3.png",label:{text:"{count}",color:"#ffffff",font_size:20}}]}}}},{key:"formatConfigLabel",value:function(i){return{id:"label_"+i.id,image:i.image,width:i.width,height:i.height}}},{key:"clearEntity",value:function(){this.children=[],this.layerEntity&&this.layerEntity.clear()}},{key:"addEntity",value:function(i){this.children.push(i),this.layerEntity&&this.layerEntity.addGraphic(i.graphic)}},{key:"setPosition",value:function(t){var e=this;this.clearEntity(),t.forEach(function(t,n){var o={id:e.config_label.id+"_point"+t.id,position:t.position,image:e.config_label.image,height:e.config_label.height,width:e.config_label.width,data:t.data},a=new i.ImagePoint(o);e.addEntity(a)})}},{key:"destroy",value:function(){var t=this;this.clearEntity(),this.layerEntity&&this.layerEntity.remove(!0),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"addPopupByAttr",value:function(){this.layerEntity.bindPopup(function(i){var t=i.graphic.attr;return mars3d.Util.getTemplateHtml({title:"详情",template:"all",attr:t})})}},{key:"addCustomPopup",value:function(i){var t=this;this.layerEntity.bindPopup(function(e){return C(t,void 0,void 0,u().m(function t(){var n;return u().w(function(t){for(;;)switch(t.n){case 0:if(!e.graphic.attr){t.n=2;break}return n=e.graphic.attr||{},t.n=1,i(n);case 1:return t.a(2,t.v);case 2:return t.a(2)}},t)}))},{offsetY:-20})}},{key:"flyTo",value:function(){this.layerEntity.flyTo()}},{key:"getEntity",value:function(i){return("string"==typeof i?this.children.find(function(t){return t.id===i}):i)||Promise.reject(new Error("未找到此图形"))}},{key:"openCluster",value:function(){w(this.option,{cluster:!0}),this.config_layer=this.formatConfigLayer(this.option),this.layerEntity.clusterEnabled=!0}},{key:"closeCluster",value:function(){w(this.option,{cluster:!1}),this.config_layer=this.formatConfigLayer(this.option),this.layerEntity.clusterEnabled=!1}}])}(N(i)),r=function(){return o(function t(o){e(this,t),this.type="cluster",this.id=null,this.option=JSON.parse(JSON.stringify(n)),this.config=null,this.layerEntity=null,this.infoWindow=null,this.id=o.id,w(this.option,o),this.config=this.formatConfig(this.option),this.layerEntity=new AMap.MarkerCluster(i.map.map,this.config.position,this.config)},[{key:"formatConfig",value:function(i){var t=this,e=i.position.map(function(i,e){return{lnglat:k(i),extData:{id:t.id+"_point"+e}}}),n=e.length;return{id:i.id,position:e,gridSize:i.pixelRange,clusterByZoomChange:!0,renderClusterMarker:function(i){var t=Math.pow(i.count/n,1/18),e=document.createElement("div"),o=180-180*t,a="hsla("+o+",100%,40%,0.7)",r="hsla("+o+",100%,90%,1)",s="hsla("+o+",100%,40%,1)",l="hsla("+o+",100%,90%,1)";e.style.backgroundColor=a;var c=Math.round(30+20*Math.pow(i.count/n,.2));e.style.width=e.style.height=c+"px",e.style.border="solid 1px "+s,e.style.borderRadius=c/2+"px",e.style.boxShadow="0 0 5px "+l,e.innerHTML=i.count,e.style.lineHeight=c+"px",e.style.color=r,e.style.fontSize="14px",e.style.textAlign="center",i.marker.setOffset(new AMap.Pixel(-c/2,-c/2)),i.marker.setContent(e)},renderMarker:function(i){var e=new AMap.Icon({image:t.option.style.image,imageSize:new AMap.Size(t.option.style.height,t.option.style.width),size:new AMap.Size(t.option.style.height,t.option.style.width)});i.marker.setIcon(e)}}}},{key:"setPosition",value:function(i){w(this.option,{position:i}),this.config=this.formatConfig(this.option),this.layerEntity.setData(this.config.position)}},{key:"destroy",value:function(){var t=this;this.layerEntity.setMap(null),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"flyTo",value:function(){var t=0,e=0;this.config.position.map(function(i){t+=i.lnglat.lng,e+=i.lnglat.lat});var n=t/this.config.position.length,o=e/this.config.position.length;i.map.map.setCenter([n,o])}},{key:"addPopupByAttr",value:function(){var t=this;this.infoWindow||(this.infoWindow=new AMap.InfoWindow({offset:new AMap.Pixel(0,-30)})),this.layerEntity.on("click",function(e){if(1===e.clusterData.length){var n="",o=e.clusterData[0].extData;for(var a in o)n+="<div>".concat(a,": ").concat(o[a],"</div>");t.infoWindow.setContent(n),t.infoWindow.open(i.map.map,e.marker._position)}})}},{key:"addCustomPopup",value:function(t){var e=this;this.infoWindow||(this.infoWindow=new AMap.InfoWindow({offset:new AMap.Pixel(0,-30)})),this.layerEntity.on("click",function(n){if(1===n.clusterData.length){var o=n.clusterData[0].extData,a=t(o);e.infoWindow.setContent(a),e.infoWindow.open(i.map.map,n.marker._position)}})}}])}(),s=function(){return o(function t(o){e(this,t),this.type="cluster",this.id=null,this.option=JSON.parse(JSON.stringify(n)),this.config_layer=null,this.config_label=null,this.config_Image=null,this.layerEntity=null,this.infoWindow=null,this.event={},this.id=o.id,w(this.option,o),i.map.map.addSource(this.id,{type:"geojson",data:{type:"FeatureCollection",features:this.option.position.map(function(i){return{type:"Feature",geometry:{type:"Point",coordinates:k(D(i.position))},properties:Object.assign(Object.assign({},i),{lnglat:k(D(i.position))})}})},cluster:!0,clusterMaxZoom:12,clusterRadius:100}),this.config_layer=this.formatConfigLayer(this.option),this.config_label=this.formatConfigLabel(this.option),this.config_Image=this.formatConfigImage(this.option)},[{key:"formatConfigLayer",value:function(i){return{id:"clusters_"+i.id,type:"circle",source:this.id,filter:["has","point_count"],paint:{"circle-color":["step",["get","point_count"],"#9faebf",10,"#3583de",30,"#04b71e",55,"#ff9800",100,"#f61402",300,"#f61402"],"circle-radius":["step",["get","point_count"],20,50,30,100,35,500,35,2e3,40,5e3,40],"circle-opacity":.7,"circle-stroke-width":3,"circle-stroke-color":"#ffffff"}}}},{key:"formatConfigLabel",value:function(i){return{id:"clusterCount_"+i.id,type:"symbol",source:this.id,filter:["has","point_count"],layout:{"text-field":"{point_count_abbreviated}","text-font":["Microsoft YaHei Regular"],"text-size":14},paint:{"text-color":"#ffffff"}}}},{key:"formatConfigImage",value:function(i){return{id:"choicePoi_"+i.id,type:"symbol",source:this.id,filter:["!has","point_count"],layout:{"icon-image":i.id+"_poiImage"},paint:{"text-color":"#555252","text-halo-color":"#FFFFFF","text-halo-width":1.33333}}}},{key:"on",value:function(t,e){this.off(t),"click"===t&&(this.event[t]=function(t){var n=i.map.map.queryRenderedFeatures(t.point);n.length>0&&e(n[0].properties)}),i.map.map.on(t,this.event[t])}},{key:"off",value:function(t){this.event[t]&&(i.map.map.off(t,this.event[t]),delete this.event[t])}},{key:"addPopupByAttr",value:function(){var t=this;console.log("addPopupByAttr======",this.config_label),this.removePopup(),this.infoWindow=new SGMap.Popup({offset:{bottom:[0,0]},className:"my-attrPopup-class"}),i.map.map.on("click","choicePoi_"+this.id,function(e){var n=i.map.map.queryRenderedFeatures(e.point),o="";for(var a in n)o+="<div>".concat(a,": ").concat(n[a],"</div>");t.infoWindow.setHTML(o),t.infoWindow.setLngLat(e.lngLat).addTo(i.map.map)})}},{key:"addCustomPopup",value:function(t){var e=this;this.removePopup(),this.infoWindow=new SGMap.Popup({offset:{bottom:[0,0]},className:"my-customPopup-class"}),i.map.map.on("click","choicePoi_"+this.id,function(n){var o=i.map.map.queryRenderedFeatures(n.point),a=t(o);e.infoWindow.setHTML(a),e.infoWindow.setLngLat(n.lngLat).addTo(i.map.map)})}},{key:"removePopup",value:function(){this.infoWindow&&this.infoWindow.remove()}},{key:"destroy",value:function(){var t=this;i.map.map&&(i.map.map.getLayer("clusters_"+this.id)&&i.map.map.removeLayer("clusters_"+this.id),i.map.map.getLayer("clusterCount_"+this.id)&&i.map.map.removeLayer("clusterCount_"+this.id),i.map.map.getLayer("choicePoi_"+this.id)&&i.map.map.removeLayer("choicePoi_"+this.id),i.map.map.getSource(this.id)&&i.map.map.removeSource(this.id)),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}}])}(),c=function(a){function r(o){var a;if(e(this,r),(a=t(this,r,[o])).type="cluster",a.id=null,a.option=JSON.parse(JSON.stringify(n)),a.config=null,a.layerEntity=null,a.graphic=null,a.children=[],a.entities=[],a.clusterDataSource=null,a.event={},a.screenSpaceEventHandler=null,a.popup=null,a.popupContent=null,a.showPopupOnClick=!1,a.popupStyle=null,a.id=o.id,w(a.option,o),a.clusterDataSource=new Cesium.CustomDataSource(a.id),i.map.map&&i.map.map.dataSources.add(a.clusterDataSource),a.clusterDataSource.clustering&&(a.clusterDataSource.clustering.enabled=!1!==a.option.cluster,a.clusterDataSource.clustering.pixelRange=a.option.pixelRange||20,a.clusterDataSource.clustering.minimumClusterSize=a.option.minimumClusterSize||2,a.clusterDataSource.clustering.clusterBillboards=!0,a.clusterDataSource.clustering.clusterEvent.addEventListener(a.onClusterEvent.bind(a))),a.layerEntity=a.clusterDataSource,i&&i.map&&i.map.map){var s=M();a.popup=new s(i.map.map,{style:a.popupStyle})}return a}return l(r,a),o(r,[{key:"onClusterEvent",value:function(i,t){var e,n;t.billboard||(t.billboard={}),t.label||(t.label={}),t.label.show=!0,t.label.text=i.length.toLocaleString(),t.label.fillColor=Cesium.Color.WHITE,t.label.font="14px sans-serif",t.label.pixelOffset=new Cesium.Cartesian2(0,-10),t.label.heightReference=Cesium.HeightReference.CLAMP_TO_GROUND,t.label.verticalOrigin=Cesium.VerticalOrigin.CENTER,t.label.horizontalOrigin=Cesium.HorizontalOrigin.CENTER,t.label.disableDepthTestDistance=Number.POSITIVE_INFINITY,i.length>100?(e=Cesium.Color.RED.withAlpha(.8),n=50):i.length>50?(e=Cesium.Color.ORANGE.withAlpha(.8),n=45):i.length>10?(e=Cesium.Color.YELLOW.withAlpha(.8),n=40):(e=Cesium.Color.GREEN.withAlpha(.8),n=35);var o=document.createElement("canvas");o.width=n,o.height=n;var a=o.getContext("2d");a&&(a.beginPath(),a.arc(n/2,n/2,n/2,0,2*Math.PI),a.fillStyle=e.toCssColorString(),a.fill()),t.billboard.image=o.toDataURL(),t.billboard.show=!0,t.billboard.heightReference=Cesium.HeightReference.CLAMP_TO_GROUND,t.billboard.verticalOrigin=Cesium.VerticalOrigin.CENTER,t.billboard.horizontalOrigin=Cesium.HorizontalOrigin.CENTER,t.billboard.disableDepthTestDistance=Number.POSITIVE_INFINITY,t.billboard.pixelOffset=new Cesium.Cartesian2(0,-10),t.cluster=!0}},{key:"setPosition",value:function(i){var t=this;this.clearEntity(),i.forEach(function(i,e){var n=Cesium.Cartesian3.fromDegrees(i.position[0],i.position[1],i.position[2]||0),o="".concat(t.id,"_point_").concat(e),a=new Cesium.Entity({id:o,position:n,billboard:{image:t.option.image||"/path/to/default/icon.png",width:Number(t.option.width)||20,height:Number(t.option.height)||20,verticalOrigin:Cesium.VerticalOrigin.BOTTOM,disableDepthTestDistance:Number.POSITIVE_INFINITY},properties:i.data||t.option.data||{}});a.cluster=!1;try{t.clusterDataSource.entities.add(a),t.entities.push(a)}catch(i){console.error("添加实体失败:",i);var r=t.entities.indexOf(a);r>-1&&t.entities.splice(r,1)}})}},{key:"clearEntity",value:function(){if(this.clusterDataSource)try{this.clusterDataSource.entities.removeAll()}catch(i){console.error("清除数据源实体失败:",i)}this.entities=[]}},{key:"flyTo",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.clusterDataSource&&i.map.map){var e=this.clusterDataSource.entities.values;if(e&&e.length>0){var n=e.filter(function(i){return i.position}).map(function(i){return i.position.getValue(Cesium.JulianDate.now())}).filter(Boolean);if(n.length>0)try{var o=Cesium.BoundingSphere.fromPoints(n),a=t.radiusMultiplier||3;return void i.map.map.camera.flyToBoundingSphere(o,{duration:t.duration||2,offset:new Cesium.HeadingPitchRange(Cesium.Math.toRadians(t.heading||0),Cesium.Math.toRadians(t.pitch||-45),o.radius*a),complete:t.complete,cancel:t.cancel})}catch(i){console.error("飞行定位到聚合点失败:",i)}}try{i.map.map.flyTo(this.clusterDataSource,{duration:t.duration||2,complete:t.complete,cancel:t.cancel})}catch(i){console.error("默认飞行定位失败:",i)}}}},{key:"destroy",value:function(){var t=this;this.clearEntity(),i.map.map&&this.clusterDataSource&&i.map.map.dataSources.remove(this.clusterDataSource,!0),this.offAll(),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"on",value:function(t,e){var n=this;if(this.off(t),this.clusterDataSource&&i&&i.map&&i.map.map)switch(this.screenSpaceEventHandler||(this.screenSpaceEventHandler=new Cesium.ScreenSpaceEventHandler(i.map.map.canvas)),t){case"click":this.event[t]=function(t){var o=i.map.map.scene.pick(t.position);if(o&&o.id){var a=o.id;if(n.clusterDataSource.entities.contains(a)){if(!0===a.cluster)return;var r=a.properties||n.option.data||{};e(r),n.showPopupOnClick&&n.popupContent&&n.showPopupAtPosition(t.position)}}},this.screenSpaceEventHandler.setInputAction(this.event[t],Cesium.ScreenSpaceEventType.LEFT_CLICK);break;case"mousemove":this.event[t]=function(t){var o=i.map.map.scene.pick(t.endPosition);if(o&&o.id){var a=o.id;if(n.clusterDataSource.entities.contains(a)){if(!0===a.cluster)return;var r=a.properties||n.option.data||{};e(r)}}},this.screenSpaceEventHandler.setInputAction(this.event[t],Cesium.ScreenSpaceEventType.MOUSE_MOVE)}}},{key:"off",value:function(i){if(this.event[i]&&this.screenSpaceEventHandler){try{switch(i){case"click":this.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);break;case"mousemove":this.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE)}}catch(i){console.warn("移除事件监听失败:",i)}delete this.event[i]}}},{key:"offAll",value:function(){var i=this;if(Object.keys(this.event).forEach(function(t){i.off(t)}),this.screenSpaceEventHandler){try{this.screenSpaceEventHandler.destroy()}catch(i){console.warn("销毁屏幕空间事件处理器失败:",i)}this.screenSpaceEventHandler=null}}},{key:"addPopupByAttr",value:function(){if(this.showPopupOnClick=!0,this.option&&this.option.data){var i='<div style="max-height: 300px; overflow-y: auto;">';for(var t in this.option.data)this.option.data.hasOwnProperty(t)&&(i+='\n <div style="color:#666;background:#ffffff;">'.concat(t+":"+this.option.data[t],"</div>\n "));i+="</div>",this.popupContent=i,this.bindClickEvent()}}},{key:"addCustomPopup",value:function(i){var t=this;this.showPopupOnClick=!0;var e=this.option&&this.option.data?this.option.data:{};try{var n=i(e);n instanceof Promise?n.then(function(i){t.popupContent=i,t.bindClickEvent()}).catch(function(i){console.error("生成自定义弹窗DOM失败:",i)}):(this.popupContent=n,this.bindClickEvent())}catch(i){console.error("生成自定义弹窗DOM失败:",i)}}},{key:"bindClickEvent",value:function(){var t=this;if(this.screenSpaceEventHandler)try{this.screenSpaceEventHandler.destroy()}catch(i){console.warn("销毁原有事件处理器失败:",i)}i.map.map&&i.map.map.canvas?(this.screenSpaceEventHandler=new Cesium.ScreenSpaceEventHandler(i.map.map.canvas),this.screenSpaceEventHandler.setInputAction(function(e){var n=i.map.map.scene.pick(e.position);if(n&&n.id){var o=n.id;if(t.clusterDataSource.entities.contains(o)){if(!0===o.cluster)return;t.showPopupAtPosition(e.position)}}},Cesium.ScreenSpaceEventType.LEFT_CLICK)):console.warn("地图或画布不可用,无法绑定点击事件")}},{key:"showPopupAtPosition",value:function(t){if(this.popup&&this.popupContent){var e=i.map.map.camera.getPickRay(t);if(e){var n=i.map.map.scene.globe.pick(e,i.map.map.scene);n&&this.popup.show({cartesian:n},this.popupContent)}}}},{key:"setPopupStyle",value:function(t){if(this.popupStyle=t,this.popup&&i&&i.map&&i.map.map){this.popup.destroy();var e=M();this.popup=new e(i.map.map,{style:this.popupStyle})}}}])}(N(i));return{mars3d:a,gaode:r,siji:s,cesium:c}[i.mapType]}(this),this.PointCloud=function(i){var t={id:"",name:"",url:"",position:null,scale:1,flyTo:!1},n=function(){return o(function i(n){e(this,i),this.type="pointCloud",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.id=n.id,w(this.option,n),this.config=this.formatConfig(this.option),this.layerEntity=new mars3d.layer.TilesetLayer(this.config)},[{key:"formatConfig",value:function(i){return{id:i.id,name:i.name,url:i.url,position:i.position,scale:i.scale,attr:{name:i.name},flyTo:i.flyTo}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.layerEntity.setOptions(this.config)}},{key:"destroy",value:function(){var t=this;this.layerEntity.remove(!0),i.map.map.layerList=i.map.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"addPopupByAttr",value:function(){this.layerEntity.bindPopup(function(i){var t={name:i.layer.name};return mars3d.Util.getTemplateHtml({title:"详情",template:"all",attr:t})})}},{key:"flyTo",value:function(){this.layerEntity.flyTo()}}])}(),a=o(function i(t){throw e(this,i),new Error("高德地图不支持点云功能")}),r=function(){return o(function i(n){e(this,i),this.type="pointCloud",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.THREE=null,this.camera=null,this.scene=null,this.renderer=null,this.modelTransform=null,this.id=n.id,w(this.option,n),this.config=this.formatConfig(this.option)},[{key:"calculateRotationFromDegrees",value:function(i){return[0,0,i*Math.PI/180]}},{key:"formatConfig",value:function(i){var t,e=D([i.position.lng,i.position.lat]),n=i.position.alt,o=this.calculateRotationFromDegrees(i.rotation),a=1e-6*i.scale,r={translateX:SGMap.MercatorCoordinate.fromLngLat(e,n).x,translateY:SGMap.MercatorCoordinate.fromLngLat(e,n).y,translateZ:SGMap.MercatorCoordinate.fromLngLat(e,n).z,rotateX:o[0],rotateY:o[1],rotateZ:o[2],scale:a},s=window.THREE;return t={id:i.id,type:"custom",renderingMode:"3d",onAdd:function(i,t){this.camera=new s.Camera,this.scene=new s.Scene;var n=new s.DirectionalLight(16777215);n.position.set(0,-70,100).normalize(),this.scene.add(n);var o=new s.DirectionalLight(16777215);o.position.set(0,70,100).normalize(),this.scene.add(o);var a=new s.ObjectLoader,r=this;a.load("https://map.sgcc.com.cn/products/js-sdk/v3/assets/model/ZH-SZC3-42.gltf",function(t){r.scene.add(t),i.flyTo({center:e,zoom:18,pitch:75,bearing:0,duration:2e3,essential:!0})}.bind(r)),this.renderer=new s.WebGLRenderer({canvas:i.getCanvas(),context:t}),this.renderer.autoClear=!1},render:function(i,t){var e=(new s.Matrix4).makeRotationAxis(new s.Vector3(1,0,0),r.rotateX),n=(new s.Matrix4).makeRotationAxis(new s.Vector3(0,1,0),r.rotateY),o=(new s.Matrix4).makeRotationAxis(new s.Vector3(0,0,1),r.rotateZ),a=(new s.Matrix4).fromArray(t),l=(new s.Matrix4).makeTranslation(r.translateX,r.translateY,r.translateZ).scale(new s.Vector3(r.scale,-r.scale,r.scale)).multiply(e).multiply(n).multiply(o);this.camera.projectionMatrix.elements=t,this.camera.projectionMatrix=a.multiply(l),this.renderer.state.reset(),this.renderer.render(this.scene,this.camera)}},t}}])}();return{mars3d:n,gaode:a,siji:r,cesium:function(){return o(function i(n){e(this,i),this.type="pointCloud",this.graphic=null,this.layerEntity=null,this.tileset=null,this.isReady=!1,this.addedToScene=!1,this.id=n.id,this.option=JSON.parse(JSON.stringify(t)),w(this.option,n),this.createCesiumPointCloud()},[{key:"createCesiumPointCloud",value:function(){try{if(console.log("开始创建Cesium点云:",this.option.url),"undefined"==typeof Cesium)return void console.error("Cesium未定义,无法创建点云");if(!this.option.url)return void console.error("点云URL未设置");var t={url:this.option.url,show:!0,maximumScreenSpaceError:16,maximumNumberOfLoadedTiles:1e3},e=Cesium.Matrix4.IDENTITY;if(this.option.position){var n=Cesium.Cartesian3.fromDegrees(this.option.position.lng,this.option.position.lat,this.option.position.alt||0);if(e=Cesium.Transforms.eastNorthUpToFixedFrame(n),this.option.scale&&1!==this.option.scale){var o=Cesium.Matrix4.fromUniformScale(this.option.scale);e=Cesium.Matrix4.multiply(e,o,new Cesium.Matrix4)}}t.modelMatrix=e;try{if(console.log("创建Cesium3DTileset,配置:",t),this.tileset=new Cesium.Cesium3DTileset(t),!this.tileset)return console.error("Cesium3DTileset创建失败"),void(this.isReady=!0);console.log("Cesium3DTileset创建成功:",this.tileset);try{this.tileset.style=new Cesium.Cesium3DTileStyle({color:{conditions:[["true",'color("red")']]}}),console.log("点云样式设置成功")}catch(i){console.warn("设置点云样式失败:",i)}this.layerEntity=this.tileset}catch(i){return void console.error("创建Cesium3DTileset失败:",i)}if(i&&i.map&&i.map.map)try{var a=i.map.map;console.log("准备添加点云到场景:",this.tileset),a.scene&&a.scene.primitives?(a.scene.primitives.contains(this.tileset)?(console.log("点云已在场景中"),this.addedToScene=!0):(console.log("将点云添加到场景中"),a.scene.primitives.add(this.tileset),this.addedToScene=!0,console.log("点云已添加到场景中:",this.id)),this.setupTilesetReadyHandling()):(console.error("场景或primitives不存在"),this.isReady=!0)}catch(i){console.error("添加点云到场景失败:",i),this.isReady=!0}}catch(i){console.error("创建Cesium点云失败:",i),this.isReady=!0}}},{key:"setupTilesetReadyHandling",value:function(){var i=this;if(!this.tileset)return console.warn("tileset未初始化"),void(this.isReady=!0);try{(function(){if(i.tileset.readyPromise&&"function"==typeof i.tileset.readyPromise.then)return console.log("使用readyPromise监听点云加载"),i.tileset.readyPromise.then(function(){console.log("点云加载完成 (via readyPromise):",i.id),i.isReady=!0,i.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100))}).catch(function(t){console.error("点云加载失败 (via readyPromise):",t),i.isReady=!0}),!0;if(i.tileset.readyEvent&&"function"==typeof i.tileset.readyEvent.addEventListener){console.log("使用readyEvent监听点云加载");var t=i.tileset.readyEvent.addEventListener(function(){console.log("点云加载完成 (via readyEvent):",i.id),i.isReady=!0,t&&"function"==typeof t&&t(),i.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100))});return!0}if(void 0!==i.tileset._ready){if(console.log("使用_ready属性监听点云加载"),i.tileset._ready)return console.log("点云已就绪 (_ready=true):",i.id),i.isReady=!0,i.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100)),!0;console.log("轮询检查点云加载状态");var e=function(){i.tileset._ready?(console.log("点云加载完成 (via polling):",i.id),i.isReady=!0,i.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100))):setTimeout(e,100)};return e(),!0}if(i.tileset.tileLoad&&"function"==typeof i.tileset.tileLoad.addEventListener){console.log("使用tileLoad事件监听点云加载");var n=i.tileset.tileLoad.addEventListener(function(){console.log("点云加载完成 (via tileLoad):",i.id),i.isReady=!0,n&&"function"==typeof n&&n(),i.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100))});return!0}return!1})()||(console.log("无法确定点云加载状态,直接标记为就绪"),this.isReady=!0,this.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100)))}catch(t){console.error("设置点云就绪处理失败:",t),this.isReady=!0,this.option.flyTo&&(console.log("执行自动飞行动画"),setTimeout(function(){i.flyTo()},100))}}},{key:"flyTo",value:function(){if(console.log("执行飞行到点云:",this.id),i&&i.map&&i.map.map){var t=i.map.map;try{if(this.tileset&&this.tileset.root&&this.tileset.root.boundingSphere)console.log("使用boundingSphere飞行"),t.flyTo(this.tileset,{duration:3,offset:new Cesium.HeadingPitchRange(0,-.5,this.tileset.root.boundingSphere.radius)});else if(this.option.position){console.log("使用配置位置飞行");var e=Cesium.Cartesian3.fromDegrees(this.option.position.lng,this.option.position.lat,(this.option.position.alt||0)+500);t.camera.flyTo({destination:e,duration:3,orientation:{heading:0,pitch:Cesium.Math.toRadians(-45),roll:0}})}else console.warn("无法飞行到点云: 缺少位置信息")}catch(i){if(console.error("飞行到点云失败:",i),this.option.position){console.log("降级处理:使用配置位置飞行");var n=Cesium.Cartesian3.fromDegrees(this.option.position.lng,this.option.position.lat,(this.option.position.alt||0)+500);t.camera.flyTo({destination:n,duration:3,orientation:{heading:0,pitch:Cesium.Math.toRadians(-45),roll:0}})}}}else console.warn("地图不可用")}},{key:"set",value:function(i){console.log("更新点云配置:",this.id,i);try{if(w(this.option,i),void 0!==i.show&&this.tileset&&(this.tileset.show=i.show),i.position&&this.tileset){var t=Cesium.Cartesian3.fromDegrees(i.position.lng,i.position.lat,i.position.alt||0),e=Cesium.Transforms.eastNorthUpToFixedFrame(t);if(i.scale&&1!==i.scale){var n=Cesium.Matrix4.fromUniformScale(i.scale);e=Cesium.Matrix4.multiply(e,n,new Cesium.Matrix4)}this.tileset.modelMatrix=e}}catch(i){console.error("更新点云配置失败:",i)}}},{key:"destroy",value:function(){var t;console.log("销毁点云:",this.id);try{var e=null===(t=null==i?void 0:i.map)||void 0===t?void 0:t.map;e&&this.tileset&&e.scene&&e.scene.primitives&&(e.scene.primitives.remove(this.tileset),console.log("Tileset 已移除"))}catch(i){console.error("销毁点云失败:",i)}finally{this.tileset=null,this.layerEntity=null,this.isReady=!1,this.addedToScene=!1}}},{key:"addPopupByAttr",value:function(){console.log("点云图层添加属性弹窗:",this.id)}}])}()}[i.mapType]}(this),this.GeoJson=function(i){var t={id:"",data:F,opacity:1,line:{show:!0,color:"#ff00ff",opacity:1,width:2},area:{show:!1,color:"#ffff00",opacity:1}};return{mars3d:function(){return o(function i(n){e(this,i),this.type="geoJson",this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.id=n.id,w(this.option,n),this.config=this.formatConfig(this.option),this.layerEntity=new mars3d.layer.GeoJsonLayer(this.config)},[{key:"formatConfig",value:function(i){return{name:i.id,id:i.id,allowDrillPick:!0,data:i.data,symbol:{styleOptions:{clampToGround:!0,fill:i.area.show,randomColor:!(!i.area.show||!i.area.color),outline:i.line.show,opacity:i.opacity,outlineStyle:{color:i.line.color,width:i.line.width,opacity:i.line.opacity}}}}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.layerEntity.setOptions(this.config)}},{key:"customStyle",value:function(i){this.layerEntity.options.symbol.callback=function(t){return i(t)}}},{key:"destroy",value:function(){var t=this;this.layerEntity.remove(!0),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"setData",value:function(i){this.layerEntity.loadGeoJSON(i,{clear:!0})}},{key:"clear",value:function(){this.layerEntity.clear()}},{key:"flyTo",value:function(){this.layerEntity.flyTo()}},{key:"addPopupByAttr",value:function(){this.layerEntity.bindPopup(function(i){if(i.graphic.attr){var t=i.graphic.attr;return mars3d.Util.getTemplateHtml({title:"详情",template:"all",attr:t})}})}},{key:"addCustomPopup",value:function(i){var t=this;this.layerEntity.bindPopup(function(e){return C(t,void 0,void 0,u().m(function t(){var n;return u().w(function(t){for(;;)switch(t.n){case 0:if(!e.graphic.attr){t.n=2;break}return n=e.graphic.attr||{},t.n=1,i(n);case 1:return t.a(2,t.v);case 2:return t.a(2)}},t)}))},{offsetY:-20})}}])}(),gaode:function(){return o(function n(o){e(this,n),this.id=null,this.option=JSON.parse(JSON.stringify(t)),this.config=null,this.layerEntity=null,this.id=o.id,w(this.option,o),this.config=this.formatConfig(this.option),this.layerEntity=new AMap.HeatMap(i.map.map,this.config)},[{key:"formatConfig",value:function(i){return k(i.position.map(function(i){return{lng:i.lng,lat:i.lat,count:i.value}})),{}}},{key:"set",value:function(i){w(this.option,i),this.config=this.formatConfig(this.option),this.layerEntity.setOptions(this.config)}},{key:"destroy",value:function(){var t=this;this.layerEntity.setMap(null),i.map.layerList=i.map.layerList.filter(function(i){return i.id!==t.id})}},{key:"flyTo",value:function(){}}])}()}[i.mapType]}(this)}}],[{key:"create",value:function(t,e,n){return C(this,void 0,void 0,u().m(function o(){var a,r,s,l,c,p;return u().w(function(o){for(;;)switch(o.p=o.n){case 0:return a=window.location.pathname.endsWith("/")?window.location.pathname:window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1),o.n=1,J(a+"lib/turf/turf.min.js","js");case 1:return r=null,s=n,o.p=2,o.n=3,i.tryCreateMap(t,e,n,a);case 3:case 6:r=o.v,o.n=8;break;case 4:return o.p=4,c=o.v,console.warn("[".concat(n,"] 地图初始化失败,尝试回退到 mars3d"),c),s="mars3d",o.p=5,o.n=6,i.tryCreateMap(t,e,"mars3d",a);case 7:throw o.p=7,p=o.v,console.error("mars3d 回退也失败了!",p),new Error("所有地图类型均无法加载,请检查网络或资源配置");case 8:return i.allowConstruction=!0,o.p=9,(l=new i(t,e,s,r)).initModules(),o.a(2,l);case 10:return o.p=10,i.allowConstruction=!1,o.f(10);case 11:return o.a(2)}},o,null,[[9,,10,11],[5,7],[2,4]])}))}},{key:"tryCreateMap",value:function(t,e,n,o){return C(this,void 0,void 0,u().m(function a(){var r,s,l;return u().w(function(a){for(;;)switch(a.n){case 0:l=n,a.n="mars3d"===l?1:"gaode"===l?8:"siji"===l?12:"cesium"===l?17:19;break;case 1:return a.n=2,J(o+"lib/Cesium/Widgets/widgets.css","css");case 2:return a.n=3,J(o+"lib/Cesium/Cesium.js","js");case 3:return a.n=4,J(o+"lib/mars3d/mars3d.css","css");case 4:return a.n=5,J(o+"lib/mars3d/mars3d.js","js");case 5:return a.n=6,J(o+"lib/mars3d/plugins/heatmap/heatmap.js","js");case 6:return a.n=7,J(o+"lib/mars3d/plugins/heatmap/mars3d-heatmap.js","js");case 7:return O(),a.a(3,20);case 8:return a.n=9,J("https://webapi.amap.com/maps?v=2.0&key=".concat(e.gaode_key,"&plugin=AMap.HeatMap,AMap.MarkerCluster,AMap.MoveAnimation"),"js");case 9:return a.n=10,J("https://a.amap.com/jsapi_demos/static/data3d/lib/three.117.js","js");case 10:return a.n=11,J("https://a.amap.com/jsapi_demos/static/data3d/lib/GLTFLoader.117.min.js","js");case 11:case 16:case 18:return a.a(3,20);case 12:return a.n=13,J(e.sj_js_url,"js");case 13:if("undefined"!=typeof SGMap){a.n=14;break}throw new Error("siji 地图 JS 加载成功但 SGMap 未定义");case 14:return a.n=15,SGMap.tokenTask.login(e.sj_app_key,e.sj_app_secret);case 15:return a.n=16,SGMap.plugin(["SGMap.DrawPolygonHandler","SGMap.DrawCircleHandler","SGMap.DrawRectangleHandler","SGMap.GeocodingTask","SGMap.RoadNetLayer"]);case 17:return a.n=18,i.loadCesiumResources(e,o);case 19:throw new Error("不支持的地图类型: ".concat(n));case 20:return r=P({id:t,option:e,mapType:n}),a.n=21,r.create(t,e);case 21:return s=a.v,a.a(2,s)}},a)}))}},{key:"loadCesiumResources",value:function(i,t){return C(this,void 0,void 0,u().m(function e(){return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,J(t+"lib/Cesium/Widgets/widgets.css","css");case 1:return e.n=2,J(t+"lib/Cesium/Cesium.js","js");case 2:return e.n=3,new Promise(function(t,e){var n=Date.now(),o=function(){var a=Date.now();"undefined"!=typeof Cesium?(i.cesium_accessToken&&(Cesium.Ion.defaultAccessToken=i.cesium_accessToken),t()):a-n>1e4?e(new Error("Cesium加载超时")):setTimeout(o,100)};o()});case 3:return e.a(2)}},e)}))}}])}();z.allowConstruction=!1;var J=function(i,t){return new Promise(function(e,n){if(function(i){return!!Array.from(document.getElementsByTagName("script")).some(function(t){return t.src.includes(i)})||Array.from(document.getElementsByTagName("link")).some(function(t){return t.href.includes(i)})}(i))e();else if("css"===t){var o=document.createElement("link");o.rel="stylesheet",o.href=i,o.onload=function(){return e()},o.onerror=n,document.head.appendChild(o)}else{var a=document.createElement("script");a.src=i,a.onload=function(){return e()},a.onerror=n,document.body.appendChild(a)}})};return z});