@mapgis/webclient-mapboxgl-plugin 17.2.7 → 17.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e){var t={};function i(r){if(t[r])return t[r].exports;var s=t[r]={i:r,l:!1,exports:{}};return e[r].call(s.exports,s,s.exports,i),s.l=!0,s.exports}i.m=e,i.c=t,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)i.d(r,s,function(t){return e[t]}.bind(null,s));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=2)}([function(e,t){e.exports=function(){try{return window.MapGISCommon}catch(e){return{}}}()},function(e,t){e.exports=mapboxgl},function(e,t,i){"use strict";i.r(t);var r=i(0),s=i(1),n=i.n(s);function a(e){e.innerView.setLayoutProperty(e.innerLayer.id,"visibility",e.layer.visible?"visible":"none")}function o(e){e.innerView.removeLayer(e.innerLayer.id)}function l(e){e.innerView.setPaintProperty(e.innerLayer.id,"raster-opacity",e.layer.opacity)}function c(e,t,i,r,s,n){let a,o=[e];return e&&e.includes("{s}")&&Array.isArray(r)&&(o=r.map(t=>e.replace("{s}",t))),a="image"===i?{url:e,rebaseRequestUrl(e,t){const i=this.map.getCRS().projection.project(this.map.getBounds()._sw),r=this.map.getCRS().projection.project(this.map.getBounds()._ne),s=[...i,...r].toString(),[n,a]=t.imageSize;return(e.split("?").length>1?e.split("?")[1].split("&"):e.split("&")).forEach(t=>{t.includes("size=")&&(e=e.replace(t,`size=${n},${a}`)),t.includes("w=")&&(e=e.replace(t,`w=${n}`)),t.includes("h=")&&(e=e.replace(t,`h=${a}`)),t.includes("bbox=")&&(e=e.replace(t,`bbox=${s}`))}),e},requestParams:s,type:"image-map",clippingArea:n}:{type:"raster",tiles:o,requestParams:s,tileSize:t,clippingArea:n}}function h(e,t,i,s){return{id:e,type:"raster",source:t,paint:{"raster-opacity":i.opacity},layout:{visibility:(Object(r.isNull)(s)?i.visible:s._getLayerViewVisible(i.visible))?"visible":"none"}}}function p(e,t){let i,r;if(t.getProj||t.projectGeometry){const s=t;i=class extends e.Projection{constructor(e,t){super();const i=t||{};if(t.def)this._wkt=i.def;else if(e){const t=/^(EPSG|epsg)(:)?\d+$/,i=/\d+$/,r=e.match(i);if(t.test(e)&&r){this._wkid=parseInt(r[0]);const e=s.getEPSGByWKID(this._wkid);e&&(this._wkt=e.strProject)}}else this._wkt=s.getEPSGByWKID(3857).strProject;this._wkt&&(this._proj=s.getProj(e||function(){let e="";for(let t=1;t<=32;t++)e+=Math.floor(16*Math.random()).toString(16),8!==t&&12!==t&&16!==t&&20!==t||(e+="-");return e}(),this._wkt))}project(e){let t,i;Array.isArray(e)?(t=e[0],i=e[1]):(t=e.lng,i=e.lat);const r=[t,i];let n;return[(n=s.isCustomWKID(this._wkid)?s.projectPoints({points:[r],originWKID:4326,targetWKID:this._wkid})[0]:this._proj.forward(r))[0],n[1]]}unproject(e){let t,i;Array.isArray(e)?(t=e[0],i=e[1]):(t=e.x,i=e.y);const r=[t,i];let n;return[(n=s.isCustomWKID(this._wkid)?s.projectPoints({points:[r],originWKID:this._wkid,targetWKID:4326})[0]:this._proj.inverse([t,i]))[0],n[1]]}},r=class extends e.CRS{_parseParams(e){this._crsType="proj4",this.epsgCode=e[0],this.code=this.epsgCode,this.def=e[1];const t=e[2]||{};this._parseOptions(t)}_parseOptions(e){if(super._parseOptions(e),this._resolutions=e.resolutions,Array.isArray(this._resolutions)){const e={};this._resolutions.forEach((t,i)=>{e[i]=t}),this._resolutions=e}if(!this._resolutions)throw new Error("自定义坐标系时,未设置分辨率数组");if(!this.origin)throw new Error("自定义坐标系时,未设置原点");this.tileSize=e.tileSize||256}_setProjection(){this.projection=new i(this.getEpsgCode(),{origin:this.origin,def:this.def})}}}else{const s=t;i=class extends e.Projection{constructor(e,t){super();const i=(t||{}).def;if(!i)throw new Error("自定义参考系必须指定参数系信息def");if(this._def=i,!s)throw new Error("proj4对象不存在,自定义投影必须引入proj4对象");const r=this._isProj4Obj(e);this._proj=r?e:this._projFromCodeDef(e,i)}project(e){let t,i;return Array.isArray(e)?(t=e[0],i=e[1]):(t=e.lng,i=e.lat),this._proj.forward([t,i])}unproject(e){let t,i;return Array.isArray(e)?(t=e[0],i=e[1]):(t=e.x,i=e.y),this._proj.inverse([t,i])}_projFromCodeDef(e,t){if(t)s.defs(e,t);else if(void 0===s.defs[e]){const t=e.split(":");if(t.length>3&&(e=`${t[t.length-3]}:${t[t.length-1]}`),void 0===s.defs[e])throw`No projection definition for code ${e}`}return s(e)}_isProj4Obj(e){return void 0!==e.inverse&&void 0!==e.forward}},r=class extends e.CRS{_parseParams(e){this._crsType="proj4",this.epsgCode=e[0],this.code=this.epsgCode,this.def=e[1];const t=e[2]||{};this._parseOptions(t)}_parseOptions(e){if(super._parseOptions(e),this._resolutions=e.resolutions,Array.isArray(this._resolutions)){const e={};this._resolutions.forEach((t,i)=>{e[i]=t}),this._resolutions=e}if(!this._resolutions)throw new Error("自定义坐标系时,未设置分辨率数组");if(!this.origin)throw new Error("自定义坐标系时,未设置原点");this.tileSize=e.tileSize||256}_setProjection(){this.projection=new i(this.getEpsgCode(),{origin:this.origin,def:this.def})}}}return e.Proj||(e.Proj={}),e.Proj.CRS=r,e.Proj.Projection=i,r}var u=p(n.a,r.Projection);const d="== != > < >= <= array at boolean case coalesce collator format image in interpolate interpolate-hcl interpolate-lab\nlength let literal match number number-format object step string to-boolean to-color to-number to-string var within";class y{static isMapboxExpression(e){return Array.isArray(e)&&e.length>0&&"string"==typeof e[0]&&d.indexOf(e[0])>-1}static convertLineStyle(e,t){switch(e){case"dash":case"esriSLSDash":return t?[4,3]:[3,4];case"dash-dot":case"esriSLSDashDot":return t?[4,3,1,3]:[3,4,0,4];case"dot":case"esriSLSDot":return t?[1,3]:[0,4];case"long-dash":case"esriSLSLongDash":return t?[8,3]:[7,4];case"long-dash-dot":case"esriSLSLongDashDot":return t?[8,3,1,3]:[7,4,0,4];case"long-dash-dot-dot":case"esriSLSDashDotDot":return t?[8,3,1,3,1,3]:[7,4,0,4,0,4];case"short-dash":case"esriSLSShortDash":return t?[4,1]:[3,2];case"short-dash-dot":case"esriSLSShortDashDot":return t?[4,1,1,1]:[3,2,0,2];case"short-dash-dot-dot":case"esriSLSShortDashDotDot":return t?[4,1,1,1,1,1]:[3,2,0,2,0,2];case"short-dot":case"esriSLSShortDot":return t?[1,1]:[0,2];case"solid":case"esriSLSSolid":case"none":default:return}}static convertToGeoJSON(e){let t=e;const i=t.geometry,s=i.spatialReference;return"4326"!==String(s.wkid)&&((t=e.clone()).geometry=r.Projection.project(i,new r.SpatialReference("EPSG:4326"))),e.additional&&e.additional.arc3&&(e.geometry=Object(r.editGeometryByArc3)(e.geometry,e.additional)),t.toGeoJSON()}static convertLngLatGeometry(e){return e&&e.spatialReference?e.spatialReference.isGeographic?e:r.Projection.project(e,new r.SpatialReference("EPSG:4326")):e}static convertClippingArea(e){if(!e)return e;let t=null;switch(e.type){case r.GeometryType.polygon:case r.GeometryType.multiPolygon:t=y.convertLngLatGeometry(e).toGeoJSON();break;case r.GeometryType.circle:t=y.convertLngLatGeometry(e).toPolygon().toGeoJSON();break;case r.GeometryType.extent:t=y.convertLngLatGeometry(e).toPolygon().toGeoJSON();break}return t}static applyVisibleAndOpacityToColor(e,t,i){const s=r.Color.fromColor(e).clone(),n=i*(t?1:0);return s.alpha*=n,s}static createCRSByLayer(e){e&&e.spatialReference||r.Log.error("计算crsOptions错误");const t=r.TileInfoUtil.getTileInfoByLayer(e),i=e.spatialReference,s=t.origin.coordinates,n=e.extent,a={};t.lods.map(e=>e.clone()).forEach(e=>{a[e.level]=e.resolution});const o=`EPSG:${i.wkid}`,l=i.wkt;return new u(o,l,{resolutions:a,origin:[s[0],s[1]],tileSize:t.getTileSize(),bounds:[n.xmin,n.ymin,n.xmax,n.ymax],unit:i.isGeographic?"degree":void 0})}}var m=y;class f{}f.addIGSTileLayer=function(e,t){t=t||{};const i=e.layer,r=e.innerView;t.layerView=e;const s=f.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},f.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView;let s={igsVersion:e._igsVersion,tokenKey:e.tokenKey,tokenValue:e.tokenValue};const{extensionOptions:n={}}=e;s=Object.assign(s,n);const a=`source_${e.id}`,o=`layer_${e.id}`,l=c(f.initLayerUrl(e.url,s),e.tileSize,null,null,null,t.clippingArea),p=h(o,a,e,i),[u,d]=r.TileInfoUtil.getLevelRangeByTileInfo(e.tileInfo);l.minzoom=u,l.maxzoom=d,l.crs=m.createCRSByLayer(e);const y={};return y[a]=l,{sources:y,layers:[p]}},f.initLayerUrl=function(e,t){return"1.0"===t.igsVersion?(e+="/{z}/{y}/{x}",t.tokenKey&&t.tokenValue&&(e+=`?${t.tokenKey}=${t.tokenValue}`)):(e=`${e}/tileImage/{z}/{y}/{x}?f=image`,t.tokenKey&&t.tokenValue&&(e+=`&${t.tokenKey}=${t.tokenValue}`)),e},f.setVisible=function(e){a(e)},f.setOpacity=function(e){l(e)},f.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=f.addIGSTileLayer(e,{})},f.removeLayer=function(e){o(e)};var g=f;class v{}v.addArcGISTileLayer=function(e,t){t=t||{};const i=e.layer,r=e.innerView;t.layerView=e;const s=v.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},v.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView;let r={tokenKey:e.tokenKey,tokenValue:e.tokenValue};const{extensionOptions:s={}}=e;r=Object.assign(r,s);const n=`source_${e.id}`,a=`layer_${e.id}`,o=c(v.initLayerUrl(e.url,r),e.tileSize,null,null,null,t.clippingArea);o.crs=m.createCRSByLayer(e);const l=h(a,n,e,i),p={};return p[n]=o,{sources:p,layers:[l]}},v.initLayerUrl=function(e,t){return e+="/tile/{z}/{y}/{x}",t.tokenKey&&t.tokenValue&&(e+=`?${t.tokenKey}=${t.tokenValue}`),e},v.setVisible=function(e){a(e)},v.setOpacity=function(e){l(e)},v.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=v.addArcGISTileLayer(e,{})},v.removeLayer=function(e){o(e)};var _=v;class b{}b.addArcGISMapImageLayer=function(e){const t=e.layer,i=e.innerView,r={};r.layerView=e;const s=b.getSourcesAndStyleLayers(t,r);Q(s,i);const n=i.getLayer(s.layers[0].id);return n.sourceID=n.source,n},b.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView,{extensionOptions:s={}}=e;let n={layers:e.layers,width:e.imageWidth,height:e.imageHeight,tokenKey:e.tokenKey,tokenValue:e.tokenValue,format:e.imageFormat,imageSR:Object(r.getProjectionSrs)(e.spatialReference),transparent:e.imageTransparency,httpMethod:"GET",header:{}};e.httpMethod&&(n.httpMethod=e.httpMethod),e.headers&&(n.headers=JSON.parse(JSON.stringify(e.headers))),n=Object.assign(n,s);const a=`source_${e.id}`,o=`layer_${e.id}`,l=b.initLayerUrl(e.url,n),p=c(l.url,e.imageWidth,e.renderMode,void 0,l),u=h(o,a,e,i),d={};return d[a]=p,{sources:d,layers:[u]}},b.initAllRequestParams=function(e){const t=[];return(e=Object(r.defaultValue)(e,{})).hasOwnProperty("layers")&&t.push(`layers=${e.layers}`),e.hasOwnProperty("transparent")&&t.push(`transparent=${e.transparent}`),e.hasOwnProperty("imageSR")&&t.push(`imageSR=${e.imageSR}`),e.hasOwnProperty("tokenKey")&&e.hasOwnProperty("tokenValue")&&e.tokenValue&&t.push(`${e.tokenKey}=${e.tokenValue}`),t.push(`size=${e.width},${e.height}`),t.push(`format=${e.format}`),t.push("f=image"),e.extensions&&e.extensions instanceof Array&&e.extensions.forEach(e=>{e.key&&e.value&&t.push(`${e.key}=${e.value}`)}),t},b.initLayerUrl=function(e,t){let i=`${e}/export`;const r=b.initAllRequestParams(t);let s={};if("POST"===t.httpMethod){const e={};r.forEach(t=>{if(t&&t.includes("=")){const i=t.split("=");2===i.length&&(e[i[0]]=i[1])}}),e.bbox="0,0,0,0",s={url:i,data:e,method:t.httpMethod}}else i+="?bbox={bbox}",s={url:i+=encodeURI(r.join("&")),method:t.httpMethod};return t.headers&&(s.headers=t.headers),s},b.setVisible=function(e){a(e)},b.setOpacity=function(e){l(e)},b.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=b.addArcGISMapImageLayer(e,{})},b.removeLayer=function(e){o(e)};var w=b;class S{}S.addWMTSLayer=function(e,t){const i=e.layer,r=e.innerView;(t=t||{}).layerView=e;const s=S.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},S.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView,{activeLayer:s}=e;let n={service:"WMTS",version:e.version,request:"GetTile",layer:s.identifier,style:s.styleId,format:s.imageFormat,tileMatrixSet:s.tileMatrixSetId,tileMatrix:"{z}",tileRow:"{y}",tileCol:"{x}",tokenKey:e.tokenKey,tokenValue:e.tokenValue};n.version||(n.version="1.0.0");const{extensionOptions:a={}}=e;n=Object.assign(n,a);const o=e.getCurrentTileInfo(),l=o.size[0],p=`source_${e.id}`,u=`layer_${e.id}`,d=c(S.initLayerUrl(e.url,n),l,null,null,null,t.clippingArea),y=h(u,p,e,i),[f,g]=r.TileInfoUtil.getLevelRangeByTileInfo(o);d.minzoom=f,d.maxzoom=g,d.crs=m.createCRSByLayer(e);const v={};return v[p]=d,{sources:v,layers:[y]}},S.initAllRequestParams=function(e){e=Object(r.defaultValue)(e,{});const t=[];return t.push(`service=${e.service}`),t.push(`version=${e.version}`),t.push(`request=${e.request}`),t.push(`layer=${encodeURIComponent(e.layer)}`),t.push(`style=${encodeURIComponent(e.style)}`),t.push(`format=${encodeURIComponent(e.format)}`),t.push(`tileMatrixSet=${encodeURIComponent(e.tileMatrixSet)}`),t.push(`tileMatrix=${e.tileMatrix}`),t.push(`tileRow=${e.tileRow}`),t.push(`tileCol=${e.tileCol}`),e.hasOwnProperty("tokenKey")&&e.hasOwnProperty("tokenValue")&&e.tokenValue&&t.push(`${e.tokenKey}=${e.tokenValue}`),t},S.initLayerUrl=function(e,t){let i=`${e}?`;return i+=S.initAllRequestParams(t).join("&")},S.setVisible=function(e){a(e)},S.setOpacity=function(e){l(e)},S.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=S.addWMTSLayer(e,{})},S.removeLayer=function(e){o(e)};var x=S;class L{}L.addWMSLayer=function(e,t){const i=e.layer,r=e.innerView;(t=t||{}).layerView=e;const s=L.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},L.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView;let r={service:"WMS",version:e.version,request:"GetMap",layers:e.layers,styles:e.styles,width:e.imageWidth,height:e.imageHeight,format:e.imageFormat,transparent:e.imageTransparency,crs:`EPSG:${e.spatialReference.wkid}`,tokenKey:e.tokenKey,tokenValue:e.tokenValue};const{extensionOptions:s={}}=e;r=Object.assign(r,s);const n=`source_${e.id}`,a=`layer_${e.id}`,o=c(L.initLayerUrl(e.url,r),e.imageWidth,null,null,null,t.clippingArea),l=h(a,n,e,i),p={};return p[n]=o,{sources:p,layers:[l]}},L.initAllRequestParams=function(e){e=Object(r.defaultValue)(e,{});const t=[];return t.push(`service=${e.service}`),t.push(`version=${e.version}`),t.push(`request=${e.request}`),t.push(`layers=${e.layers}`),t.push(`width=${e.width}`),t.push(`height=${e.height}`),t.push(`format=${e.format}`),t.push(`transparent=${e.transparent}`),e.styles?t.push(`styles=${e.styles}`):t.push("styles="),"1.1.1"===e.version?t.push(`srs=${e.crs}`):"1.3.0"===e.version&&t.push(`crs=${e.crs}`),e.hasOwnProperty("tokenKey")&&e.hasOwnProperty("tokenValue")&&e.tokenValue&&t.push(`${e.tokenKey}=${e.tokenValue}`),t},L.initLayerUrl=function(e,t){let i=`${e}?`;return i+=encodeURI(L.initAllRequestParams(t).join("&")),i+="&bbox={bbox}"},L.setVisible=function(e){a(e)},L.setOpacity=function(e){l(e)},L.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=L.addWMSLayer(e,{})},L.removeLayer=function(e){o(e)};var V=L;class k{}k.addWebTileLayer=function(e,t){const i=e.layer,r=e.innerView;(t=t||{}).layerView=e;const s=k.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},k.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView;let s={};s[e.tokenKey]=e.tokenValue;const{extensionOptions:n={}}=e;s=Object.assign(s,n);const a=k.initLayerUrl(e.url,s),o=`source_${e.id}`,l=`layer_${e.id}`,p=c(a,e.tileSize,"",e.subDomains,null,t.clippingArea),[u,d]=r.TileInfoUtil.getLevelRangeByTileInfo(e.tileInfo);p.minzoom=u,p.maxzoom=d,p.crs=m.createCRSByLayer(e),"tms"===e.tileSliceType&&(p.scheme="tms");const y=h(l,o,e,i),f={};return f[o]=p,{sources:f,layers:[y]}},k.initLayerUrl=function(e,t){return(e=(e=(e=e.replace("col","x")).replace("row","y")).replace("level","z")).indexOf("?")<0&&(e+="?"),Object.keys(t).forEach(function(i){t[i]&&(e+=`&${i}=${t[i]}`)}),e},k.setVisible=function(e){a(e)},k.setOpacity=function(e){l(e)},k.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=k.addWebTileLayer(e,{})},k.removeLayer=function(e){o(e)};var C=k;const E=2e3;var P=class{constructor(e){this.innerView=e,this.cacheImageDetla={},this.imageCount=0}getIconScale(e,t,i){if(this.cacheImageDetla[e]){const{width:r,height:s}=this.cacheImageDetla[e];return r&&s?Math.max(t/(r||1),i/(s||1)):.001}return.001}hasImageCacheDetla(e){return!!this.cacheImageDetla[e]}loadImage(e,t,i){i=i||{};const r=this.innerView;return new Promise(s=>{r.loadImage(t,(t,n)=>{r.hasImage(e)?r.removeImage(e):this.imageCount++,t&&(i.notLoaded=!0,console.error("mapboxgl引擎loadImage方法加载图片资源加载失败"));const a=n||new Image(1,1),o={};i.pfsScale&&i.pfsSize&&(o.pixelRatio=Math.max(a.width,a.height)/i.pfsSize*i.pfsScale),r.addImage(e,a,o),s({id:e,width:a.width,height:a.height,keyObjects:i})})})}updateImage(e,t,i){i=i||{};const r=this.innerView;if(!e||!t)return Promise.resolve(null);if(this._shouldUpdateImage(e,t,i))return this.cacheImageDetla[e]={imageSource:t,totalUpdateCount:1},this.loadImage(e,t,i).then(t=>{if(this.cacheImageDetla[e])return this.cacheImageDetla[e].width=t.width,this.cacheImageDetla[e].height=t.height,this.cacheImageDetla[e].keyObjects=i,this.cacheImageDetla[e]});if(this.cacheImageDetla[e]&&this.cacheImageDetla[e].totalUpdateCount++,this.imageCount>E){const e=Object.entries(this.cacheImageDetla).sort((e,t)=>e[1].totalUpdateCount-t[1].totalUpdateCount);for(let t=0;t<e.length;t++){const[i,s]=e[t];t<Math.floor(e.length/2)?(r.hasImage(i)&&(r.removeImage(i),this.imageCount--),delete this.cacheImageDetla[i]):s.totalUpdateCount=1}}return Promise.resolve(null)}_shouldUpdateImage(e,t,i){const r=this.cacheImageDetla[e];return!r||r&&(r.imageSource!==t||JSON.stringify(r.keyObjects)!==JSON.stringify(i))}};function T(e,t,i,r){for(;t.findIndex(e=>i.some(t=>t===e))>-1;){r.index+=1;const s=`calc_${r.index}`,n=t.findIndex(e=>i.some(t=>t===e)),a=e[t[n-1]]||(r.isNum?parseFloat(t[n-1]):t[n-1]),o=e[t[n+1]]||(r.isNum?parseFloat(t[n+1]):t[n+1]);e[s]=[t[n],a,o],r.key=s,r.expression=t.splice(n-1,3,s)}}function O(e,t,i){if(e)return i?["to-number",["get",e]]:["get",e];const r=function(e,t){try{let i=e;const r=i.replace(/\s/g,"").match(/\$feature\.[^+-/*%>=<]+/g);if(!r||0===r.length)return null;const s={},n={index:0,key:null,isNum:t};r.forEach(e=>{n.index+=1;const r=`calc_${n.index}`;n.key=r,s[r]=t?["to-number",["get",e.split(".")[1]]]:["get",e.split(".")[1]],i=i.replace(e,`${r}`)});const a=i.match(/>=|<=|==|\+|-|\*|\/|>|<|=/);a&&a.length>0&&a.forEach(e=>{i=i.replace(e,` ${e} `)});const o=i.split(" ").filter(e=>""!==e);if(T(s,o,["*","/","%"],n),T(s,o,["+","-"],n),T(s,o,["<","<=",">",">="],n),T(s,o,["=="],n),n.key)return s[n.key]}catch(e){}}(t,i);return r||["get","undefined"]}function I(e,t,i,s,n,a){let o="";switch(a=a||{},e.type){case r.SymbolType.simpleLine:e instanceof r.SimpleLineSymbol||(e=new r.SimpleLineSymbol),function(e,t,i,s,n,a){const o=r.Color.fromColor(i.color);e["line-color"]=o.toCssRGBAString(),e["line-opacity"]=n,e["line-width"]=i.width,t["line-cap"]=i.cap,t["line-miter-limit"]=i.miterLimit,t["line-join"]=i.join;const l=m.convertLineStyle(i.style,"butt"===i.cap);l&&(e["line-dasharray"]=l),t.visibility=s?"visible":"none"}(t,i,e,s,n),o="line";break;case r.SymbolType.simpleFill:e instanceof r.SimpleFillSymbol||(e=new r.SimpleFillSymbol),function(e,t,i,s,n,a){const o=r.Color.fromColor(i.color),l=r.Color.fromColor(i.outline.color);if("solid"!==i.style&&i.style){const t=a.imageSourceManager;if(!t)throw new Error("mapboxgl转换图标符号时,未传入图片资源管理类");e["fill-pattern"]=i.id;const s=Object(r.createSimpleFillSymbolCanvas)(i,{lineWidth:1}).toDataURL();t.updateImage(i.id,s,{pattern:i.style,color:o.toCssRGBAString()})}else e["fill-color"]=o.toCssRGBAString();e["fill-opacity"]=n,e["fill-outline-color"]=l.toCssRGBAString(),t.visibility=s?"visible":"none"}(t,i,e,s,n,a),o="fill";break;case r.SymbolType.simpleMarker:e instanceof r.SimpleMarkerSymbol||(e=new r.SimpleMarkerSymbol),function(e,t,i,s,n,a){const o=i.xoffset,l=i.yoffset;e["circle-translate"]=[parseFloat(o),parseFloat(l)];const c=r.Color.fromColor(i.color);e["circle-opacity"]=n,e["circle-color"]=c.toCssRGBAString();const h=r.Color.fromColor(i.outline.color);e["circle-stroke-color"]=h.toCssRGBAString(),e["circle-stroke-opacity"]=n,e["circle-stroke-width"]=i.outline.width,e["circle-radius"]=i.size/2,t.visibility=s?"visible":"none"}(t,i,e,s,n),o="circle";break;case r.SymbolType.text:e instanceof r.TextSymbol||(e=new r.TextSymbol),function(e,t,i,s,n,a){const o=r.Color.fromColor(i.color),l=r.Color.fromColor(i.haloColor);switch(e["text-color"]=o.toCssRGBAString(),e["text-opacity"]=n,e["text-halo-color"]=l.toCssRGBAString(),e["text-halo-width"]=i.haloSize,t["text-field"]=i.text||"",t.visibility=s?"visible":"none",t["text-allow-overlap"]=!1,t["text-font"]=[i.font.family],t["text-size"]=i.font.size,t["text-justify"]=i.horizontalAlignment,t["text-letter-spacing"]=i.kerning?.1:0,t["text-rotate"]=i.rotated&&0!==i.angle?i.angle:0,t["text-offset"]=[i.xoffset,i.yoffset],t["text-line-height"]=i.lineHeight?1.2:0,t["text-max-width"]=Object(r.defaultValue)(i.lineWidth,192),t["text-anchor"]="center",i.verticalAlignment){case"top":switch(i.horizontalAlignment){case"left":t["text-anchor"]="top-left";break;case"right":t["text-anchor"]="top-right";break;default:t["text-anchor"]="top"}break;case"bottom":switch(i.horizontalAlignment){case"left":t["text-anchor"]="bottom-left";break;case"right":t["text-anchor"]="bottom-right";break;default:t["text-anchor"]="bottom"}break;default:switch(i.horizontalAlignment){case"left":t["text-anchor"]="left";break;case"right":t["text-anchor"]="right";break;default:t["text-anchor"]="center"}}}(t,i,e,s,n),o="symbol";break;case r.SymbolType.pictureMarker:e instanceof r.PictureMarkerSymbol||(e=new r.PictureMarkerSymbol),function(e,t,i,s,n,a){const o=(a=a||{}).imageSourceManager;if(!o)throw new Error("mapboxgl转换图标符号时,未传入图片资源管理类");const l=r.Color.fromColor(i.color);e["icon-color"]=l.toCssRGBAString(),e["icon-opacity"]=n,t["icon-allow-overlap"]=!1,t["icon-rotate"]=i.angle,t["icon-image"]=i.id,t["icon-offset"]=[i.xoffset,i.yoffset],t["icon-size"]=o.getIconScale(i.id,i.width,i.height),t.visibility=s?"visible":"none",o.updateImage(i.id,i.url).then(e=>{e&&a.updateState&&a.updateState()})}(t,i,e,s,n,a),o="symbol";break;case r.SymbolType.pictureFill:e instanceof r.PictureFillSymbol||(e=new r.PictureFillSymbol),function(e,t,i,s,n,a){const o=(a=a||{}).imageSourceManager;if(!o)throw new Error("mapboxgl转换图片填充符号时,未传入图片资源管理类");const l=r.Color.fromColor(i.outline.color);e["fill-pattern"]=i.id,e["fill-opacity"]=n,e["fill-translate"]=[i.xoffset,i.yoffset],e["fill-outline-color"]=l.toCssRGBAString(),t.visibility=s?"visible":"none";const c=Math.max(i.xscale,i.yscale),h=Math.max(i.width,i.height);o.updateImage(i.id,i.url,{pfsSize:h,pfsScale:c})}(t,i,e,s,n,a),o="fill"}return o}function M(e,t,i,s,n,a){const o=[],l=function(e,t){(t=Object(r.defaultValue)(t,{})).opacity=Object(r.defaultValue)(t.opacity,1);const i=e.clusterInfos,s=e.defaultSymbol,n={"circle-color":["step",["get","point_count"]],"circle-opacity":["step",["get","point_count"]],"circle-radius":["step",["get","point_count"]],"circle-stroke-color":["step",["get","point_count"]],"circle-stroke-opacity":["step",["get","point_count"]],"circle-stroke-width":["step",["get","point_count"]]};for(let e=0;e<i.length;e++){const s=r.Color.fromColor(i[e].symbol.color);n["circle-color"].push(s.toCssRGBAString()),n["circle-color"].push(i[e].maxValue),n["circle-opacity"].push(s.alpha*t.opacity),n["circle-opacity"].push(i[e].maxValue),n["circle-radius"].push(i[e].symbol.size),n["circle-radius"].push(i[e].maxValue);const a=r.Symbol.fromJSON(i[e].symbol.outline);n["circle-stroke-color"].push(a.color.toCssRGBAString()),n["circle-stroke-color"].push(i[e].maxValue),n["circle-stroke-opacity"].push(a.color.alpha*t.opacity),n["circle-stroke-opacity"].push(i[e].maxValue),n["circle-stroke-width"].push(a.width),n["circle-stroke-width"].push(i[e].maxValue)}const a=r.Color.fromColor(s.color);n["circle-color"].push(a.toCssRGBAString()),n["circle-opacity"].push(1),n["circle-radius"].push(s.size);const o=r.Symbol.fromJSON(s.outline);return n["circle-stroke-color"].push(o.color.toCssRGBAString()),n["circle-stroke-opacity"].push(1),n["circle-stroke-width"].push(o.width),n}(t,{opacity:n});o.push({id:`${e}_cluster`,type:"circle",source:e,filter:["has","point_count"],paint:l,layout:{visibility:s?"visible":"none"}});const c=function(e){const t=e.clusterInfos,i=e.defaultLabelSymbol;let s="宋体";for(let e=0;e<t.length;e++){const i=r.Symbol.fromJSON(t[e].labelSymbol);i&&i.font&&i.font.family&&(s=i.font.family)}!s&&i&&i.font&&i.font.family&&(s=i.font.family);const n={"text-field":"{point_count}","text-font":[s,s],"text-size":["step",["get","point_count"]]};for(let e=0;e<t.length;e++){const i=r.Symbol.fromJSON(t[e].labelSymbol);n["text-size"].push(i.font.size),n["text-size"].push(t[e].maxValue)}let a=30;return i&&i.font&&i.font.size&&(a=i.font.size),n["text-size"].push(a),n}(t);c.visibility=s?"visible":"none";const h=function(e,t){(t=Object(r.defaultValue)(t,{})).opacity=Object(r.defaultValue)(t.opacity,1);const i=e.clusterInfos,s={"text-opacity":1};for(let e=0;e<i.length;e++){const n=r.Symbol.fromJSON(i[e].labelSymbol);s["text-opacity"]=n.color.alpha*t.opacity}return s}(t,{opacity:n,visible:s});return o.push({id:`${e}_cluster_count`,type:"symbol",source:e,filter:["has","point_count"],layout:c,paint:h}),t.defaultSymbol&&o.push({id:`${e}_unclustered_point`,type:"circle",source:e,filter:["!",["has","point_count"]],paint:function(e,t){(t=Object(r.defaultValue)(t,{})).opacity=Object(r.defaultValue)(t.opacity,1);const i=e.defaultSymbol,s=r.Color.fromColor(i.color),n=r.Symbol.fromJSON(i.outline),a=r.Color.fromColor(n.color);return{"circle-opacity":s.alpha*t.opacity,"circle-color":s.toCssRGBAString(),"circle-radius":i.size,"circle-stroke-width":n.width,"circle-stroke-color":a.toCssRGBAString(),"circle-stroke-opacity":a.alpha*t.opacity}}(t,{visible:s,opacity:n}),layout:{visibility:s?"visible":"none"}}),o}function A(e,t,i,r,s,n){const a=[];if(!t)return;const o=O(t.field,t.valueExpression);return[{visible:t.defaultVisible,symbol:t.defaultSymbol,value:null}].concat(t.uniqueValueInfos).forEach(i=>{const l=i.visible,c=i.value,h=i.symbol;if(!h)return;const p={},u={},d=I(h,p,u,r&&l,s,n);let y=["==",o,c];if(t.defaultSymbol&&h.id===t.defaultSymbol.id){const e=t.uniqueValueInfos.map(e=>e.value);0===e.length?y=null:(y=["match",o],e.forEach(e=>{y.push(e,!1)}),y.push(!0))}if(d){const t={id:h.id,type:d,paint:p,layout:u,source:e};y&&(t.filter=y),a.push(t)}}),a}function j(e,t,i,s,n,a){if(!(a=a||{}).featureSet)throw new Error("随机专题图要素数据集参数未传入");return A(e,function(e,t){const i=t.features;let s=e.field;if(!s){const e=Object.keys(i[0].attributes);for(let t=0;t<e.length;t++)if("oid"===e[t].toLowerCase()){s=e[t];break}s=e[0]}const n=[];for(let e=0;e<i.length;e++){let t;switch(i[e].geometry.type){case r.GeometryType.polygon:case r.GeometryType.multiPolygon:case r.GeometryType.extent:case r.GeometryType.circle:default:t={value:i[e].attributes[s],symbol:new r.SimpleFillSymbol({id:i[e].id,color:new r.Color(parseInt(255*Math.random()),parseInt(255*Math.random()),parseInt(255*Math.random()),1)})};break;case r.GeometryType.lineString:case r.GeometryType.multiLineString:t={value:i[e].attributes[s],symbol:new r.SimpleLineSymbol({id:i[e].id,color:new r.Color(parseInt(255*Math.random()),parseInt(255*Math.random()),parseInt(255*Math.random()),1),width:3})};break;case r.GeometryType.point:case r.GeometryType.multiPoint:t={value:i[e].attributes[s],symbol:new r.SimpleMarkerSymbol({id:i[e].id,color:new r.Color(parseInt(255*Math.random()),parseInt(255*Math.random()),parseInt(255*Math.random()),1)})}}n.push(t)}return new r.UniqueValueRenderer({field:s,uniqueValueInfos:n})}(t,a.featureSet),0,s,n,a)}function R(e,t,i,s,n,a){let o=[];if(a=a||{},!t||!i)return o;switch(t.type){case r.RendererType.simple:o=function(e,t,i,r,s,n){const a=[];if(!t||!t.symbol)return;const o={},l={},c=I(t.symbol,o,l,r,s,n);return c&&a.push({id:t.symbol.id,type:c,paint:o,layout:l,source:e}),a}(e,t,0,s,n,a);break;case r.RendererType.classBreak:o=function(e,t,i,r,s,n){const a=[];if(!t)return;const o=O(t.field,t.valueExpression,!0),l=t.classBreakInfos.map(e=>e);let c;l.sort((e,t)=>e.maxValue-t.maxValue);const h=[];return l.forEach(e=>{const{minValue:t,maxValue:i}=e;if(t>i)throw new Error("分段专题图分段信息错误,最大值小于最小值");if(void 0===c)c=i;else{if(t<c)throw new Error("分段专题图分段信息错误,相邻分段值重叠");t!==c&&h.push(["all",[">=",o,c],["<",o,t]])}}),0!==l.length&&(h.unshift(["<",o,l[0].minValue]),h.push([">=",o,l[l.length-1].maxValue])),[{visible:t.defaultVisible,symbol:t.defaultSymbol,maxValue:NaN,minValue:NaN}].concat(l).forEach(i=>{const l=i.visible,c=i.maxValue,p=i.minValue,u=i.symbol;if(!u)return;const d={},y={},m=I(u,d,y,r&&l,s,n);let f=["all",[">=",o,p],["<",o,c]];if(t.defaultSymbol&&u.id===t.defaultSymbol.id&&(f=0===h.length?null:["any"].concat(h)),m){const t={id:u.id,type:m,paint:d,layout:y,source:e};f&&(t.filter=f),a.push(t)}}),a}(e,t,0,s,n,a);break;case r.RendererType.uniqueValue:o=A(e,t,0,s,n,a);break;case r.RendererType.rank:o=function(e,t,i,s,n,a){const o=[];if(!t||!t.symbol)return;const l=a.imageSourceManager;if(!l)throw new Error("mapboxgl转换图片填充符号时,未传入图片资源管理类");const c={},h={},p=t.symbol,u=I(p,c,h,s,n,a);if(u){const i={id:p.id,type:u,paint:c,layout:h,source:e},{minSize:s,maxSize:n,maxDataValue:a,minDataValue:d,field:y,valueExpression:m}=t;if(void 0===a||void 0===d)throw new Error("mapboxgl上等级符号渲染器必须设置maxDataValue,minDataValue最大最小数据值");const f=O(y,m,!0);switch(p.type){case r.SymbolType.pictureMarker:i.layout["icon-size"]=["interpolate",["linear"],f,d,l.getIconScale(p.id,s,s),a,l.getIconScale(p.id,n,n)];break;case r.SymbolType.text:i.layout["text-size"]=["interpolate",["linear"],f,d,s,a,n];break;case r.SymbolType.simpleMarker:i.paint["circle-radius"]=["interpolate",["linear"],f,d,s/2,a,n/2]}o.push(i)}return o}(e,t,0,s,n,a);break;case r.RendererType.random:o=j(e,t,0,s,n,a);break;case r.RendererType.cluster:o=M(e,t,0,s,n);break;default:r.Log.error("未定义的Renderer类型")}return o}var D=class{constructor(e){e=Object(r.defaultValue)(e,{}),this.sourceId=e.sourceId,this.featureCollection=e.featureCollection,this.layerId=e.layerId,this.renderType=e.renderType,this.mapboxglStyleType=e.mapboxglStyleType,this._sourceDirty=!0,this._styleLayerDirty=!0}setDirty(e){this._sourceDirty=e,this._styleLayerDirty=e}getDirty(){return this._sourceDirty||this._styleLayerDirty}setSourceDirty(e){this._sourceDirty=e}getSourceDirty(){return this._sourceDirty}setStyleLayerDirty(e){this._styleLayerDirty=e}getStyleLayerDirty(){return this._styleLayerDirty}};var z=class{constructor(e){e=Object(r.defaultValue)(e,{}),this.id=e.id||Object(r.getGUID)(),this._opacity=e.opacity||1,this._visible=e.visible||!0,this._isLoaded=!1,this.renderTypes=["fill","line","circle","text","icon","fill-picture"],this._sourceMetaDatas={},this.renderTypes.forEach(e=>{const t={};t.sourceId=`${this.id}_${e}`,t.featureCollection=[],t.layerId=`${this.id}_${e}_layer`,t.renderType=e;let i=e;"text"!==i&&"icon"!==i||(i="symbol"),"fill-picture"===i&&(i="fill"),t.mapboxglStyleType=i,this._sourceMetaDatas[e]=new D(t)})}onAdd(e){if(!e)return;this._map=e;const t=this;return this._imageSourceManager=new P(e),new Promise(i=>{let r;const s=()=>{t._isLoaded||(Q(t._getSourcesAndLayers(),e),t._isLoaded=!0,t._refreshSourceAndLayers()),i(this),r&&clearInterval(r)};e.loaded()?s():(e.once("load",s),r=setInterval(()=>{e.loaded()&&s()},16))})}_getSourcesAndLayers(){const e={},t=[];return this.renderTypes.forEach(i=>{const r=this._sourceMetaDatas[i];"text"!==i&&"icon"!==i||(i="symbol"),"fill-picture"===i&&(i="fill"),e[r.sourceId]={type:"geojson",data:{type:"FeatureCollection",features:[]}},t.push({id:r.layerId,source:r.sourceId,type:i})}),{sources:e,layers:t}}onRemove(e){e&&this._isLoaded&&this.renderTypes.forEach(t=>{const i=this._sourceMetaDatas[t];e.removeLayer(i.layerId),e.removeSource(i.sourceId)})}getStyleLayerIds(){const e=[];return this.renderTypes.forEach(t=>{const i=this._sourceMetaDatas[t];e.push(i.layerId)}),e}add(e){this._map&&this._isLoaded&&(Array.isArray(e)?e.forEach(e=>{this._updateGraphicToCollection(e)}):this._updateGraphicToCollection(e),this._refreshSourceAndLayers())}_removeGraphicsToCollection(e){const t=Object.values(this._sourceMetaDatas);for(let i=0;i<t.length;i++){const r=t[i],{featureCollection:s}=r,n=[];for(let t=0;t<s.length;t++){const i=s[t];e.indexOf(i)>-1&&n.push(t)}n.length>0&&(r.featureCollection=s.filter((e,t)=>-1===n.indexOf(t)),r.setSourceDirty(!0))}}update(e,t){if(!this._map||!this._isLoaded)return;if(!e)return;const i=Array.isArray(e)?e:[e];for(let e=0;e<i.length;e++){const r=i[e],s=t[e]||{},n=this._updateGraphicToCollection(r);n&&(s.geometryUpdated&&n.setSourceDirty(!0),s.symbolUpdated&&n.setStyleLayerDirty(!0))}this._refreshSourceAndLayers()}_updateGraphicToCollection(e){let t;if(e&&e instanceof r.Feature){if(e.geometry){switch(e.geometry.type){case r.GeometryType.multiPoint:case r.GeometryType.point:t=this._dividePointGraphic(e);break;case r.GeometryType.multiLineString:case r.GeometryType.lineString:t=this._dividePolylineGraphic(e);break;case r.GeometryType.extent:case r.GeometryType.circle:case r.GeometryType.multiPolygon:case r.GeometryType.polygon:t=this._dividePolygonGraphic(e)}return t}r.Log.error("几何不存在")}}remove(e){this._map&&this._isLoaded&&e&&(Array.isArray(e)?this._removeGraphicsToCollection(e):this._removeGraphicsToCollection([e]),this._refreshSourceAndLayers())}removeAll(){if(!this._map||!this._isLoaded)return;const e=Object.values(this._sourceMetaDatas);for(let t=0;t<e.length;t++){const i=e[t];i.featureCollection=[],i.setDirty(!0)}this._refreshSourceAndLayers()}_refreshSourceAndLayers(){const e=Object.keys(this._sourceMetaDatas);if(!e.some(e=>this._sourceMetaDatas[e].getDirty()))return!1;if(!this._map)return!1;const t=this._map;return e.forEach(e=>{const i=this._sourceMetaDatas[e];if(i.getStyleLayerDirty()&&(this.setSourceMetaDataStyle(i,!0),i.setStyleLayerDirty(!1)),i.getSourceDirty()){const{sourceId:e,featureCollection:r}=i;t.getSource(e).setData({type:"FeatureCollection",features:r.map(function(e){return m.convertToGeoJSON(e)})}),i.setSourceDirty(!1)}}),t._update(!0),!0}setSourceMetaDataStyle(e,t){const i={},r={},s={},{renderType:n}=e;switch(n){case"circle":this._setCircleStyle(e,r,s);break;case"line":this._setLineStyle(e,r,s);break;case"fill":this._setFillStyle(e,r,s);break;case"text":this._setTextStyle(e,r,s);break;case"icon":this._setIconStyle(e,r,s);break;case"fill-picture":this._setFillPictureStyle(e,r,s)}if(i.type=e.mapboxglStyleType,i.id=e.layerId,i.paint=r,i.layout=s,i.source=e.sourceId,t&&this._map&&this._map.style){const t=this._map.style,i=e.layerId,n=Object.entries(r),a=Object.entries(s);for(let e=0;e<n.length;e++)t.setPaintProperty(i,n[e][0],n[e][1]);for(let e=0;e<a.length;e++)t.setLayoutProperty(i,a[e][0],a[e][1])}return i}_setCircleStyle(e,t,i){const{layerId:s,featureCollection:n}=e,a=this._opacity,o=this._visible,l={"circle-color":{values:[],def:"#000000"},"circle-opacity":{values:[],def:1},"circle-stroke-color":{values:[],def:"#000000"},"circle-stroke-opacity":{values:[],def:1},"circle-stroke-width":{values:[],def:0},"circle-radius":{values:[],def:5}};n.forEach(e=>{const{id:t}=e;let i=e.symbol;i instanceof r.SimpleMarkerSymbol||(r.Log.info(`不支持类型为${i.type}的符号!`),i=new r.SimpleMarkerSymbol({id:i.id}));const s=m.applyVisibleAndOpacityToColor(i.color,o,a);l["circle-color"].values.push(t,s.toCssRGBString()),l["circle-opacity"].values.push(t,s.alpha);const n=m.applyVisibleAndOpacityToColor(i.outline.color,o,a);l["circle-stroke-color"].values.push(t,n.toCssRGBString()),l["circle-stroke-opacity"].values.push(t,n.alpha),l["circle-stroke-width"].values.push(t,i.outline.width),l["circle-radius"].values.push(t,i.size/2)}),this._setLayoutAndPaintCaches(s,l,{},t,i)}_setLineStyle(e,t,i){const{layerId:s,featureCollection:n}=e,a=this._opacity,o=this._visible,l={"line-color":{values:[],def:"#000000"},"line-width":{values:[],def:1},"line-opacity":{values:[],def:1}},c={"line-join":{values:[],def:"round"}};n.forEach(e=>{const{id:t}=e;let i=e.symbol;i instanceof r.SimpleLineSymbol||(r.Log.info(`不支持类型为${i.type}的符号!`),i=new r.SimpleLineSymbol({id:i.id}));const s=m.applyVisibleAndOpacityToColor(i.color,o,a);l["line-color"].values.push(t,s.toCssRGBString()),l["line-opacity"].values.push(t,s.alpha),l["line-width"].values.push(t,i.width),c["line-join"].values.push(t,i.join)}),this._setLayoutAndPaintCaches(s,l,c,t,i)}_setFillStyle(e,t,i){const{layerId:s,featureCollection:n}=e,a=this._opacity,o=this._visible,l={"fill-color":{values:[],def:"#ffffff"},"fill-opacity":{values:[],def:.25},"fill-outline-color":{values:[],def:"#000000"}};n.forEach(e=>{const{id:t}=e;let i=e.symbol;i instanceof r.SimpleFillSymbol||(r.Log.info(`不支持类型为${i.type}的符号!`),i=new r.SimpleFillSymbol({id:i.id}));const s=m.applyVisibleAndOpacityToColor(i.color,o,a),n=m.applyVisibleAndOpacityToColor(i.outline.color,o,a);l["fill-color"].values.push(t,s.toCssRGBString()),l["fill-opacity"].values.push(t,s.alpha),l["fill-outline-color"].values.push(t,n.toCssRGBAString())}),this._setLayoutAndPaintCaches(s,l,{},t,i)}_setTextStyle(e,t,i){const{layerId:s,featureCollection:n}=e,a=this._opacity,o=this._visible,l={"text-color":{values:[],def:"#000000"},"text-opacity":{values:[],def:1},"text-halo-color":{values:[],def:"#000000"},"text-halo-width":{values:[],def:0}},c={"text-field":{values:[],def:""},"text-size":{values:[],def:12},"text-justify":{values:[],def:"center"},"text-letter-spacing":{values:[],def:0},"text-rotate":{values:[],def:0}};n.forEach(e=>{const{id:t}=e;let i=e.symbol;i instanceof r.TextSymbol||(r.Log.info(`不支持类型为${i.type}的符号!`),i=new r.TextSymbol({id:i.id}));const s=m.applyVisibleAndOpacityToColor(i.color,o,a),n=m.applyVisibleAndOpacityToColor(i.haloColor,o,a);l["text-color"].values.push(t,s.toCssRGBString()),l["text-opacity"].values.push(t,s.alpha),l["text-halo-color"].values.push(t,n.toCssRGBAString()),l["text-halo-width"].values.push(t,i.haloSize),c["text-field"].values.push(t,i.text),c["text-allow-overlap"]=!1,c["text-font"]=[i.font.family,"微软雅黑"],c["text-size"].values.push(t,i.font.size),c["text-justify"].values.push(t,i.horizontalAlignment),c["text-letter-spacing"].values.push(t,i.kerning?.1:0),c["text-rotate"].values.push(t,i.rotated&&0!==i.angle?i.angle:0)}),this._setLayoutAndPaintCaches(s,l,c,t,i,["text-allow-overlap","text-font"])}_setIconStyle(e,t,i){const s=this._imageSourceManager,{layerId:n,featureCollection:a}=e,o=this._opacity,l=this._visible,c={"icon-color":{values:[],def:"#000000"},"icon-opacity":{values:[],def:1}},h={"icon-size":{values:[],def:.001},"icon-rotate":{values:[],def:0},"icon-image":{values:[],def:"marker-15"}},p=[];a.forEach(e=>{const{id:t}=e;let i=e.symbol;i instanceof r.PictureMarkerSymbol||(r.Log.info(`不支持类型为${i.type}的符号!`),i=new r.PictureMarkerSymbol({id:i.id}));const n=m.applyVisibleAndOpacityToColor(i.color,l,o);c["icon-color"].values.push(t,n.toCssRGBString()),c["icon-opacity"].values.push(t,n.alpha),h["icon-allow-overlap"]=!1;const a=i.id;h["icon-size"].values.push(t,s.getIconScale(a,i.width,i.height)),h["icon-image"].values.push(t,a),p.push({url:i.url,id:i.id,featureId:t,width:i.width,height:i.height})}),this._setLayoutAndPaintCaches(n,c,h,t,i,["icon-allow-overlap"]),p.forEach(t=>{s.updateImage(t.id,t.url).then(i=>{if(!i)return;const r=s.innerView,n=r.getLayer(e.layerId);if(!n)return;const a=n.getLayoutProperty("icon-size"),o=a.indexOf(t.featureId);o<=-1||o+1>=a.length||(a[o+1]=s.getIconScale(t.id,t.width,t.height),r.setLayoutProperty(e.layerId,"icon-size",a))})})}_setFillPictureStyle(e,t,i){const{layerId:s,featureCollection:n}=e,a=this._imageSourceManager,o=this._opacity,l=this._visible,c={"fill-opacity":{values:[],def:.25},"fill-pattern":{values:[],def:""},"fill-outline-color":{values:[],def:"#000000"}};n.forEach(e=>{const{id:t}=e;let i=e.symbol;i instanceof r.PictureFillSymbol||i instanceof r.SimpleFillSymbol||(r.Log.info(`不支持类型为${i.type}的符号!`),i=new r.PictureFillSymbol({id:i.id}));const s=i.type===r.SymbolType.pictureFill,n=m.applyVisibleAndOpacityToColor(i.color,l,o),h=m.applyVisibleAndOpacityToColor(i.outline.color,l,o);if(c["fill-opacity"].values.push(t,n.alpha),c["fill-outline-color"].values.push(t,h.toCssRGBAString()),c["fill-pattern"].values.push(t,i.id),s){const e=Math.max(i.xscale,i.yscale),t=Math.max(i.width,i.height);a.updateImage(i.id,i.url,{pfsSize:t,pfsScale:e})}else{const e=Object(r.createSimpleFillSymbolCanvas)(i,{lineWidth:1}).toDataURL();a.updateImage(i.id,e,{pattern:i.style,color:n.toCssRGBAString()})}}),this._setLayoutAndPaintCaches(s,c,{},t,i)}_setLayoutAndPaintCaches(e,t,i,r,s,n){n||(n=[]);for(const e in t)if(n.findIndex(t=>t===e)>-1)r[e]=t[e];else if(t[e].values.length>0){let i=[];i.push("match"),i.push(["get","id"]),(i=i.concat(t[e].values)).push(t[e].def),r[e]=i}else r[e]=t[e].def;for(const e in i)if(n.findIndex(t=>t===e)>-1)s[e]=i[e];else if(i[e].values.length>0){let t=[];t.push("match"),t.push(["get","id"]),(t=t.concat(i[e].values)).push(i[e].def),s[e]=t}else s[e]=i[e].def}_dividePointGraphic(e){const{symbol:t}=e;let i=!1,s=this._sourceMetaDatas.circle;switch(t.type){case r.SymbolType.simpleMarker:i=this._replaceSourceLayer(e,"circle"),s=this._sourceMetaDatas.circle;break;case r.SymbolType.text:i=this._replaceSourceLayer(e,"text"),s=this._sourceMetaDatas.text;break;case r.SymbolType.pictureMarker:i=this._replaceSourceLayer(e,"icon"),s=this._sourceMetaDatas.icon}if(!i){const{featureCollection:t}=s;t.push(e),s.setDirty(!0)}return s}_replaceSourceLayer(e,t){const i=this.renderTypes,r=this._hasGraphicInCollection(i,e);if(r){if(r.renderType===t)return!0;this._removeGraphicsToCollection([e])}return!1}_dividePolylineGraphic(e){const t=this._hasGraphicInCollection(["line"],e),i=this._sourceMetaDatas.line;if(!t){const{featureCollection:t}=i;t.push(e),i.setDirty(!0)}return i}_dividePolygonGraphic(e){let t=!1;const{symbol:i}=e;let s=this._sourceMetaDatas.fill,n=i.type;switch(n===r.SymbolType.simpleFill&&"solid"!==i.style&&(n=r.SymbolType.pictureFill),n){case r.SymbolType.simpleMarker:t=this._replaceSourceLayer(e,"circle"),s=this._sourceMetaDatas.circle;break;case r.SymbolType.text:t=this._replaceSourceLayer(e,"text"),s=this._sourceMetaDatas.text;break;case r.SymbolType.pictureMarker:t=this._replaceSourceLayer(e,"icon"),s=this._sourceMetaDatas.icon;break;case r.SymbolType.pictureFill:t=this._replaceSourceLayer(e,"fill-picture"),s=this._sourceMetaDatas["fill-picture"];break;case r.SymbolType.simpleFill:t=this._replaceSourceLayer(e,"fill"),s=this._sourceMetaDatas.fill}if(!t){const{featureCollection:t}=s;t.push(e),s.setDirty(!0)}return s}_hasGraphicInCollection(e,t){const i=Array.isArray(e)?e:[e];let r;for(let e=0;e<i.length;e++){const s=this._sourceMetaDatas[i[e]];if(!s)break;const{featureCollection:n}=s;if(n.indexOf(t)>-1){r=s;break}}return r}set opacity(e){this._opacity=e,this._updatePaintAndLayoutStyles()}get opacity(){return this._opacity}set visible(e){this._visible=e,this._updatePaintAndLayoutStyles()}get visible(){return this._visible}_updatePaintAndLayoutStyles(){const e=Object.values(this._sourceMetaDatas);for(let t=0;t<e.length;t++)e[t].setStyleLayerDirty(!0);this._refreshSourceAndLayers()}_getBottomLayer(){return this._sourceMetaDatas[this.renderTypes[0]]}};function G(e,t){const i=(t=t||{}).featureSet,s=t.mapboxglMap;if(!i||!s)throw new Error("featureSet或mapboxglMap对象缺失");const n=e.renderer,a={type:"geojson",data:i.toGeoJSON()};n instanceof r.ClusterRenderer&&(a.cluster=!0,a.clusterRadius=n.radius),G.imageSourceManager||(G.imageSourceManager=new P(s));const o={};o[e.id]=a;const l={featureSet:i,imageSourceManager:G.imageSourceManager,updateState:null},c=e._opacity,h=e.visible;return{sources:o,layers:R(e.id,n,e.geometryType,h,c,l)}}function B(e,t){const i=(t=t||{}).mapboxglMap;if(!i)throw new Error("featureSet或mapboxglMap对象缺失");B.imageSourceManager||(B.imageSourceManager=new P(i));const r=new z({id:e.id,opacity:e._opacity,visible:e.visible});r._imageSourceManager=B.imageSourceManager,e.graphics.forEach(e=>{r._updateGraphicToCollection(e)});const s={},n=[];return Object.entries(r._sourceMetaDatas).forEach(e=>{const t=e[1],{featureCollection:i,sourceId:a}=t;if(i.length<=0)return;s[a]={type:"geojson",data:{type:"FeatureCollection",features:i.map(function(e){return m.convertToGeoJSON(e)})}};const o=r.setSourceMetaDataStyle(t,!1);n.push(o)}),{layers:n,sources:s}}const $=window.mapv||{},{baiduMapLayer:F,DataSet:U}=$,N=F?F.__proto__:Function;var Z=class extends N{constructor(e,t,i,r){super(e,t,i),N&&(this.map=e,this.dataSet=t,i=i||{},this.init(i),this.argCheck(i),this.initDevicePixelRatio(),this.canvasLayer=r,this.stopAniamation=!1,this.animation=i.animation,this.mousemoveEvent=this.mousemoveEvent.bind(this),this.bindEvent())}initDevicePixelRatio(){this.devicePixelRatio=window.devicePixelRatio||1}clickEvent(e){const t=e.point;super.clickEvent(t,e)}mousemoveEvent(e){const t=e.point;super.mousemoveEvent(t,e)}addAnimatorEvent(){}animatorMovestartEvent(){const e=this.options.animation;this.isEnabledTime()&&this.animator&&(this.steps.step=e.stepsRange.start)}animatorMoveendEvent(){this.isEnabledTime()&&this.animator}bindEvent(){const e=this.map;this.options.methods&&(this.options.methods.click&&e.on("click",this.clickEvent),this.options.methods.mousemove&&e.on("mousemove",this.mousemoveEvent))}unbindEvent(){const e=this.map;this.options.methods&&(this.options.methods.click&&e.off("click",this.clickEvent),this.options.methods.mousemove&&e.off("mousemove",this.mousemoveEvent))}getContext(){return this.canvasLayer.canvas.getContext(this.context)}init(e){const t=this;t.options=e,this.initDataRange(e),this.context=t.options.context||"2d",t.options.zIndex&&this.canvasLayer&&this.canvasLayer.setZIndex(t.options.zIndex),this.initAnimator()}_canvasUpdate(e){const t=this.map;if(!this.canvasLayer||this.stopAniamation||this.canvasLayer.disposeFlag)return;const i=this,r=i.options.animation,s=this.getContext();if(i.isEnabledTime()){if(void 0===e)return void this.clear(s);"2d"===this.context&&(s.save(),s.globalCompositeOperation="destination-out",s.fillStyle="rgba(0, 0, 0, .1)",s.fillRect(0,0,s.canvas.width,s.canvas.height),s.restore())}else this.clear(s);if("2d"===this.context)for(const e in i.options)s[e]=i.options[e];else s.clear(s.COLOR_BUFFER_BIT);if(i.options.minZoom&&t.getZoom()<i.options.minZoom||i.options.maxZoom&&t.getZoom()>i.options.maxZoom)return;const a={transferCoordinate(e){const i=t.project(new n.a.LngLat(e[0],e[1]));return[i.x,i.y]}};void 0!==e&&(a.filter=function(t){const i=r.trails||10;return!!(e&&t.time>e-i&&t.time<e)});const o=i.dataSet.get(a);this.processData(o),"m"==i.options.unit&&i.options.size,i.options._size=i.options.size;const l=t.project(new n.a.LngLat(0,0));this.drawContext(s,new U(o),i.options,l),i.options.updateCallback&&i.options.updateCallback(e)}updateData(e,t){let i=e;i&&i.get&&(i=i.get()),void 0!=i&&this.dataSet.set(i),super.update({options:t})}addData(e,t){let i=e;e&&e.get&&(i=e.get()),this.dataSet.add(i),this.update({options:t})}getData(){return this.dataSet}removeData(e){if(!this.dataSet)return;const t=this.dataSet.get({filter:t=>null==e||"function"!=typeof e||!e(t)});this.dataSet.set(t),this.update({options:null})}clearData(){this.dataSet&&this.dataSet.clear(),this.update({options:null})}draw(){this.canvasLayer.draw()}clear(e){e&&e.clearRect&&e.clearRect(0,0,e.canvas.width,e.canvas.height)}};var K=class{constructor(e,t,i){i=i||{},this.map=e,this.layerID=i.layerID,delete i.layerID,this.mapvBaseLayer=new Z(e,t,i,this),this.mapVOptions=i,this.initDevicePixelRatio(),this.canvas=this._createCanvas(),this.render=this.render.bind(this),this.bindEvent(),this.mapContainer=e.getCanvasContainer(),this.mapContainer.appendChild(this.canvas),this._reset()}initDevicePixelRatio(){this.devicePixelRatio=window.devicePixelRatio||1}bindEvent(){const e=this.map;this.innerMoveStart=this.moveStartEvent.bind(this),this.innerMoveEnd=this.moveEndEvent.bind(this),this.innnerZoomStart=this.zoomStartEvent.bind(this),this.innnerZoomEnd=this.zoomEndEvent.bind(this),this.innnerRotateStart=this.rotateStartEvent.bind(this),this.innnerRotateEnd=this.rotateEndEvent.bind(this),this.innerResize=this.resizeEvent.bind(this),this.innerRemove=this.removeEvent.bind(this),e.on("resize",this.innerResize),e.on("zoomstart",this.innnerZoomStart),e.on("zoomend",this.innnerZoomEnd),e.on("rotatestart",this.innnerRotateStart),e.on("rotateend",this.innnerRotateEnd),e.on("movestart",this.innerMoveStart),e.on("moveend",this.innerMoveEnd),this.map.on("remove",this.innerRemove)}unbindEvent(){const e=this.map;e.off("resize",this.innerResize),e.off("zoomstart",this.innnerZoomStart),e.off("zoomend",this.innnerZoomEnd),e.off("rotatestart",this.innnerRotateStart),e.off("rotateend",this.innnerRotateEnd),e.off("movestart",this.innerMoveStart),e.off("moveend",this.innerMoveEnd)}moveStartEvent(){this.mapvBaseLayer.animatorMovestartEvent(),this._unvisiable()}moveEndEvent(){this.mapvBaseLayer.animatorMoveendEvent(),this._reset(),this._visiable()}zoomStartEvent(){this._unvisiable()}zoomEndEvent(){this._unvisiable()}rotateStartEvent(){this.mapvBaseLayer.animatorMovestartEvent(),this._unvisiable()}rotateEndEvent(){this.mapvBaseLayer.animatorMoveendEvent(),this._reset(),this._visiable()}resizeEvent(){this._reset(),this._visiable()}removeEvent(){this.mapContainer.removeChild(this.canvas)}addData(e,t){this.mapvBaseLayer.addData(e,t)}updateData(e,t){this.mapvBaseLayer.updateData(e,t)}getData(){return this.mapvBaseLayer&&(this.dataSet=this.mapvBaseLayer.getData()),this.dataSet}removeData(e){this.mapvBaseLayer&&this.mapvBaseLayer.removeData(e)}removeAllData(){this.mapvBaseLayer.clearData()}_visiable(){return this.canvas.style.display="block",this}_unvisiable(){return this.canvas.style.display="none",this}_createCanvas(){const e=document.createElement("canvas"),t=this.devicePixelRatio;return e.id=this.layerID,e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.width=parseInt(this.map.getCanvas().style.width)*t,e.height=parseInt(this.map.getCanvas().style.height)*t,this.mapVOptions.context&&"2d"!=this.mapVOptions.context||e.getContext("2d").scale(t,t),e.style.width=this.map.getCanvas().style.width,e.style.height=this.map.getCanvas().style.height,e}_reset(){null!=this.canvas&&(this.resizeCanvas(),this.fixPosition(),this.onResize(),this.render())}draw(){return this._reset()}show(){this._visiable()}hide(){this._unvisiable()}update(e){void 0!=e&&this.updateData(e.data,e.options)}resizeCanvas(){if(this.mapContainer.style.perspective=`${this.map.transform.cameraToCenterDistance}px`,void 0==this.canvas||null==this.canvas)return;const e=this.canvas,t=this.devicePixelRatio;e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.width=parseInt(this.map.getCanvas().style.width)*t,e.height=parseInt(this.map.getCanvas().style.height)*t,this.mapVOptions.context&&"2d"!=this.mapVOptions.context||e.getContext("2d").scale(t,t)}fixPosition(){}onResize(){}originPosition(){this.originPitch=this.map.getPitch(),this.originBearing=this.map.getBearing();const e=this.map.project(new n.a.LngLat(0,0));this.originX=e.x,this.originY=e.y}render(){void 0!=this.mapvBaseLayer&&this.mapvBaseLayer._canvasUpdate()}moveTo(e,t){const i=document.getElementById(this.layerID);if(t=void 0===t||t){const t=document.getElementById(e);return void(i&&t&&t.parentNode.insertBefore(i,t))}const r=document.getElementById(e);if(i){if(r.nextSibling)return void r.parentNode.insertBefore(i,r.nextSibling);r.parentNode.appendChild(i)}}remove(){this.removeAllData(),this.unbindEvent(),this.mapContainer.removeChild(this.canvas),this.disposeFlag=!0}destroy(){this.removeAllData(),this.unbindEvent(),this.mapContainer.removeChild(this.canvas),this.disposeFlag=!0}};const q=window.echarts;function W(e,t){this._MapboxGLMap=e,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=t}W.prototype.dimensions=["lng","lat"],W.prototype.setMapOffset=function(e){this._mapOffset=e},W.prototype.getBMap=function(){return this._MapboxGLMap},W.prototype.dataToPoint=function(e){const t=this._MapboxGLMap.project(e),i=this._mapOffset;return[t.x-i[0],t.y-i[1]]},W.prototype.pointToData=function(e){const t=this._mapOffset;return[(e=this._MapboxGLMap.project([e[0]+t[0],e[1]+t[1]])).lng,e.lat]},W.prototype.getViewRect=function(){const e=this._api;return new q.graphic.BoundingRect(0,0,e.getWidth(),e.getHeight())},W.prototype.getRoamTransform=function(){return q.matrix.create()},W.prototype.prepareCustoms=function(e){const t=q.util,i=this.getViewRect();return{coordSys:{type:"mapboxgl",x:i.x,y:i.y,width:i.width,height:i.height},api:{coord:t.bind(this.dataToPoint,this),size:t.bind(function(e,i){return i=i||[0,0],t.map([0,1],function(t){const r=i[t],s=e[t]/2,n=[],a=[];return n[t]=r-s,a[t]=r+s,n[1-t]=a[1-t]=i[1-t],Math.abs(this.dataToPoint(n)[t]-this.dataToPoint(a)[t])},this)},this)}}},W.dimensions=W.prototype.dimensions,W.create=function(e,t){let i;e.eachComponent("mapboxgl",function(e){t.getZr().painter.getViewportRoot();const r=q.mapboxglMap;(i=new W(r,t)).setMapOffset(e.__mapOffset||[0,0]),e.coordinateSystem=i}),e.eachSeries(function(e){"mapboxgl"===e.get("coordinateSystem")&&(e.coordinateSystem=i)})};var J=W;const H=window.echarts;var X=class{constructor(e,t){return t=t||{},this.map=e,this.options=t,this.layerId=t.layerId||"echartlayerdefaultid",this.layerClass=t.classId||"echartlayerdefaultclass",this.initDevicePixelRatio(),this.mapContainer=e.getCanvasContainer(),this.canvas=this._createCanvas(),this.mapContainer.appendChild(this.canvas),this.mapContainer.style.perspective=`${this.map.transform.cameraToCenterDistance}px`,this.chart=H.init(this.canvas),this.visible=!0,this.initEcharts(),this._resizeCanvas(),this}initDevicePixelRatio(){this.devicePixelRatio=window.devicePixelRatio||1}initEcharts(){return H.mapboxglMap=this.map,H.registerCoordinateSystem("mapboxgl",J),H.extendComponentModel({type:"mapboxgl",getBMap(){return this.__mapboxgl},defaultOption:{roam:!1}}),H.registerAction({type:"MapboxGLRoma",event:"MapboxGLRoma",update:"updateLayout"},function(e,t){}),this}_createCanvas(){const e=document.createElement("div");return e.id=this.layerId,e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.width=parseInt(this.map.getCanvas().style.width),e.height=parseInt(this.map.getCanvas().style.height),e.style.width=this.map.getCanvas().style.width,e.style.height=this.map.getCanvas().style.height,e.setAttribute("id",this.layerId),e.setAttribute("class",this.layerClass),e}_resizeCanvas(){const e=this;window.onresize=function(){const t=e.canvas,i=e.map;t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.width=i.getCanvas().style.width,t.style.height=i.getCanvas().style.height,t.width=parseInt(i.getCanvas().style.width),t.height=parseInt(i.getCanvas().style.height),e.chart.resize()}}addTo(e){const t=this;return H.extendComponentView({type:"mapboxgl",render(e,i,r){let s=!0;const n=H.mapboxglMap,a=r.getZr().painter.getViewportRoot(),o=e.coordinateSystem,l=function(i,n){if(s||!t.visible)return;const l=document.getElementsByClassName("mapboxgl-map")[0],c=[-parseInt(l.style.left,10)||0,-parseInt(l.style.top,10)||0];a.style.left=`${c[0]}px`,a.style.top=`${c[1]}px`,o.setMapOffset(c),e.__mapOffset=c,r.dispatchAction({type:"MapboxGLRoma"})};function c(){!s&&t.visible&&r.dispatchAction({type:"MapboxGLRoma"})}n.off("move",this._oldMoveHandler),n.off("zoomend",this._oldZoomEndHandler),n.on("move",l),n.on("zoomend",c),this._oldMoveHandler=l,this._oldZoomEndHandler=c,e.get("roam"),s=!1}}),this.chart.setOption(this.options),this}_visible(){this.visible=!0,this.canvas.style.visibility="visible"}_unvisible(){this.visible=!1,this.canvas.style.visibility="hidden"}show(){this._visible()}hide(){this._unvisible()}remove(){const e=this;return this.map._listeners.move.forEach(function(t){"moveHandler"===t.name&&e.map.off("move",t)}),this.map._listeners.move.forEach(function(t){"zoomEndHandler"===t.name&&e.map.off("zoomend",t)}),this.chart.clear(),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.map=void 0,this}update(e){this.chart.setOption(e)}};function Y(e,t){t=t||{};let i={sources:{},layers:[]};switch(e.type){case r.LayerType.igsMapImage:i=ie.getSourcesAndStyleLayers(e);break;case r.LayerType.igsTile:i=g.getSourcesAndStyleLayers(e);break;case r.LayerType.arcgisVectorTile:case r.LayerType.igsVectorTile:i=se.getSourcesAndStyleLayers(e);break;case r.LayerType.arcgisTile:i=_.getSourcesAndStyleLayers(e);break;case r.LayerType.arcgisMapImage:i=w.getSourcesAndStyleLayers(e);break;case r.LayerType.wmts:i=x.getSourcesAndStyleLayers(e);break;case r.LayerType.wms:i=V.getSourcesAndStyleLayers(e);break;case r.LayerType.webTileLayer:i=C.getSourcesAndStyleLayers(e);break;case r.LayerType.igsFeature:case r.LayerType.geojson:case r.LayerType.wfs:i=G(e,t);break;case r.LayerType.graphics:i=B(e,t);break;default:r.Log.error("未支持的图层类型")}return i}function Q(e,t){const{sources:i,layers:r}=e,s=Object.entries(i);for(let e=0;e<s.length;e++){const i=s[e];t.addSource(i[0],i[1])}for(let e=0;e<r.length;e++)t.addLayer(r[e]);return!0}function ee(e){return m.createCRSByLayer(e)}class te{}te.addIGSMapImageLayer=function(e,t){t=t||{};const i=e.layer,r=e.innerView;t.layerView=e;const s=te.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},te.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView;let s={layers:e.layers,f:e.imageFormat,width:e.imageWidth,height:e.imageHeight,clientId:e.clientId,igsVersion:e._igsVersion,tokenKey:e.tokenKey,tokenValue:e.tokenValue,isAntialiasing:e.isAntialiasing,filters:e.getFilters(),format:"png",projectionSrs:Object(r.getProjectionSrs)(e.spatialReference),httpMethod:"GET",header:void 0};const n=Object(r.getIGSDynamicLayer)(e);n.length>0&&(s.dynamicLayers=n);const a=e.getFilters();a&&(s.filters=a);const o=`source_${e.id}`,l=`layer_${e.id}`;e.httpMethod&&(s.httpMethod=e.httpMethod),e.headers&&(s.headers=e.headers);const{extensionOptions:p={}}=e;s=Object.assign(s,p);const u=te.initLayerUrl(e._url,s),d=c(u.url,e.imageWidth,e.renderMode,void 0,u,t.clippingArea),y=h(l,o,e,i),m={};return m[o]=d,{sources:m,layers:[y]}},te.initAllRequestParams=function(e){const t={};return(e=Object(r.defaultValue)(e,{})).hasOwnProperty("layers")&&(t.layers=e.layers),e.hasOwnProperty("imageTransparent")&&(t.imageTransparent=e.imageTransparent),e.hasOwnProperty("isAntialiasing")&&null!==e.isAntialiasing&&void 0!==e.isAntialiasing&&(t.isAntialiasing=e.isAntialiasing),e.hasOwnProperty("tokenKey")&&e.hasOwnProperty("tokenValue")&&e.tokenValue&&(t[e.tokenKey]=e.tokenValue),"2.0"===e.igsVersion?(t.size=`${e.width},${e.height}`,t.format=e.format,t.f="image",e.hasOwnProperty("styles")&&(t.layerStyles=e.styles),e.hasOwnProperty("filters")&&e.filters&&(t.layerFilters=e.filters),e.hasOwnProperty("dynamicLayers")&&(t.dynamicLayers=JSON.stringify(e.dynamicLayers)),e.hasOwnProperty("projectionSrs")&&(t.projectionSrs=e.projectionSrs),e.hasOwnProperty("clientId")&&(t.clientId=e.clientId)):(t.w=e.width,t.h=e.height,t.f="png",e.hasOwnProperty("styles")&&t.push(`style=${e.styles}`),e.hasOwnProperty("filters")&&e.filters&&(t.filters=e.filters),e.hasOwnProperty("clientId")&&(t.guid=e.clientId)),t},te.initLayerUrl=function(e,t){let i;i="2.0"===t.igsVersion?`${e}/image`:`${e}`;const r=te.initAllRequestParams(t);let s;if("POST"===t.httpMethod)r.bbox="0,0,0,0",s={url:i,data:r,method:t.httpMethod};else{i+="?bbox={bbox}";for(const e in r){i+=`&${e}=${r[e]}`}s={url:i,method:t.httpMethod}}return t.headers&&(s.headers=t.headers),s},te.setVisible=function(e){a(e)},te.setOpacity=function(e){l(e)},te.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=te.addIGSMapImageLayer(e,{})},te.removeLayer=function(e){o(e)};var ie=te;class re{}re.addIGSVectorTileLayer=function(e,t){t=Object(r.defaultValue)(t,{});const{innerView:i,layer:s}=e,n=i.getStyle();n.glyphs||(i.style.glyphManager.setURL(s.style.glyphs),i.style.stylesheet.glyphs=s.style.glyphs),n.sprite||(i.style._loadSprite(s.style.sprite),i.style.stylesheet.sprite=s.style.sprite),re.addSourcesAndLayers(e,t.callback)},re.getStyle=function(e,t){const{innerView:i}=e,r=setInterval(()=>{i.isStyleLoaded()&&(clearInterval(r),t&&t instanceof Function&&t(i.getStyle()))},30)},re.initLayerUrl=function(e,t){return"1.0"===t.igsVersion?(e+="/{z}/{y}/{x}",t.tokenKey&&t.tokenValue&&(e+=`?${t.tokenKey}=${t.tokenValue}`)):(e=`${e}/tileImage/{z}/{y}/{x}?f=image`,t.tokenKey&&t.tokenValue&&(e+=`&${t.tokenKey}=${t.tokenValue}`)),e},re.setVisible=function(e,t){const{layer:i,innerView:r}=e,{layers:s}=i.style;s.forEach(e=>{r.setLayoutProperty(e.id,"visibility",t?i._getBackupProperties(e.id,"visibility"):"none")})},re.setOpacity=function(e,t){const{layer:i,innerView:r}=e,{layers:s}=i.style;s.forEach(e=>{const s=i._getBackupProperties(e.id,"opacities");s&&Object.keys(s).forEach(i=>{r.setPaintProperty(e.id,i,s[i]*t)})})},re.removeLayer=function(e){const t=e.layer.style.layers,i=e.layer.style.sources,r=e.innerView;for(let e=0;e<t.length;e++)r.getLayer(t[e].id)&&r.removeLayer(t[e].id);Object.keys(i).forEach(e=>{r.getSource(e)&&r.removeSource(e)})},re.setPaintProperties=function(e,t,i){const{innerView:r}=e;r.getLayer(t)&&i instanceof Object&&Object.keys(i).forEach(e=>{r.setPaintProperty(t,e,i[e])})},re.setLayoutProperties=function(e,t,i){const{innerView:r}=e;r.getLayer(t)&&i instanceof Object&&Object.keys(i).forEach(e=>{r.setLayoutProperty(t,e,i[e])})},re.updateStyleLayer=function(e){const t=e.innerView,i=e.layer,r=t.style;i.style.layers.forEach(e=>{if(r.getLayer(e.id)){if(e.paint){Object.keys(e.paint).forEach(t=>{r.setPaintProperty(e.id,t,e.paint[t])})}if(e.layout){Object.keys(e.layout).forEach(t=>{r.setLayoutProperty(e.id,t,e.layout[t])})}}}),t._update&&t._update(!0)},re.addSourcesAndLayers=function(e,t){const{layer:i}=e,r=re.getSourcesAndStyleLayers(i,{layerView:e}),{sources:s,layers:n}=r;Object.keys(s).forEach(t=>{re._addSource(e,t,s[t])});for(let t=0;t<n.length;t++)re._addLayer(e,n[t].id,n[t]);t&&t instanceof Function&&t(this._getInnerLayers(e))},re._createStyleLayers=function(e,t){const i=(t=t||{}).layerView,s=e.style.layers;if(!(e instanceof r.IGSVectorTileLayer))for(let t=0;t<s.length;t++){const r=i?i._getLayerViewVisible(e.visible):e.visible;if(s[t]&&s[t].layout&&s[t].layout instanceof Object&&(s[t].layout.visibility=r?"visible":"none"),s[t]&&s[t].paint&&s[t].paint instanceof Object){const i=[];switch(s[t].type){case"background":i.push("background-opacity");break;case"fill":default:i.push("fill-opacity");break;case"line":i.push("line-opacity");break;case"symbol":i.push("icon-opacity"),i.push("text-opacity");break;case"circle":i.push("circle-opacity");break;case"sky":i.push("sky-opacity")}for(let r=0;r<i.length;r++)s[t].paint[i[r]]=e.opacity}}return s},re._createSources=function(e){const t=e.style.sources,i=m.createCRSByLayer(e),s=m.convertClippingArea(e.clippingArea),n={};return Object.keys(t).forEach(a=>{const o=t[a];o.clippingArea=s,o.crs=i;const[l,c]=r.TileInfoUtil.getLevelRangeByTileInfo(e.tileInfo);o.minzoom=l,o.maxzoom=c,n[a]=o}),n},re.getSourcesAndStyleLayers=function(e,t){return{sources:this._createSources(e,t),layers:this._createStyleLayers(e,t)}},re._addLayer=function(e,t,i){e.innerView.getLayer(t)||e.innerView.addLayer(i)},re._addSource=function(e,t,i){e.innerView.getSource(t)||e.innerView.addSource(t,i)},re._getInnerLayers=function(e){const t=e.layer.style.layers,i=[];for(let r=0;r<t.length;r++)i.push(e.innerView.getLayer(t[r].id));return i};var se=re;var ne=class extends r.Evented{constructor(e){super(e),this.view=Object(r.defaultValue)(e.view,null),this.location=Object(r.defaultValue)(e.location,""),this.title=Object(r.defaultValue)(e.title,""),this.content=Object(r.defaultValue)(e.content,""),this.alignment=Object(r.defaultValue)(e.alignment,"bottom-center"),this.defaultButtons=Object(r.defaultValue)(e.defaultButtons,["toggle","close","zoom"]),this._popup=void 0,this._initPopup(),this._initDefaultClass()}_initPopup(){this._customPopup(),this.view._innerView.closePopupOnClick=!1}_initDefaultClass(){let e=!1;const t=document.head.getElementsByTagName("style");if(t)for(let i=0;i<t.length;i++)if(t[i].innerHTML.indexOf("styleDomString")>-1){e=!0;break}if(!e){const e=document.createElement("style");e.innerHTML="\n .zondy-popup__container{background-color: #fff;padding:0;border-radius: 10px;}\n .zondy-popup__tip{\n background-color: #fff;\n }\n .zondy-popup__header{\n padding: 8px;\n font-size: 18px;\n font-weight: 600;\n line-height: 20px;\n border-top-left-radius: 10px;\n border-top-right-radius: 10px;\n white-space: nowrap;\n }\n .zondy-popup__content{\n padding: 8px;\n }\n .zondy-popup__footer{\n }\n .zondy-popup__footer-division{\n border-top: 1px solid;\n }\n .zondy-popup__toggle,.zondy-popup__close{\n display: inline-block;width: 30px;text-align: center;\n }\n ",document.querySelector("head").append(e)}}_customPopup(){}open(e){this._popup?(this.close(),this._popup=void 0,this.openPopup(e)):this.openPopup(e)}openPopup(e){if(this.view=e.view?e.view:this.view,this.location=e.location?e.location:this.location,this.location.spatialReference.isGeographic?this._location=this.location:this._location=r.Projection.project(this.location,new r.SpatialReference({wkid:4326})),this.title=e.title?e.title:this.title,this.content=e.content?e.content:this.content,this.alignment=e.alignment?e.alignment:this.alignment,!this.view._innerView)return void r.Log.info("没有视图引擎!");const t=this._contentUI(this.title,this.content);this._popup=new n.a.Popup({closeOnClick:!1,closeButton:!1,maxWidth:"1900px"}).setLngLat(this._location.coordinates).setDOMContent(t).addTo(this.view._innerView),this._popup.toggleClassName("highlighted");const i=this._popup._container.getElementsByClassName("mapboxgl-popup-content");for(let e=0;e<i.length;e++)i[e].style.padding="0",i[e].style.borderRadius="10px"}_contentUI(e,t){const i=this;let r=void 0;const s=function(e){const t=document.createElement("div");return t.innerHTML=e,t.childNodes};(r=document.createElement("div")).setAttribute("id",`${this.id}-popup-default`);const n=document.createElement("div");n.setAttribute("class","zondy-popup__header"),n.setAttribute("style","display: flex;");const a=s('<div class="zondy-popup__toggle">\n <svg aria-hidden="true" class="svg" fill="currentColor" height="16px" width="16px" viewBox="0 0 24 24" width="100%" xmlns="http://www.w3.org/2000/svg"><path d="M5 13.793l7-7 7 7v1.414l-7-7-7 7z"></path></svg>\n </div>')[0],o=s('<div class="zondy-popup__close">\n <svg aria-hidden="true" class="svg" fill="currentColor" height="16px" width="16px" viewBox="0 0 16 16" width="100%" xmlns="http://www.w3.org/2000/svg"><path d="M3.98 11.303L7.281 8 3.98 4.697l.707-.707L7.99 7.293l.01-.01.01.01 3.304-3.303.707.707L8.718 8l3.303 3.303-.707.707L8.01 8.707l-.01.01-.01-.01-3.304 3.303z"></path></svg>\n </div>')[0];if(e){const t=s('<div style="flex: 1;"></div>')[0];if(n.appendChild(t),"object"==typeof e?e instanceof Node?t.appendChild(e):e instanceof NodeList&&e.forEach(e=>{t.appendChild(e)}):t.innerHTML=e,this.defaultButtons.indexOf("toggle")>-1){n.appendChild(a);let e=!0;a.onclick=function(){e=!e,document.getElementById(`${i.id}-popup-default`).querySelector(".zondy-popup__content").style.display=e?"block":"none"}}this.defaultButtons.indexOf("close")>-1&&(n.appendChild(o),o.onclick=(()=>{this.close()}))}const l=document.createElement("div");if(l.setAttribute("class","zondy-popup__content"),t)if("object"==typeof t){if(t instanceof Node)l.appendChild(t);else if(t instanceof NodeList)for(let e=0;e<t.length;e++)l.appendChild(t[e]),e--}else l.innerHTML=t;const c=document.createElement("div");c.setAttribute("class","zondy-popup__footer");const h=s('<div class="zondy-popup__zoom" style="display: inline-block;width: 36px;height: 36px;line-height: 36px;text-align: center;">\n <svg class="svg" fill="currentColor" height="16px" width="16px" viewBox="0 0 16 16" width="100%" xmlns="http://www.w3.org/2000/svg"><path d="M9 7H7v2H6V7H4V6h2V4h1v2h2zm6.805 7.861l-.943.942a.665.665 0 0 1-.943 0l-3.067-3.067a.667.667 0 0 1 0-.943l.129-.13-1.108-1.107A5.279 5.279 0 1 1 11.8 6.5a5.251 5.251 0 0 1-1.237 3.366l1.108 1.108.124-.124a.668.668 0 0 1 .943 0l3.067 3.068a.666.666 0 0 1 0 .943zM10.8 6.5a4.3 4.3 0 1 0-4.3 4.3 4.304 4.304 0 0 0 4.3-4.3zm4.062 7.89l-2.595-2.598-.473.473 2.597 2.595z"></path></svg>\n </div>')[0];return this.defaultButtons.indexOf("zoom")>-1&&(c.appendChild(h),h.onclick=function(){i.view.flyTo({zoom:i.view._zoom+1,center:i.location})}),c.childNodes.length>0&&c.setAttribute("class","zondy-popup__footer zondy-popup__footer-division"),r.appendChild(n),r.appendChild(l),r.appendChild(c),r}_getOffset(){}_getOffsetByAlignment(e,t,i){let r=0,s=0;switch(e){case"top-left":r=t/2,s=i;break;case"top-center":s=i;break;case"top-right":r=-t/2,s=i;break;case"bottom-left":r=t/2;break;case"auto":case"bottom-center":break;case"bottom-right":r=-t/2}return{x:r,y:s}}close(){this.view._innerView&&this._popup.remove()}destroy(){}};var ae=class{constructor(e){e=Object(r.defaultValue)(e,{}),this.view=Object(r.defaultValue)(e.view,null),this.format=Object(r.defaultValue)(e.format,r.PictureFormat.png),this.filename=Object(r.defaultValue)(e.filename,"screenshotFile"),this.width=Object(r.defaultValue)(e.width,void 0),this.height=Object(r.defaultValue)(e.height,void 0),this.x=Object(r.defaultValue)(e.x,0),this.y=Object(r.defaultValue)(e.y,0),this.isDownload=Object(r.defaultValue)(e.isDownload,!0)}_addView(){const e=this,t=this.view._innerView.getCanvas();let i=null;this.format===r.PictureFormat.png?i=t.toDataURL():this.format===r.PictureFormat.jpeg?i=t.toDataURL("image/jpeg"):"svg"===this.format&&(i=t.toDataURL());const s=document.createElement("canvas");s.width=this.width,s.height=this.height;const n=s.getContext("2d"),a=function(e,t){const i=document.createElement("a");i.href=e,i.download=t,document.body.appendChild(i),i.click()};return a(i,e.filename),new Promise(t=>{if(this.width&&this.height){const o=new Image;o.src=i,o.onload=function(){n.drawImage(o,e.x,e.y,e.width,e.height,0,0,e.width,e.height);let i=null;e.format===r.PictureFormat.png?i=s.toDataURL():e.format===r.PictureFormat.jpeg?i=s.toDataURL("image/jpeg"):"svg"===e.format&&(i=s.toDataURL()),e.isDownload&&a(i,e.filename),t({dataUrl:i})}}else e.isDownload&&a(i,this.filename),t({dataUrl:i})})}_removeView(){}};var oe=class extends r.LayerView{onAdd(){const e=this.layer;return this.innerLayer=ie.addIGSMapImageLayer(this,{clippingArea:m.convertClippingArea(e.clippingArea)}),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return ie.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":ie.setVisible(this,i);break;case"opacity":ie.setOpacity(this);break;case"sublayerVisible":case"refresh":ie.refresh(this);break;case"clippingArea":{const e=i.params[0],t=this.innerLayer.source,r=this.innerView.getSource(t);r&&r.setClippingArea(m.convertClippingArea(e));break}}}return Promise.resolve(this)}};var le=class extends r.LayerView{onAdd(){const{layer:e}=this;return this.innerLayer=g.addIGSTileLayer(this,{clippingArea:m.convertClippingArea(e.clippingArea)}),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return g.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":g.setVisible(this);break;case"opacity":g.setOpacity(this);break;case"refresh":g.refresh(this);break;case"clippingArea":{const e=i.params[0],t=this.innerLayer.source,r=this.innerView.getSource(t);r&&r.setClippingArea(m.convertClippingArea(e));break}}}return Promise.resolve(this)}};var ce=class extends r.LayerView{onAdd(){const e=this.layer,t=this._getLayerViewVisible();return this.innerLayer=V.addWMSLayer(this,{visible:t,clippingArea:m.convertClippingArea(e.clippingArea)}),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return V.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":V.setVisible(this,i);break;case"opacity":V.setOpacity(this);break;case"refresh":case"sublayerVisible":V.refresh(this);break;case"clippingArea":{const e=i.params[0],t=this.innerLayer.source,r=this.innerView.getSource(t);r&&r.setClippingArea(m.convertClippingArea(e));break}}}return Promise.resolve(this)}};var he=class extends r.LayerView{onAdd(){const e=this.layer;return this.innerLayer=x.addWMTSLayer(this,{clippingArea:m.convertClippingArea(e.clippingArea)}),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return x.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":x.setVisible(this);break;case"opacity":x.setOpacity(this);break;case"refresh":x.refresh(this);break;case"clippingArea":{const e=i.params[0],t=this.innerLayer.source,r=this.innerView.getSource(t);r&&r.setClippingArea(m.convertClippingArea(e));break}}}return Promise.resolve(this)}};var pe=class extends r.BaseGraphicsLayerView{onAdd(e){const t=this.layer,i=this.innerView,r=this;return r.innerLayer=new z({id:t.id,opacity:t._opacity,visible:this._getLayerViewVisible()}),r.innerLayer.onAdd(i).then(()=>{const e=t.graphics.items||[];return r.innerLayer.commonLayerId=t.id,r._addFeature(r.innerLayer,e),Promise.resolve(this)})}onRemove(e){return this.innerLayer.onRemove(this.innerView),this.innerLayer=null,Promise.resolve(this)}onUpdate(e){const t=this.layer,i=this.innerLayer;return e.updateContent&&i&&e.updateContent.forEach(e=>{if(e&&"property"===e.operationType)switch(e.name){case"opacity":i.opacity=t._opacity;break;case"visible":{const r=e.params&&e.params.length>0?e.params[0]:t.visible,s=this._getLayerViewVisible(r);i.visible=s;break}}if(e&&"method"===e.operationType)switch(e.name){case"add":{const t=e.params;this._addFeature(i,t[0]);break}case"remove":{const t=e.params;this._removeFeature(i,t[0]);break}case"addMany":{let t=e.params[0];t instanceof r.FeatureSet&&(t=t.features),this._addFeature(i,t);break}case"removeMany":{const t=e.params[0];this._removeFeature(i,t);break}case"removeAll":i.removeAll()}}),Promise.resolve(this)}_addFeature(e,t){const i=Array.isArray(t)?t:[t];i.forEach(()=>{t.geometry&&!t.geometry.spatialReference&&(t.geometry.spatialReference=this.layer.spatialReference)}),this.render.drawFeature(e,i)}_removeFeature(e,t){const i=Array.isArray(t)?t:[t];this.render.clearFeature(e,i)}};var ue=class extends r.FeatureRender{drawFeature(e,t){e&&e.add(t)}updateFeature(e,t,i){e&&e.update(t,i)}clearFeature(e,t){e&&e.remove(t)}clear(e){e&&e.removeAll()}};var de=class extends r.LayerView{onAdd(){return this._layerViewVisible=this._getLayerViewVisible(this.layer.visble),se.addIGSVectorTileLayer(this,{callback:e=>{for(let t=0;t<e.length;t++)e[t].commonLayerId=this.layer.id;this.innerLayer=e}}),Promise.resolve(this)}onRemove(){return se.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t],{params:r}=i;if(i)switch(i.name){case"setPaintProperties":se.setPaintProperties(this,r[0],r[1]);break;case"setLayoutProperties":se.setLayoutProperties(this,r[0],r[1]);break;case"setStyleLayer":case"deleteStyleLayer":se.updateStyleLayer(this);break;case"opacity":se.setOpacity(this,r[0]);break;case"visible":const e=this._getLayerViewVisible(r[0]);this._layerViewVisible!==e&&(se.setVisible(this,e),this._layerViewVisible=e);break;case"clippingArea":{const e=i.params[0],t=this.innerView,r=this.layer.style.sources;r&&Object.entries(r).forEach(i=>{const r=i[0],s=t.getSource(r);s&&"vector"===s.type&&s.setClippingArea&&s.setClippingArea(m.convertClippingArea(e))});break}}}return Promise.resolve(this)}};var ye=class extends r.BaseRendererLayerView{onAdd(e){const t=this.layer.renderer;this.styleLayers=[],this.renderType=t.type,this.sourceIds=[],this._imageSourceManager=this._imageSourceManager?this._imageSourceManager:new P(this.innerView);const i=this._addInnerLayer();return i.then(()=>{this._updateState()}),i}onRemove(e){return super.onRemove(e),this._removeStyleLayers(),this._removeSources(),Promise.resolve(this)}onUpdate(e){const t=this;return e.updateContent&&e.updateContent.forEach(e=>{if(e&&"property"===e.operationType)switch(e.name){case"opacity":case"visible":t._updateState()}if(e&&"method"===e.operationType)switch(e.name){case"refresh":this._updateState()}}),Promise.resolve(this)}_requestMapboxglFrameUpdate(e){this.innerView&&this.innerView._update(e)}_processData(){return new Promise(e=>{})}_addInnerLayer(){return this._processData().then(e=>{const t=this.layer,i=this.innerView;this.featureSet=e;const r=t.renderer;return this._initInnerLayer(t,i,e,r)})}_initInnerLayer(e,t,i,r){const s=this;return new Promise(e=>{let i;const r=()=>{s._addSources(),e(s),i&&clearInterval(i)};t.loaded()?r():(t.once("load",r),i=setInterval(()=>{t.loaded()&&r()},16))})}_rendererChangeAction(e){e&&this._updateState()}_updateState(e){const{innerView:t,layer:i}=this;if(!t||!this.styleLayers)return;e||(e=i.renderer);const r=i._opacity,s=this._getLayerViewVisible(),n=t.style,a=this.styleLayers,o={featureSet:this.featureSet,imageSourceManager:this._imageSourceManager,updateState:this._updateState.bind(this)},l=R(i.id,e,i.geometryType,s,r,o);if(0===l.length)throw new Error("创建样式图层列表失败,请检查Renderer的类型是否支持!");let c=!1;if(e.type===this.renderType&&0!==this.styleLayers.length||(c=!0,"cluster"!==e.type&&"cluster"!==this.renderType||this._triggerSourceClusterChange("cluster"===e.type)),a.length>0&&!c){const e=a.length===l.length,t=a.every(e=>l.findIndex(t=>t&&e&&t.id===e.id&&t.type===e.type)>-1);e&&t||(c=!0)}if(c){let t=null;if(a.length>0){const e=n._order.indexOf(a[a.length-1].id);e>-1&&e+1<n._order.length&&(t=n._order[e+1])}return this._removeStyleLayers(),this._addStyleLayers(l,t),void(this.renderType=e.type)}this._updateStyleLayers(t,a,l)}_updateStyleLayers(e,t,i){const r=e.style;let s=!1;for(let e=0;e<t.length;e++)for(let n=0;n<i.length;n++){const a=t[e],o=i[n];a.id===o.id&&r.hasLayer(o.id)&&JSON.stringify(a)!==JSON.stringify(o)&&(o.paint&&Object.keys(o.paint).forEach(e=>{r.setPaintProperty(o.id,e,o.paint[e])}),o.layout&&Object.keys(o.layout).forEach(e=>{r.setLayoutProperty(o.id,e,o.layout[e])}),o.filter&&r.setFilter(o.id,o.filter),s=!0)}s&&(this._requestMapboxglFrameUpdate(!0),this.styleLayers=i)}_convertSourceData(e){const t=e.features,i={type:"FeatureCollection",features:[]};return i.features=t.map(e=>m.convertToGeoJSON(e)),i}_addStyleLayers(e,t){const{innerView:i}=this;i._lazyInitEmptyStyle(),e.forEach(e=>{i.style.addLayer(e,t)}),this.styleLayers=e,this._requestMapboxglFrameUpdate(!0)}_removeStyleLayers(){const e=this.innerView;for(let t=0;t<this.styleLayers.length;t++){const i=this.styleLayers[t].id;if(e.style.hasLayer(i)){if(e.overlayLayersManager[i])return e._removeLayer(e.overlayLayersManager[i]),delete e.overlayLayersManager[i],this;e.style.removeLayer(i)}}this._requestMapboxglFrameUpdate(!0),this.styleLayers=[]}_addSources(){const e=this.layer,t=e.renderer,i={type:"geojson",data:this._convertSourceData(this.featureSet)};t instanceof r.ClusterRenderer&&(i.cluster=!0,i.clusterRadius=t.radius),this.innerView.addSource(e.id,i),this.sourceIds.push(e.id)}_removeSources(){for(let e=0;e<this.sourceIds.length;e++)this.innerView.removeSource(this.sourceIds[e]);this.sourceIds=[]}_triggerSourceClusterChange(e){const t=this.innerView,i=this.layer,r=t.getSource(i.id);if(!r)return;const s=r.workerOptions||{};s.cluster=e;const n=s.superclusterOptions||{};e&&(n.radius=16*i.renderer.radius),r.setData(this._convertSourceData(this.featureSet))}getStyleLayerIds(){return this.styleLayers.map(e=>e.id)}};var me=class extends ye{_processData(){const e=this.layer,t=e._createQueryOption();return t.resultRecordCount=1e5,e.queryFeatures(t).then(e=>e)}onAdd(e){if("server"!==this.layer.renderMode)return super.onAdd(e)}onRemove(e){const t=this;return this.layer.gdbp?(this.innerView.removeLayer(this.innerLayer),Promise.resolve(t)):super.onRemove(e)}};var fe=class extends ye{_processData(){const e=this.layer;return Promise.resolve(e._source)}};var ge=class extends ye{_processData(){return this.layer.queryFeatures().then(e=>e)}};var ve=class extends r.LayerView{onAdd(){const e=this.layer,t=this._getLayerViewVisible();return this.innerLayer=C.addWebTileLayer(this,{visible:t,clippingArea:m.convertClippingArea(e.clippingArea)}),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return C.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":C.setVisible(this,i);break;case"opacity":C.setOpacity(this);break;case"sublayerVisible":case"refresh":C.refresh(this);break;case"clippingArea":{const e=i.params[0],t=this.innerLayer.source,r=this.innerView.getSource(t);r&&r.setClippingArea(m.convertClippingArea(e));break}}}return Promise.resolve(this)}};var _e=class extends r.GroupLayerView{};class be{}be.addEchartsLayer=function(e,t){const{extensionOptions:i={}}=e,r=Object.assign(e.echartsOptions,i),s=new X(t,r).addTo(t);return s.id=e.id,s},be.removeLayer=function(e){e.remove()};var we=be;var Se=class extends r.LayerView{onAdd(e){const t=this.layer,i=this.innerView;return this.innerLayer=we.addEchartsLayer(t,i),this.innerLayer.commonLayerId=t.commonLayerId,this._getLayerViewVisible()?this.innerLayer.show():this.innerLayer.hide(),Promise.resolve(this)}onRemove(e){return we.removeLayer(this.innerLayer),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":const e=i.params&&i.params.length>0?i.params[0]:void 0;this._getLayerViewVisible(e)?this.innerLayer.show():this.innerLayer.hide();break;case"opacity":this.innerLayer.setOpacity(this.layer.opacity)}}return Promise.resolve(this)}};class xe{}xe.addMapVLayer=function(e,t){const{extensionOptions:i={}}=e,r=Object.assign(e.mapVOptions,i),s=new K(t,e.data,r);return s.id=e.id,s},xe.removeLayer=function(e){e.remove()};var Le=xe;var Ve=class extends r.LayerView{onAdd(e){const t=this.layer,i=this.innerView;return this.innerLayer=Le.addMapVLayer(t,i),this.innerLayer.commonLayerId=t.id,this._getLayerViewVisible()?this.innerLayer.show():this.innerLayer.hide(),Promise.resolve(this)}onRemove(e){return Le.removeLayer(this.innerLayer),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":const e=i.params&&i.params.length>0?i.params[0]:void 0;this._getLayerViewVisible(e)?this.innerLayer.show():this.innerLayer.hide();break;case"opacity":this.innerLayer.setOpacity(this.layer.opacity)}}return Promise.resolve(this)}};var ke=class extends r.LayerView{onAdd(){const e=this.layer;return this.innerLayer=w.addArcGISMapImageLayer(this),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return w.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":w.setVisible(this,i);break;case"opacity":w.setOpacity(this);break;case"sublayerVisible":case"refresh":w.refresh(this)}}return Promise.resolve(this)}};var Ce=class extends r.LayerView{onAdd(){const{layer:e}=this;return this.innerLayer=_.addArcGISTileLayer(this,{clippingArea:m.convertClippingArea(e.clippingArea)}),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return _.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":_.setVisible(this);break;case"opacity":_.setOpacity(this);break;case"refresh":_.refresh(this);break;case"clippingArea":{const e=i.params[0],t=this.innerLayer.source,r=this.innerView.getSource(t);r&&r.setClippingArea(m.convertClippingArea(e));break}}}return Promise.resolve(this)}};class Ee{}Ee.getMouseEvent=function(e,t,i){let s=void 0;return{mapPoint:s=t._spatialReference.isGeographic?new r.Point({coordinates:[e.lngLat.lng,e.lngLat.lat]}):r.Projection.project(new r.Point({coordinates:[e.lngLat.lng,e.lngLat.lat]}),new r.SpatialReference(t.crs.code)),x:e.point.x,y:e.point.y,button:e.originalEvent.button,buttons:e.originalEvent.buttons,stopPropagation:e.originalEvent.stopPropagation,timeStamp:e.originalEvent.timeStamp,native:e.originalEvent,type:i}},Ee.getKeyEvent=function(e,t,i){const r={key:e.originalEvent.key,stopPropagation:e.originalEvent.stopPropagation,timeStamp:e.originalEvent.timeStamp,native:e.originalEvent,type:i};return"key-down"===i&&(r.repeat=e.originalEvent.repeat),r},Ee.getViewChangeEvent=function(e,t,i){const r={event:e,target:t,type:i};return r.mapView=t,r.scale=t._scale,r.zoom=t._zoom,r.center=t.center,r.extent=t._extent,r},Ee.getDragEvent=function(e,t,i,r,s){return{x:e.originalEvent.layerX,y:e.originalEvent.layerY,button:void 0!==s?s:e.originalEvent.button,buttons:e.originalEvent.buttons,cancelable:e.originalEvent.cancelable,origin:i,stopPropagation:e.originalEvent.stopPropagation,timeStamp:e.originalEvent.timeStamp,native:e.originalEvent,action:r,type:"drag"}},Ee.getKeyEvent=function(e,t,i){const r={key:e.key,stopPropagation:e.stopPropagation,timeStamp:e.timeStamp,native:e,type:i};return"key-down"===i&&(r.repeat=e.repeat),r};var Pe=Ee;class Te extends r.MapView{constructor(e){if(super(e),e=Object(r.defaultValue)(e,{}),this._options=e,this._center=Object(r.defaultValue)(e.center,void 0),this._center&&Array.isArray(this._center)&&this._center.length>1&&(this._center=new r.Point({coordinates:[this._center[0],this._center[1]]})),this._extent=Object(r.defaultValue)(e.extent,void 0),this.width=void 0,this.height=void 0,this._zoom=Object(r.defaultValue)(e.zoom,0),this._scale=Object(r.defaultValue)(e.scale,void 0),this.maxScale=Object(r.defaultValue)(e.maxScale,void 0),this.minScale=Object(r.defaultValue)(e.minScale,void 0),this.popup=Object(r.defaultValue)(e.popup,void 0),this._spatialReference=void 0,this._referenceLayer=void 0,this.crs=void 0,this.spatialReferenceLocked=Object(r.defaultValue)(e.spatialReferenceLocked,!1),this.stationary=!0,e.fullExtent){let t=r.Extent.fromJSON(e.fullExtent.toJSON());t.spatialReference.isGeographic||(t=r.Projection.project(t,new r.SpatialReference({wkid:4326}))),this._initFullExtent=t}this._fullExtent=this._initFullExtent,this._mapExtent=null}_initView(e,t){const i=this;n.a.accessToken="pk.eyJ1IjoiemtidWQiLCJhIjoiY2w5OGF2NXIyMzQ5bjNub2luem85Y2Z4OCJ9.uX09XQPOX5E7sOohws2l_Q",e&&!this._center&&this.fullExtent&&(this._center=this._fullExtent.center),!this._zoom&&this._scale&&this._initScale(this._scale);let s=void 0;this._center||this._zoom||this._extent&&(s=[[this._extent.xmin,this._extent.ymin],[this._extent.xmax,this._extent.ymax]]);const a={crs:this.crs,container:this._viewId,style:{version:8,sources:{},layers:[{id:Object(r.getGUID)(),type:"background",paint:{"background-color":"rgba(255, 255, 255,1)"}}]},zoom:this._zoom,center:this._center.coordinates,fitBoundsOptions:s,preserveDrawingBuffer:!0,maxBounds:this._getMaxBounds()};return Object.keys(this.extensionOptions).forEach(e=>{"crs"!==e&&"container"!==e&&(a[e]=Object.assign(a[e],this.extensionOptions[e]))}),this._innerView=new n.a.Map(a),this.engineType="mapboxgl",this._initViewEvent(),this._center||this._zoom||!this._extent||this.flyTo({extent:this._this._extent},{animate:!1}),this._initSize(),this._initScaleLimit(),this._initPopup(),this._initCursor(),this._updateMaxBounds(),this._innerView.on("load",()=>{this.getZoom(),this.getCenter(),this.getExtent(),this.getScale()}),new Promise(e=>{i._innerView.loaded()?e(i):i._innerView.once("load",()=>{e(i)})})}_initScaleLimit(){if(void 0!==this._options.minScale)if(this.minScale>0){const e=this._getZoomByScale(this.minScale);void 0!==e&&this._innerView.setMinZoom(e)}else this.minScale=0,this._innerView.setMinZoom(void 0);else{const e=this._innerView.getMinZoom();isFinite(e)?this.minScale=this._getScaleByZoom(this.minZoom):this.minScale=void 0}if(void 0!==this._options.maxScale)if(this.maxScale>0){const e=this._getZoomByScale(this.maxScale);void 0!==e&&this._innerView.setMaxZoom(e)}else this.maxScale<=0&&(this.maxScale=0,this._innerView.setMaxZoom(void 0));else{let e=this._innerView.getMaxZoom();const t=((this.crs||{}).options||{}).lods;t&&Array.isArray(t)&&e>=t.length-1&&(e=t.length-1,this._innerView.setMaxZoom(e)),isFinite(e)?this.maxScale=this._getScaleByZoom(e):this.maxScale=void 0}!this._scale||this._scale<=0?this._scale=this.minScale:this._scale>this.minScale?this._scale=this.minScale:this._scale<this.maxScale&&(this._scale=this.maxScale)}_createCrsObject(e){if(!(e.spatialReference&&e.origin&&e.lods&&e.extent))return;let t;if(e.spatialReference.wkid){const i=r.Projection.getEPSGByWKID(e.spatialReference.wkid);i&&(t=i.strProject)}else e.spatialReference.wkt&&(t=e.spatialReference.wkt);const i=[e.extent.xmin,e.extent.ymin,e.extent.xmax,e.extent.ymax],s=`EPSG:${e.spatialReference.wkid}`,n=t,a={};e.lods.forEach(e=>{a[e.level]=e.resolution});const o=new u(s,n,{resolutions:a,origin:e.origin,tileSize:e.tileSize,bounds:i,unit:e.spatialReference.isGeographic?"degree":void 0});return o.options=e,o}_reCreateView(){return this._innerView&&(this._innerView._animatingZoom=!1,this._innerView.remove()),this._initView(!0,this._options)}_isEqualBounds(e,t){let i=!0;if(e&&t&&Array.isArray(e)&&Array.isArray(t)&&e.length===t.length){for(const r in e)if(e[r]!==t[r]){i=!1;break}}else i=!!(!e&&!t||Array.isArray(e)&&0===e.length&&Array.isArray(t)&&0===t.length);return i}_initViewEvent(){const e=this;this._clickStore=null,this._dragParams={isDrag:!1,origin:null,action:"",button:null},e.fire(r.ViewEventType.loaded,{}),this._innerView.on("click",t=>{e._clickStore=setTimeout(function(){e._clickStore&&e.fire(r.ViewEventType.click,Pe.getMouseEvent(t,e))},300),e.fire(r.ViewEventType.immediateClick,Pe.getMouseEvent(t,e))}),this._innerView.on("contextmenu",t=>{e._clickStore=setTimeout(function(){e._clickStore&&e.fire(r.ViewEventType.click,Pe.getMouseEvent(t,e))},300),e.fire(r.ViewEventType.immediateClick,Pe.getMouseEvent(t,e))}),this._innerView.on("dblclick",t=>{e._clickStore&&(clearTimeout(this._clickStore),e._clickStore=null),e.fire(r.ViewEventType.doubleClick,Pe.getMouseEvent(t,e))}),this._innerView.on("mousedown",t=>{e.fire(r.ViewEventType.pointerDown,Pe.getMouseEvent(t,e)),this._dragParams.isDrag||(this._dragParams.origin={x:t.originalEvent.layerX,y:t.originalEvent.layerY},this._dragParams.button=t.originalEvent.button,this._dragParams.action="mouse-down",this._dragParams.isDrag=!1)}),this._innerView.on("mouseup",t=>{e.fire(r.ViewEventType.pointerUp,Pe.getMouseEvent(t,e)),e._dragParams.isDrag&&"update"===this._dragParams.action&&(this._dragParams.action="end",e.fire(r.ViewEventType.drag,Pe.getDragEvent(t,e,e._dragParams.origin,this._dragParams.action))),e._dragParams={isDrag:!1,origin:null,action:"",button:null}}),this._innerView.on("mousemove",t=>{e.fire(r.ViewEventType.pointerMove,Pe.getMouseEvent(t,e)),e._dragParams.isDrag?(e.fire(r.ViewEventType.drag,Pe.getDragEvent(t,e,e._dragParams.origin,e._dragParams.action,e._dragParams.button)),e._dragParams.action="update"):"mouse-down"===this._dragParams.action&&(this._dragParams.action="start",e._dragParams.isDrag=!0)}),this._innerView.on("dragstart",t=>{""===this._dragParams.action&&t.originalEvent&&(this._dragParams.origin={x:t.originalEvent.layerX,y:t.originalEvent.layerY},this._dragParams.action="start",e.fire(r.ViewEventType.drag,Pe.getDragEvent(t,e,this._dragParams.origin,this._dragParams.action)))}),this._innerView.on("drag",t=>{"start"!==e._dragParams.action&&"update"!==e._dragParams.action||(this._dragParams.action="update",e.fire(r.ViewEventType.drag,Pe.getDragEvent(t,e,this._dragParams.origin,this._dragParams.action)))}),this._innerView.on("dragend",t=>{"start"!==e._dragParams.action&&"update"!==e._dragParams.action||(this._dragParams.action="end",e.fire(r.ViewEventType.drag,Pe.getDragEvent(t,e,this._dragParams.origin,this._dragParams.action)),e._dragParams={origin:null,action:"",button:null})}),this._innerView.on("rotatestart",t=>{""===this._dragParams.action&&t.originalEvent&&(this._dragParams.origin={x:t.originalEvent.layerX,y:t.originalEvent.layerY},this._dragParams.action="start",e.fire(r.ViewEventType.drag,Pe.getDragEvent(t,e,this._dragParams.origin,this._dragParams.action)))}),this._innerView.on("rotate",t=>{"start"!==e._dragParams.action&&"update"!==e._dragParams.action||(this._dragParams.action="update",e.fire(r.ViewEventType.drag,Pe.getDragEvent(t,e,this._dragParams.origin,this._dragParams.action)))}),this._innerView.on("rotateend",t=>{"start"!==e._dragParams.action&&"update"!==e._dragParams.action||(this._dragParams.action="end",e.fire(r.ViewEventType.drag,Pe.getDragEvent(t,e,this._dragParams.origin,this._dragParams.action)),e._dragParams={origin:null,action:"",button:null})}),this._innerView.on("movestart",()=>{e.stationary=!1}),this._innerView.on("zoom",t=>{e.fire(r.ViewEventType.zoom,{zoom:t.target._zoom,event:t})}),this._innerView.on("zoomend",t=>{e._zoomEndHandler(),e.fire(r.ViewEventType.viewChange,Pe.getViewChangeEvent(t,e))}),this._innerView.on("moveend",t=>{e._moveEndHandler(),e.fire(r.ViewEventType.viewChange,Pe.getViewChangeEvent(t,e)),e.stationary=!0}),this._innerView.on("resize",t=>{const i=Number(e.width),s=Number(e.height);e._initSize(),this._updateMaxBounds(),e.fire(r.ViewEventType.resize,{oldWidth:i,oldHeight:s,width:e.width,height:e.height})}),this._listenKey()}_mapActionControl(e,t){this._innerView&&("drag-pan"===e?t?this._innerView.dragPan.enable():this._innerView.dragPan.disable():"double-click-zoom"===e?t?this._innerView.doubleClickZoom.enable():this._innerView.doubleClickZoom.disable():"drag-rotate"===e&&(t?this._innerView.dragRotate.enable():this._innerView.dragRotate.disable()))}_listenKey(){const e=this,t=this._innerView._canvas;t.setAttribute("tabIndex","-1"),t.onclick=(()=>{t.focus()}),t.addEventListener("keydown",t=>{e.fire(r.ViewEventType.keyDown,Pe.getKeyEvent(t,e))}),t.addEventListener("keyup",t=>{e.fire(r.ViewEventType.keyUp,Pe.getKeyEvent(t,e))})}_initSize(){const e=this._innerView.getCanvas(),t=e.style?e.style.width:e.width,i=e.style?e.style.height:e.height;this.width=Number(t.toString().replace("px","")),this.height=Number(i.toString().replace("px",""))}_updateMaxBounds(){const e=this._getMaxBounds();this._innerView.setMaxBounds(e)}_setCursor(e){this._innerView&&(e&&null!==e?(this._innerView._container.style.cursor=e,this._innerView.getCanvasContainer().style.cursor=e):(this._innerView._container.style.removeProperty("cursor"),this._innerView.getCanvasContainer().style.removeProperty("cursor")),this._cursor=e)}_zoomEndHandler(){this.getExtent(),this.getZoom(),this.getScale(),this._showLayerByScale()}getSize(){return{width:this.width,height:this.height}}_moveEndHandler(){this.getCenter(),this.getExtent()}_createLayerViewObj(e){let t=null;return e&&e.autoAddTo2D&&(t=function(e,t){let i=null;switch(t.type){case r.LayerType.igsMapImage:i=new oe({view:e,layer:t});break;case r.LayerType.igsTile:i=new le({view:e,layer:t});break;case r.LayerType.wms:i=new ce({view:e,layer:t});break;case r.LayerType.wmts:i=new he({view:e,layer:t});break;case r.LayerType.graphics:i=new pe({view:e,layer:t,render:new ue});break;case r.LayerType.igsVectorTile:case r.LayerType.arcgisVectorTile:i=new de({view:e,layer:t});break;case r.LayerType.igsFeature:i=new me({view:e,layer:t});break;case r.LayerType.geojson:i=new fe({view:e,layer:t});break;case r.LayerType.wfs:i=new ge({view:e,layer:t});break;case r.LayerType.webTileLayer:i=new ve({view:e,layer:t});break;case r.LayerType.group:i=new _e({view:e,layer:t});break;case r.LayerType.echarts:i=new Se({view:e,layer:t});break;case r.LayerType.mapv:i=new Ve({view:e,layer:t});break;case r.LayerType.arcgisMapImage:i=new ke({view:e,layer:t});break;case r.LayerType.arcgisTile:i=new Ce({view:e,layer:t})}return i}(this,e)),t}_initPopup(){this.popup=new ne({view:this})}hitTest(e){if(!this._innerView)return;const t=[],i=this._getInnerStyleLayerIds();return this._innerView.queryRenderedFeatures([e.x,e.y],{layers:i}).forEach(i=>{if(!i.properties||void 0===i.properties.id||!i.layer||!i.layer.id)return;const s=i.source.split("_")[0],n=i.properties.id;let a=this.getLayer(s);if(!a&&this._graphicsLayers&&this._graphicsLayers.allLayers&&this._graphicsLayers.allLayers.items&&(a=this._graphicsLayers.allLayers.items.find(e=>e.id===s)),!a)return;let o=null;if(a.type===r.LayerType.igsFeature||a.type===r.LayerType.geojson||a.type===r.LayerType.wfs){const e=this._getLayerView(a);e.featureSet&&e.featureSet.features&&(o=e.featureSet.features.filter(e=>{if(e.id===n)return e}))}else if(a.type===r.LayerType.graphics&&a.graphics){o=a.graphics.filter(e=>{if(e.id===n)return e}).items}const l={graphic:o&&o.length>0?o[0]:null,layer:a,mapPoint:this.toMap(e),type:"graphic"};t.push(l)}),t}_getInnerStyleLayerIds(){let e=[];return this._map.allLayers.items.concat(this._graphicsLayers.layers.items).forEach(t=>{if(t.type===r.LayerType.igsFeature||t.type===r.LayerType.geojson){const i=this._getLayerView(t);i&&(e=e.concat(i.getStyleLayerIds()))}else if(t.type===r.LayerType.graphics){const i=this.getInnerLayer(t);i&&i.getStyleLayerIds&&(e=e.concat(i.getStyleLayerIds()))}}),e}toMap(e){if(!e)return;const t=this._innerView.unproject([e.x,e.y]);let i=new r.Point({coordinates:[t.lng,t.lat]});return this._spatialReference&&!this._spatialReference.isGeographic?i=r.Projection.project(i,this._spatialReference):i.spatialReference=this._spatialReference,i}toScreen(e){let t=r.Geometry.fromJSON(e);return t.spatialReference.isGeographic||(t=r.Projection.project(t,new r.SpatialReference({wkid:4326}))),this._innerView.project([t.coordinates[0],t.coordinates[1]])}takeScreenshot(e){e.view=this;let t=null;return this._screenshot?t=this._screenshot._addView():(this._screenshot=new ae(e),t=this._screenshot._addView()),t}flyTo(e,t={animate:!0}){e=Object(r.defaultValue)(e,{});const i=Object(r.defaultValue)(e.zoom,1),s=this._getFlyToCenter(e),n=this._getFlyToExtent(e);if(this._innerView){const e=this._innerView.transform;e.resetZoomScale=!1,s?this._innerView.flyTo({center:[s.coordinates[0],s.coordinates[1]],zoom:i}):n&&this._innerView.fitBounds([[n.xmin,n.ymin],[n.xmax,n.ymax]],t),e.resetZoomScale=!0}}goTo(e={},t={}){let i,s,n=new Promise(e=>{e()});if(this._innerView){let a;if(Object(r.isNull)(e.center)&&Object(r.isNull)(e.zoom)&&Object(r.isNull)(e.scale)||(i=Object(r.isNull)(e.center)?this._center:this._getFlyToCenter({center:e.center}),s=!Object(r.isNull)(e.scale)&&e.scale>0?this._getZoomByScale(e.scale):!Object(r.isNull)(e.zoom)&&e.zoom>0?e.zoom:this._zoom),!Object(r.isNull)(e.target)){const t=this._getTargetExtent(e.target);t.xmin!==t.xmax&&t.ymin!==t.ymax?a=t:i=this._getFlyToCenter({center:new r.Point({coordinates:[t.xmin,t.ymin]})})}const o={animate:!0,duration:200};Object(r.isNull)(t)||(Object(r.isNull)(t.animate)||(o.animate=t.animate),Object(r.isNull)(t.duration)||(o.duration=t.duration));const l=this._innerView.transform;if(l.resetZoomScale=!1,i){let e=i.coordinates[1],t=i.coordinates[0];if(this._fullExtent&&((e>this._fullExtent.ymax||e<this._fullExtent.ymin)&&(e=(this._fullExtent.ymax+this._fullExtent.ymin)/2),(t>this._fullExtent.xmax||t<this._fullExtent.xmin)&&(t=(this._fullExtent.xmax+this._fullExtent.xmin)/2)),isFinite(e)&&isFinite(t)){let r=!1;const a=this._innerView.getCenter();if(s===this._zoom&&e===a.lat&&t===a.lng&&(r=!0),!r){const e={center:[i.coordinates[0],i.coordinates[1]],zoom:s};Object.assign(e,o),n=new Promise(t=>{this._innerView.flyTo(e),this._innerView.once("moveend",()=>{t()})})}}}else if(a){let e=a.xmin,t=a.xmax,i=a.ymin,r=a.ymax;this._fullExtent&&(e<this._fullExtent.xmin&&(e=this._fullExtent.xmin),t>this._fullExtent.xmax&&(t=this._fullExtent.xmax),i<this._fullExtent.ymin&&(i=this._fullExtent.ymin),r>this._fullExtent.ymax&&(r=this._fullExtent.ymax)),isFinite(e)&&isFinite(t)&&isFinite(i)&&isFinite(r)&&(n=new Promise(e=>{this._innerView.fitBounds([[a.xmin,a.ymin],[a.xmax,a.ymax]],o),this._innerView.once("moveend",()=>{e()})}))}l.resetZoomScale=!0}return n}getCenter(){const e=this._innerView.getCenter();let t=new r.Point({coordinates:[e.lng,e.lat]});this._center=t;const i=this._spatialReference;return i.isGeographic||(t=r.Projection.project(t,i)),t}setCenter(e){this._innerView&&(Array.isArray(e)&&e.length>1?(this._center=new r.Point({coordinates:[e[0],e[1]],spatialReference:this._spatialReference}),this.flyTo({zoom:this._zoom,center:this._center})):e instanceof r.Point&&(this._center=e,this.flyTo({zoom:this._zoom,center:this._center})))}getZoom(){return this._zoom=this._innerView.getZoom(),this._zoom}setZoom(e){this._innerView&&(this._zoom=e,this.flyTo({zoom:e,center:this._center}))}getExtent(){if(!this._innerView)return;const e=this._innerView.getBounds();if(!e||!e._sw||!e._ne)return;let t=new r.Extent({xmin:e._sw.lng,ymin:e._sw.lat,xmax:e._ne.lng,ymax:e._ne.lat});const i=this._spatialReference;return i.isGeographic||(t=r.Projection.project(t,i)),this._extent=t,t}setExtent(e){this._innerView&&(this._extent=e,this.flyTo({extent:e}))}getScale(){const e=this._getScaleByZoom(this._zoom);return this._scale=e,e}_getScaleByZoom(e){let t;if(this.crs&&this.crs.options&&this.crs.options.lods&&!Object(r.isNull)(e))if(e%1==0){t=this.crs.options.lods[e].scale}else{const i=Math.floor(e),r=Math.ceil(e),s=this.crs.options.lods[i],n=this.crs.options.lods[r];t=void 0===s&&void 0===n?0:void 0===s?n.scale:void 0===n?s.scale:s.scale-(s.scale-n.scale)*(e-i)}return t}_initScale(e){this._scale&&this._scale>0&&(this._zoom=this._getZoomByScale(e))}_getZoomByScale(e){let t=void 0;if(this.crs&&this.crs.options&&this.crs.options.lods){let i=-1;for(let r=0;r<this.crs.options.lods.length;r++){const s=this.crs.options.lods[r],n=this.crs.options.lods[r-1];if(s.scale<=0)break;if(i<0&&(i=r),r===i){if(s.scale>0&&e>=s.scale){t=s.level;break}}else{if(e>=s.scale&&e<=n.scale&&n.scale!==s.scale){t=s.level-(e-s.scale)/(n.scale-s.scale);break}if(r===this.crs.options.lods.length-1&&s.scale>0&&e<=s.scale){t=s.level;break}}}}return t}setScale(e){if(!this._innerView)return;const t=this._getZoomByScale(e);t&&this.flyTo({center:this._center,zoom:t})}_getMaxBounds(){if(this._fullExtent){const e=[[this._fullExtent.xmin,this._fullExtent.ymin],[this._fullExtent.xmax,this._fullExtent.ymax]];if(this._innerView)try{const t=Math.max(this._innerView.transform.width,200),i=Math.max(this._innerView.transform.height,200)/t,r=this._innerView.transform,s=r.project({lng:e[0][0],lat:e[1][1]}),n=r.project({lng:e[1][0],lat:e[0][1]}),a=r.project({lng:(e[0][0]+e[1][0])/2,lat:(e[0][1]+e[1][1])/2}),o=n.x-s.x,l=n.y-s.y,c=Math.max(o,l)/2,h=a.x-c,p=a.y-c*i,u=a.x+c,d=a.y+c*i,y=r.unproject({x:h,y:p}),m=r.unproject({x:u,y:d});e[0][0]=Math.min(y.lng,e[0][0]),e[0][1]=Math.min(m.lat,e[0][1]),e[1][0]=Math.max(m.lng,e[1][0]),e[1][1]=Math.max(y.lat,e[1][1])}catch(e){}return e}return[]}_isEqualCrs(e,t){let i=!1;if(!e||!t)return i;let s=void 0;e.code.split(":").length>1&&(s=e.code.split(":")[1]);const n=new r.SpatialReference({wkid:s,wkt:e.def});let a=void 0;t.code.split(":").length>1&&(a=t.code.split(":")[1]);const o=new r.SpatialReference({wkid:a,wkt:t.def});return n.equals(o)&&t.options&&e.options&&Object(r.compareObject)(t.options._resolutions,e.options_resolutions)&&Object(r.compareObject)(t.origin,e.origin)&&Object(r.compareObject)(t.extent,e.extent)&&(i=!0),i}_moveLayerView(e,t){let i,r;if(e instanceof pe){i=[];const{_sourceMetaDatas:t}=e.innerLayer;Object.keys(t).forEach(e=>{i.push(t[e].layerId)})}else if(e instanceof ye)i=e.styleLayers.map(e=>e.id);else if(e instanceof de){const t=e.innerLayer||[];i=t.map(e=>e.id)}else i=e.innerLayer.id;if(t instanceof pe){const e=t.innerLayer._getBottomLayer();r=e.layerId}else if(t instanceof ye)t.styleLayers.length>0&&(r=t.styleLayers[0].id);else if(t instanceof de){const e=t.innerLayer||[];e.length>0&&(r=e[0].id)}else r=t.innerLayer.id;e instanceof pe||e instanceof ye||e instanceof de?i.forEach(t=>{e.innerView.moveLayer(t,r)}):e.innerView.moveLayer(i,r)}toJSON(){let e=super.toJSON();return e=Object.assign(e,{extent:Object(r.toJSON)(this._extent,r.Extent),width:this.width,height:this.height,spatialReferenceLocked:this.spatialReferenceLocked})}}Object.defineProperties(Te.prototype,{scale:{get(){return this._scale},set(e){this.setScale(e)}},zoom:{get(){return this._zoom},set(e){this.setZoom(e)}},extent:{get(){return this._extent},set(e){this.setExtent(e)}},center:{get(){let e=this._center;return this._spatialReference&&(this.spatialReference.isGeographic||(e=r.Projection.project(this._center,this._spatialReference))),e},set(e){this.setCenter(e)}},spatialReference:{get(){return this._spatialReference},set(e){}},rotation:{get(){return this._rotation},set(e){this._rotation=e,this._innerView&&this._innerView.setBearing(e)}}}),Te.fromJSON=function(e){return e=Object(r.defaultValue)(e,{}),new Te(e)},r.Zondy.MapViewMapboxgl=Te;var Oe=Te;class Ie extends r.SketchEditor{constructor(e){super(e)}start(e,t){super.start(e,t)}startCustomDrawTool(e){super.startCustomDrawTool(e)}stop(){super.stop()}remove(){super.remove()}update(e,t){super.updateFeature(e,t)}addVertex(e,t){super.addVertex(e,t)}updateVertex(e,t){super.updateVertex(e,t)}removeVertex(e){super.removeVertex(e)}getSketchDataType(){super.getSketchDataType()}setSketchStyle(e){super.setSketchStyle(e)}getSketchStyle(){return super.getSketchStyle()}getGeometry(){return super.getGeometry()}union(e){return super.union(e)}split(e,t){return super.split(e,t)}drawPolylineToPolygon(e){super.drawPolylineToPolygon(e)}undo(){return super.undo()}redo(){return super.redo()}canUndo(){return super.canUndo()}canRedo(){return super.canRedo()}_hitTestSketchEvent(e=this._sketchInnerLayer){const t=this;this.view.on(r.ViewEventType.mouseDown,i=>{if(!i||!i.x||!i.y)return;if(t._drawTool&&t._drawTool._editMode===r.SketchEditMode.DRAWING)return;let s=void 0;const n=t.view.hitTest({x:i.x,y:i.y});if(n&&Array.isArray(n)&&(s=n[0]),s&&e.id===s.layer.id){let e=t._drawTool?t._drawTool._getDrawToolByFeatureId(s.graphic.id):void 0;if(!e&&(!t._drawTool||t._drawTool.sketchStage.entityGraphic&&"drawn"===t._drawTool.state)){const i=t.view.getLayer(s.layer.id).graphics.filter(e=>{if(e.id===s.graphic.id)return e});if(!(i&&i.items.length>0))return;{const r=i.items[0];t._drawTool&&t._drawTool._clearEditGraphics(t._drawTool._editMode),this._addFeatureToSketchEditor(r),t._undoRedoManager.reset(),t._drawTools=[t._drawTool],e=t._drawTool}}if(!e||e===t._drawTool&&"drawn"!==e.state)return;if(0===e.editOption._hitTestMode){const s=()=>{if(t._editable&&(void 0===t._drawTool||null===t._drawTool||3!==t._drawTool._editMode)){if(void 0!==t._drawTool&&null!==t._drawTool&&t.fire("selected",{isSelected:!0,selectedDrawTool:t._drawTool,selectedGeometry:t._drawTool.sketchStage.entityGraphic.geometry},t),!e._parent&&0===e._editMode){const e=new r.SketchEditorEvent({type:r.SketchEditorEventType.update,target:t,toolEventInfo:null,state:r.SketchEditorState.start,feature:t._drawTool.sketchStage.entityGraphic,geometry:t._drawTool.sketchStage.entityGraphic.geometry});t.fire(r.SketchEditorEventType.update,e)}e.hitTestFeature(e.sketchStage.entityGraphic,i),t.view.off(r.ViewEventType.mouseUp,s)}};t.view.on(r.ViewEventType.mouseUp,s)}else{if(!t._editable)return;if(void 0!==t._drawTool&&null!==t._drawTool&&3===t._drawTool._editMode)return;e.hitTestFeature(e.sketchStage.entityGraphic,i)}}})}_getCenterCoordinate(e,t){return[(e[0]+t[0])/2,(e[1]+t[1])/2]}}r.Zondy.SketchEditorMapboxgl=Ie;var Me=Ie;i.d(t,"MapViewMapboxgl",function(){return Oe}),i.d(t,"MapView",function(){return Oe}),i.d(t,"SketchEditorMapboxgl",function(){return Me}),i.d(t,"SketchEditor",function(){return Me}),i.d(t,"mapboxCustomCRS",function(){return p}),i.d(t,"initializeOptions",function(){return Y}),i.d(t,"addStyleToMapboxglMap",function(){return Q}),i.d(t,"MapVLayer",function(){return K}),i.d(t,"EchartsLayer",function(){return X}),i.d(t,"initializeCRS",function(){return ee}),i.d(t,"Popup",function(){return ne}),i.d(t,"Screenshot",function(){return ae}),r.Zondy.mapboxCustomCRS=p,r.zondy.mapboxgl={},r.zondy.mapboxgl.VERSION="17.2.7",r.zondy.mapboxgl.MapView=Oe,r.zondy.mapboxgl.layer={},r.zondy.mapboxgl.layer.MapVLayer=K,r.zondy.mapboxgl.layer.EchartsLayer=X,r.zondy.mapboxgl.tool={},r.zondy.mapboxgl.tool.sketch={},r.zondy.mapboxgl.tool.sketch.SketchEditor=Me,r.zondy.mapboxgl.tool.Screenshot=ae,r.zondy.mapboxgl.widget={},r.zondy.mapboxgl.widget.Popup=ne,r.zondy.mapboxgl.util={},r.zondy.mapboxgl.util.initializeOptions=Y,r.zondy.mapboxgl.util.addStyleToMapboxglMap=Q,r.zondy.mapboxgl.util.initializeCRS=ee,r.zondy.mapboxgl.util.mapboxCustomCRS=p,r.Zondy.PluginVersion=r.zondy.mapboxgl.VERSION,r.Zondy.mapboxCustomCRS=p}]);
|
|
1
|
+
!function(e){var t={};function i(r){if(t[r])return t[r].exports;var s=t[r]={i:r,l:!1,exports:{}};return e[r].call(s.exports,s,s.exports,i),s.l=!0,s.exports}i.m=e,i.c=t,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)i.d(r,s,function(t){return e[t]}.bind(null,s));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=2)}([function(e,t){e.exports=function(){try{return window.MapGISCommon}catch(e){return{}}}()},function(e,t){e.exports=mapboxgl},function(e,t,i){"use strict";i.r(t);var r=i(0),s=i(1),n=i.n(s);function a(e){e.innerView.setLayoutProperty(e.innerLayer.id,"visibility",e.layer.visible?"visible":"none")}function o(e){e.innerView.removeLayer(e.innerLayer.id)}function l(e){e.innerView.setPaintProperty(e.innerLayer.id,"raster-opacity",e.layer.opacity)}function c(e,t,i,r,s,n){let a,o=[e];return e&&e.includes("{s}")&&Array.isArray(r)&&(o=r.map(t=>e.replace("{s}",t))),a="image"===i?{url:e,rebaseRequestUrl(e,t){const i=this.map.getCRS().projection.project(this.map.getBounds()._sw),r=this.map.getCRS().projection.project(this.map.getBounds()._ne),s=[...i,...r].toString(),[n,a]=t.imageSize;return(e.split("?").length>1?e.split("?")[1].split("&"):e.split("&")).forEach(t=>{t.includes("size=")&&(e=e.replace(t,`size=${n},${a}`)),t.includes("w=")&&(e=e.replace(t,`w=${n}`)),t.includes("h=")&&(e=e.replace(t,`h=${a}`)),t.includes("bbox=")&&(e=e.replace(t,`bbox=${s}`))}),e},requestParams:s,type:"image-map",clippingArea:n}:{type:"raster",tiles:o,requestParams:s,tileSize:t,clippingArea:n}}function h(e,t,i,s){return{id:e,type:"raster",source:t,paint:{"raster-opacity":i.opacity},layout:{visibility:(Object(r.isNull)(s)?i.visible:s._getLayerViewVisible(i.visible))?"visible":"none"}}}function u(e,t){let i,r;if(t.getProj||t.projectGeometry){const s=t;i=class extends e.Projection{constructor(e,t){super();const i=t||{};if(t.def)this._wkt=i.def;else if(e){const t=/^(EPSG|epsg)(:)?\d+$/,i=/\d+$/,r=e.match(i);if(t.test(e)&&r){this._wkid=parseInt(r[0]);const e=s.getEPSGByWKID(this._wkid);e&&(this._wkt=e.strProject)}}else this._wkt=s.getEPSGByWKID(3857).strProject;this._wkt&&(this._proj=s.getProj(e||function(){let e="";for(let t=1;t<=32;t++)e+=Math.floor(16*Math.random()).toString(16),8!==t&&12!==t&&16!==t&&20!==t||(e+="-");return e}(),this._wkt))}project(e){let t,i;Array.isArray(e)?(t=e[0],i=e[1]):(t=e.lng,i=e.lat);const r=[t,i];let n;return[(n=s.isCustomWKID(this._wkid)?s.projectPoints({points:[r],originWKID:4326,targetWKID:this._wkid})[0]:this._proj.forward(r))[0],n[1]]}unproject(e){let t,i;Array.isArray(e)?(t=e[0],i=e[1]):(t=e.x,i=e.y);const r=[t,i];let n;return[(n=s.isCustomWKID(this._wkid)?s.projectPoints({points:[r],originWKID:this._wkid,targetWKID:4326})[0]:this._proj.inverse([t,i]))[0],n[1]]}},r=class extends e.CRS{_parseParams(e){this._crsType="proj4",this.epsgCode=e[0],this.code=this.epsgCode,this.def=e[1];const t=e[2]||{};this._parseOptions(t)}_parseOptions(e){if(super._parseOptions(e),this._resolutions=e.resolutions,Array.isArray(this._resolutions)){const e={};this._resolutions.forEach((t,i)=>{e[i]=t}),this._resolutions=e}if(!this._resolutions)throw new Error("自定义坐标系时,未设置分辨率数组");if(!this.origin)throw new Error("自定义坐标系时,未设置原点");this.tileSize=e.tileSize||256}_setProjection(){this.projection=new i(this.getEpsgCode(),{origin:this.origin,def:this.def})}}}else{const s=t;i=class extends e.Projection{constructor(e,t){super();const i=(t||{}).def;if(!i)throw new Error("自定义参考系必须指定参数系信息def");if(this._def=i,!s)throw new Error("proj4对象不存在,自定义投影必须引入proj4对象");const r=this._isProj4Obj(e);this._proj=r?e:this._projFromCodeDef(e,i)}project(e){let t,i;return Array.isArray(e)?(t=e[0],i=e[1]):(t=e.lng,i=e.lat),this._proj.forward([t,i])}unproject(e){let t,i;return Array.isArray(e)?(t=e[0],i=e[1]):(t=e.x,i=e.y),this._proj.inverse([t,i])}_projFromCodeDef(e,t){if(t)s.defs(e,t);else if(void 0===s.defs[e]){const t=e.split(":");if(t.length>3&&(e=`${t[t.length-3]}:${t[t.length-1]}`),void 0===s.defs[e])throw`No projection definition for code ${e}`}return s(e)}_isProj4Obj(e){return void 0!==e.inverse&&void 0!==e.forward}},r=class extends e.CRS{_parseParams(e){this._crsType="proj4",this.epsgCode=e[0],this.code=this.epsgCode,this.def=e[1];const t=e[2]||{};this._parseOptions(t)}_parseOptions(e){if(super._parseOptions(e),this._resolutions=e.resolutions,Array.isArray(this._resolutions)){const e={};this._resolutions.forEach((t,i)=>{e[i]=t}),this._resolutions=e}if(!this._resolutions)throw new Error("自定义坐标系时,未设置分辨率数组");if(!this.origin)throw new Error("自定义坐标系时,未设置原点");this.tileSize=e.tileSize||256}_setProjection(){this.projection=new i(this.getEpsgCode(),{origin:this.origin,def:this.def})}}}return e.Proj||(e.Proj={}),e.Proj.CRS=r,e.Proj.Projection=i,r}var p=u(n.a,r.Projection);const d="== != > < >= <= array at boolean case coalesce collator format image in interpolate interpolate-hcl interpolate-lab\nlength let literal match number number-format object step string to-boolean to-color to-number to-string var within";class y{static isMapboxExpression(e){return Array.isArray(e)&&e.length>0&&"string"==typeof e[0]&&d.indexOf(e[0])>-1}static convertLineStyle(e,t){switch(e){case"dash":case"esriSLSDash":return t?[4,3]:[3,4];case"dash-dot":case"esriSLSDashDot":return t?[4,3,1,3]:[3,4,0,4];case"dot":case"esriSLSDot":return t?[1,3]:[0,4];case"long-dash":case"esriSLSLongDash":return t?[8,3]:[7,4];case"long-dash-dot":case"esriSLSLongDashDot":return t?[8,3,1,3]:[7,4,0,4];case"long-dash-dot-dot":case"esriSLSDashDotDot":return t?[8,3,1,3,1,3]:[7,4,0,4,0,4];case"short-dash":case"esriSLSShortDash":return t?[4,1]:[3,2];case"short-dash-dot":case"esriSLSShortDashDot":return t?[4,1,1,1]:[3,2,0,2];case"short-dash-dot-dot":case"esriSLSShortDashDotDot":return t?[4,1,1,1,1,1]:[3,2,0,2,0,2];case"short-dot":case"esriSLSShortDot":return t?[1,1]:[0,2];case"solid":case"esriSLSSolid":case"none":default:return}}static convertToGeoJSON(e){let t=e;const i=t.geometry,s=i.spatialReference;return"4326"!==String(s.wkid)&&((t=e.clone()).geometry=r.Projection.project(i,new r.SpatialReference("EPSG:4326"))),e.additional&&e.additional.arc3&&(e.geometry=Object(r.editGeometryByArc3)(e.geometry,e.additional)),t.toGeoJSON()}static convertLngLatGeometry(e){return e&&e.spatialReference?e.spatialReference.isGeographic?e:r.Projection.project(e,new r.SpatialReference("EPSG:4326")):e}static convertClippingArea(e){if(!e)return e;let t=null;switch(e.type){case r.GeometryType.polygon:case r.GeometryType.multiPolygon:t=y.convertLngLatGeometry(e).toGeoJSON();break;case r.GeometryType.circle:t=y.convertLngLatGeometry(e).toPolygon().toGeoJSON();break;case r.GeometryType.extent:t=y.convertLngLatGeometry(e).toPolygon().toGeoJSON();break}return t}static applyVisibleAndOpacityToColor(e,t,i){const s=r.Color.fromColor(e).clone(),n=i*(t?1:0);return s.alpha*=n,s}static createCRSByLayer(e){e&&e.spatialReference||r.Log.error("计算crsOptions错误");const t=r.TileInfoUtil.getTileInfoByLayer(e),i=e.spatialReference,s=t.origin.coordinates,n=e.extent,a={};t.lods.map(e=>e.clone()).forEach(e=>{a[e.level]=e.resolution});const o=`EPSG:${i.wkid}`,l=i.wkt;return new p(o,l,{resolutions:a,origin:[s[0],s[1]],tileSize:t.getTileSize(),bounds:[n.xmin,n.ymin,n.xmax,n.ymax],unit:i.isGeographic?"degree":void 0})}}var m=y;class g{}g.addIGSTileLayer=function(e,t){t=t||{};const i=e.layer,r=e.innerView;t.layerView=e;const s=g.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},g.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView;let s={igsVersion:e._igsVersion,tokenKey:e.tokenKey,tokenValue:e.tokenValue};const{extensionOptions:n={}}=e;s=Object.assign(s,n);const a=`source_${e.id}`,o=`layer_${e.id}`,l=c(g.initLayerUrl(e.url,s),e.tileSize,null,null,null,t.clippingArea),u=h(o,a,e,i),[p,d]=r.TileInfoUtil.getLevelRangeByTileInfo(e.tileInfo);l.minzoom=p,l.maxzoom=d,l.crs=m.createCRSByLayer(e);const y={};return y[a]=l,{sources:y,layers:[u]}},g.initLayerUrl=function(e,t){return"1.0"===t.igsVersion?(e+="/{z}/{y}/{x}",t.tokenKey&&t.tokenValue&&(e+=`?${t.tokenKey}=${t.tokenValue}`)):(e=`${e}/tileImage/{z}/{y}/{x}?f=image`,t.tokenKey&&t.tokenValue&&(e+=`&${t.tokenKey}=${t.tokenValue}`)),e},g.setVisible=function(e){a(e)},g.setOpacity=function(e){l(e)},g.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=g.addIGSTileLayer(e,{})},g.removeLayer=function(e){o(e)};var f=g;class v{}v.addArcGISTileLayer=function(e,t){t=t||{};const i=e.layer,r=e.innerView;t.layerView=e;const s=v.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},v.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView;let r={tokenKey:e.tokenKey,tokenValue:e.tokenValue};const{extensionOptions:s={}}=e;r=Object.assign(r,s);const n=`source_${e.id}`,a=`layer_${e.id}`,o=c(v.initLayerUrl(e.url,r),e.tileSize,null,null,null,t.clippingArea);o.crs=m.createCRSByLayer(e);const l=h(a,n,e,i),u={};return u[n]=o,{sources:u,layers:[l]}},v.initLayerUrl=function(e,t){return e+="/tile/{z}/{y}/{x}",t.tokenKey&&t.tokenValue&&(e+=`?${t.tokenKey}=${t.tokenValue}`),e},v.setVisible=function(e){a(e)},v.setOpacity=function(e){l(e)},v.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=v.addArcGISTileLayer(e,{})},v.removeLayer=function(e){o(e)};var _=v;class b{}b.addArcGISMapImageLayer=function(e){const t=e.layer,i=e.innerView,r={};r.layerView=e;const s=b.getSourcesAndStyleLayers(t,r);Q(s,i);const n=i.getLayer(s.layers[0].id);return n.sourceID=n.source,n},b.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView,{extensionOptions:s={}}=e;let n={layers:e.layers,width:e.imageWidth,height:e.imageHeight,tokenKey:e.tokenKey,tokenValue:e.tokenValue,format:e.imageFormat,imageSR:Object(r.getProjectionSrs)(e.spatialReference),transparent:e.imageTransparency,httpMethod:"GET",header:{}};e.httpMethod&&(n.httpMethod=e.httpMethod),e.headers&&(n.headers=JSON.parse(JSON.stringify(e.headers))),n=Object.assign(n,s);const a=`source_${e.id}`,o=`layer_${e.id}`,l=b.initLayerUrl(e.url,n),u=c(l.url,e.imageWidth,e.renderMode,void 0,l),p=h(o,a,e,i),d={};return d[a]=u,{sources:d,layers:[p]}},b.initAllRequestParams=function(e){const t=[];return(e=Object(r.defaultValue)(e,{})).hasOwnProperty("layers")&&t.push(`layers=${e.layers}`),e.hasOwnProperty("transparent")&&t.push(`transparent=${e.transparent}`),e.hasOwnProperty("imageSR")&&t.push(`imageSR=${e.imageSR}`),e.hasOwnProperty("tokenKey")&&e.hasOwnProperty("tokenValue")&&e.tokenValue&&t.push(`${e.tokenKey}=${e.tokenValue}`),t.push(`size=${e.width},${e.height}`),t.push(`format=${e.format}`),t.push("f=image"),e.extensions&&e.extensions instanceof Array&&e.extensions.forEach(e=>{e.key&&e.value&&t.push(`${e.key}=${e.value}`)}),t},b.initLayerUrl=function(e,t){let i=`${e}/export`;const r=b.initAllRequestParams(t);let s={};if("POST"===t.httpMethod){const e={};r.forEach(t=>{if(t&&t.includes("=")){const i=t.split("=");2===i.length&&(e[i[0]]=i[1])}}),e.bbox="0,0,0,0",s={url:i,data:e,method:t.httpMethod}}else i+="?bbox={bbox}",s={url:i+=encodeURI(r.join("&")),method:t.httpMethod};return t.headers&&(s.headers=t.headers),s},b.setVisible=function(e){a(e)},b.setOpacity=function(e){l(e)},b.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=b.addArcGISMapImageLayer(e,{})},b.removeLayer=function(e){o(e)};var w=b;class S{}S.addWMTSLayer=function(e,t){const i=e.layer,r=e.innerView;(t=t||{}).layerView=e;const s=S.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},S.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView,{activeLayer:s}=e;let n={service:"WMTS",version:e.version,request:"GetTile",layer:s.identifier,style:s.styleId,format:s.imageFormat,tileMatrixSet:s.tileMatrixSetId,tileMatrix:"{z}",tileRow:"{y}",tileCol:"{x}",tokenKey:e.tokenKey,tokenValue:e.tokenValue};n.version||(n.version="1.0.0");const{extensionOptions:a={}}=e;n=Object.assign(n,a);const o=e.getCurrentTileInfo(),l=o.size[0],u=`source_${e.id}`,p=`layer_${e.id}`,d=c(S.initLayerUrl(e.url,n),l,null,null,null,t.clippingArea),y=h(p,u,e,i),[g,f]=r.TileInfoUtil.getLevelRangeByTileInfo(o);d.minzoom=g,d.maxzoom=f,d.crs=m.createCRSByLayer(e);const v={};return v[u]=d,{sources:v,layers:[y]}},S.initAllRequestParams=function(e){e=Object(r.defaultValue)(e,{});const t=[];return t.push(`service=${e.service}`),t.push(`version=${e.version}`),t.push(`request=${e.request}`),t.push(`layer=${encodeURIComponent(e.layer)}`),t.push(`style=${encodeURIComponent(e.style)}`),t.push(`format=${encodeURIComponent(e.format)}`),t.push(`tileMatrixSet=${encodeURIComponent(e.tileMatrixSet)}`),t.push(`tileMatrix=${e.tileMatrix}`),t.push(`tileRow=${e.tileRow}`),t.push(`tileCol=${e.tileCol}`),e.hasOwnProperty("tokenKey")&&e.hasOwnProperty("tokenValue")&&e.tokenValue&&t.push(`${e.tokenKey}=${e.tokenValue}`),t},S.initLayerUrl=function(e,t){let i=`${e}?`;return i+=S.initAllRequestParams(t).join("&")},S.setVisible=function(e){a(e)},S.setOpacity=function(e){l(e)},S.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=S.addWMTSLayer(e,{})},S.removeLayer=function(e){o(e)};var x=S;class L{}L.addWMSLayer=function(e,t){const i=e.layer,r=e.innerView;(t=t||{}).layerView=e;const s=L.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},L.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView;let r={service:"WMS",version:e.version,request:"GetMap",layers:e.layers,styles:e.styles,width:e.imageWidth,height:e.imageHeight,format:e.imageFormat,transparent:e.imageTransparency,crs:`EPSG:${e.spatialReference.wkid}`,tokenKey:e.tokenKey,tokenValue:e.tokenValue};const{extensionOptions:s={}}=e;r=Object.assign(r,s);const n=`source_${e.id}`,a=`layer_${e.id}`,o=c(L.initLayerUrl(e.url,r),e.imageWidth,null,null,null,t.clippingArea),l=h(a,n,e,i),u={};return u[n]=o,{sources:u,layers:[l]}},L.initAllRequestParams=function(e){e=Object(r.defaultValue)(e,{});const t=[];return t.push(`service=${e.service}`),t.push(`version=${e.version}`),t.push(`request=${e.request}`),t.push(`layers=${e.layers}`),t.push(`width=${e.width}`),t.push(`height=${e.height}`),t.push(`format=${e.format}`),t.push(`transparent=${e.transparent}`),e.styles?t.push(`styles=${e.styles}`):t.push("styles="),"1.1.1"===e.version?t.push(`srs=${e.crs}`):"1.3.0"===e.version&&t.push(`crs=${e.crs}`),e.hasOwnProperty("tokenKey")&&e.hasOwnProperty("tokenValue")&&e.tokenValue&&t.push(`${e.tokenKey}=${e.tokenValue}`),t},L.initLayerUrl=function(e,t){let i=`${e}?`;return i+=encodeURI(L.initAllRequestParams(t).join("&")),i+="&bbox={bbox}"},L.setVisible=function(e){a(e)},L.setOpacity=function(e){l(e)},L.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=L.addWMSLayer(e,{})},L.removeLayer=function(e){o(e)};var V=L;class k{}k.addWebTileLayer=function(e,t){const i=e.layer,r=e.innerView;(t=t||{}).layerView=e;const s=k.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},k.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView;let s={};s[e.tokenKey]=e.tokenValue;const{extensionOptions:n={}}=e;s=Object.assign(s,n);const a=k.initLayerUrl(e.url,s),o=`source_${e.id}`,l=`layer_${e.id}`,u=c(a,e.tileSize,"",e.subDomains,null,t.clippingArea),[p,d]=r.TileInfoUtil.getLevelRangeByTileInfo(e.tileInfo);u.minzoom=p,u.maxzoom=d,u.crs=m.createCRSByLayer(e),"tms"===e.tileSliceType&&(u.scheme="tms");const y=h(l,o,e,i),g={};return g[o]=u,{sources:g,layers:[y]}},k.initLayerUrl=function(e,t){return(e=(e=(e=e.replace("col","x")).replace("row","y")).replace("level","z")).indexOf("?")<0&&(e+="?"),Object.keys(t).forEach(function(i){t[i]&&(e+=`&${i}=${t[i]}`)}),e},k.setVisible=function(e){a(e)},k.setOpacity=function(e){l(e)},k.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=k.addWebTileLayer(e,{})},k.removeLayer=function(e){o(e)};var C=k;const E=2e3;var P=class{constructor(e){this.innerView=e,this.cacheImageDetla={},this.imageCount=0}getIconScale(e,t,i){if(this.cacheImageDetla[e]){const{width:r,height:s}=this.cacheImageDetla[e];return r&&s?Math.max(t/(r||1),i/(s||1)):.001}return.001}hasImageCacheDetla(e){return!!this.cacheImageDetla[e]}loadImage(e,t,i){i=i||{};const r=this.innerView;return new Promise(s=>{r.loadImage(t,(t,n)=>{r.hasImage(e)?r.removeImage(e):this.imageCount++,t&&(i.notLoaded=!0,console.error("mapboxgl引擎loadImage方法加载图片资源加载失败"));const a=n||new Image(1,1),o={};i.pfsScale&&i.pfsSize&&(o.pixelRatio=Math.max(a.width,a.height)/i.pfsSize*i.pfsScale),r.addImage(e,a,o),s({id:e,width:a.width,height:a.height,keyObjects:i})})})}updateImage(e,t,i){i=i||{};const r=this.innerView;if(!e||!t)return Promise.resolve(null);if(this._shouldUpdateImage(e,t,i))return this.cacheImageDetla[e]={imageSource:t,totalUpdateCount:1},this.loadImage(e,t,i).then(t=>{if(this.cacheImageDetla[e])return this.cacheImageDetla[e].width=t.width,this.cacheImageDetla[e].height=t.height,this.cacheImageDetla[e].keyObjects=i,this.cacheImageDetla[e]});if(this.cacheImageDetla[e]&&this.cacheImageDetla[e].totalUpdateCount++,this.imageCount>E){const e=Object.entries(this.cacheImageDetla).sort((e,t)=>e[1].totalUpdateCount-t[1].totalUpdateCount);for(let t=0;t<e.length;t++){const[i,s]=e[t];t<Math.floor(e.length/2)?(r.hasImage(i)&&(r.removeImage(i),this.imageCount--),delete this.cacheImageDetla[i]):s.totalUpdateCount=1}}return Promise.resolve(null)}_shouldUpdateImage(e,t,i){const r=this.cacheImageDetla[e];return!r||r&&(r.imageSource!==t||JSON.stringify(r.keyObjects)!==JSON.stringify(i))}};function T(e,t,i,r){for(;t.findIndex(e=>i.some(t=>t===e))>-1;){r.index+=1;const s=`calc_${r.index}`,n=t.findIndex(e=>i.some(t=>t===e)),a=e[t[n-1]]||(r.isNum?parseFloat(t[n-1]):t[n-1]),o=e[t[n+1]]||(r.isNum?parseFloat(t[n+1]):t[n+1]);e[s]=[t[n],a,o],r.key=s,r.expression=t.splice(n-1,3,s)}}function O(e,t,i){if(e)return i?["to-number",["get",e]]:["get",e];const r=function(e,t){try{let i=e;const r=i.replace(/\s/g,"").match(/\$feature\.[^+-/*%>=<]+/g);if(!r||0===r.length)return null;const s={},n={index:0,key:null,isNum:t};r.forEach(e=>{n.index+=1;const r=`calc_${n.index}`;n.key=r,s[r]=t?["to-number",["get",e.split(".")[1]]]:["get",e.split(".")[1]],i=i.replace(e,`${r}`)});const a=i.match(/>=|<=|==|\+|-|\*|\/|>|<|=/);a&&a.length>0&&a.forEach(e=>{i=i.replace(e,` ${e} `)});const o=i.split(" ").filter(e=>""!==e);if(T(s,o,["*","/","%"],n),T(s,o,["+","-"],n),T(s,o,["<","<=",">",">="],n),T(s,o,["=="],n),n.key)return s[n.key]}catch(e){}}(t,i);return r||["get","undefined"]}function I(e,t,i,s,n,a){let o="";switch(a=a||{},e.type){case r.SymbolType.simpleLine:e instanceof r.SimpleLineSymbol||(e=new r.SimpleLineSymbol),function(e,t,i,s,n,a){const o=r.Color.fromColor(i.color);e["line-color"]=o.toCssRGBAString(),e["line-opacity"]=n,e["line-width"]=i.width,t["line-cap"]=i.cap,t["line-miter-limit"]=i.miterLimit,t["line-join"]=i.join;const l=m.convertLineStyle(i.style,"butt"===i.cap);l&&(e["line-dasharray"]=l),t.visibility=s?"visible":"none"}(t,i,e,s,n),o="line";break;case r.SymbolType.simpleFill:e instanceof r.SimpleFillSymbol||(e=new r.SimpleFillSymbol),function(e,t,i,s,n,a){const o=r.Color.fromColor(i.color),l=r.Color.fromColor(i.outline.color);if("solid"!==i.style&&i.style){const t=a.imageSourceManager;if(!t)throw new Error("mapboxgl转换图标符号时,未传入图片资源管理类");e["fill-pattern"]=i.id;const s=Object(r.createSimpleFillSymbolCanvas)(i,{lineWidth:1}).toDataURL();t.updateImage(i.id,s,{pattern:i.style,color:o.toCssRGBAString()})}else e["fill-color"]=o.toCssRGBAString();e["fill-opacity"]=n,e["fill-outline-color"]=l.toCssRGBAString(),t.visibility=s?"visible":"none"}(t,i,e,s,n,a),o="fill";break;case r.SymbolType.simpleMarker:e instanceof r.SimpleMarkerSymbol||(e=new r.SimpleMarkerSymbol),function(e,t,i,s,n,a){const o=i.xoffset,l=i.yoffset;e["circle-translate"]=[parseFloat(o),parseFloat(l)];const c=r.Color.fromColor(i.color);e["circle-opacity"]=n,e["circle-color"]=c.toCssRGBAString();const h=r.Color.fromColor(i.outline.color);e["circle-stroke-color"]=h.toCssRGBAString(),e["circle-stroke-opacity"]=n,e["circle-stroke-width"]=i.outline.width,e["circle-radius"]=i.size/2,t.visibility=s?"visible":"none"}(t,i,e,s,n),o="circle";break;case r.SymbolType.text:e instanceof r.TextSymbol||(e=new r.TextSymbol),function(e,t,i,s,n,a){const o=r.Color.fromColor(i.color),l=r.Color.fromColor(i.haloColor);switch(e["text-color"]=o.toCssRGBAString(),e["text-opacity"]=n,e["text-halo-color"]=l.toCssRGBAString(),e["text-halo-width"]=i.haloSize,t["text-field"]=i.text||"",t.visibility=s?"visible":"none",t["text-allow-overlap"]=!1,t["text-font"]=[i.font.family],t["text-size"]=i.font.size,t["text-justify"]=i.horizontalAlignment,t["text-letter-spacing"]=i.kerning?.1:0,t["text-rotate"]=i.rotated&&0!==i.angle?i.angle:0,t["text-offset"]=[i.xoffset,i.yoffset],t["text-line-height"]=i.lineHeight?1.2:0,t["text-max-width"]=Object(r.defaultValue)(i.lineWidth,192),t["text-anchor"]="center",i.verticalAlignment){case"top":switch(i.horizontalAlignment){case"left":t["text-anchor"]="top-left";break;case"right":t["text-anchor"]="top-right";break;default:t["text-anchor"]="top"}break;case"bottom":switch(i.horizontalAlignment){case"left":t["text-anchor"]="bottom-left";break;case"right":t["text-anchor"]="bottom-right";break;default:t["text-anchor"]="bottom"}break;default:switch(i.horizontalAlignment){case"left":t["text-anchor"]="left";break;case"right":t["text-anchor"]="right";break;default:t["text-anchor"]="center"}}}(t,i,e,s,n),o="symbol";break;case r.SymbolType.pictureMarker:e instanceof r.PictureMarkerSymbol||(e=new r.PictureMarkerSymbol),function(e,t,i,s,n,a){const o=(a=a||{}).imageSourceManager;if(!o)throw new Error("mapboxgl转换图标符号时,未传入图片资源管理类");const l=r.Color.fromColor(i.color);e["icon-color"]=l.toCssRGBAString(),e["icon-opacity"]=n,t["icon-allow-overlap"]=!1,t["icon-rotate"]=i.angle,t["icon-image"]=i.id,t["icon-offset"]=[i.xoffset,i.yoffset],t["icon-size"]=o.getIconScale(i.id,i.width,i.height),t.visibility=s?"visible":"none",o.updateImage(i.id,i.url).then(e=>{e&&a.updateState&&a.updateState()})}(t,i,e,s,n,a),o="symbol";break;case r.SymbolType.pictureFill:e instanceof r.PictureFillSymbol||(e=new r.PictureFillSymbol),function(e,t,i,s,n,a){const o=(a=a||{}).imageSourceManager;if(!o)throw new Error("mapboxgl转换图片填充符号时,未传入图片资源管理类");const l=r.Color.fromColor(i.outline.color);e["fill-pattern"]=i.id,e["fill-opacity"]=n,e["fill-translate"]=[i.xoffset,i.yoffset],e["fill-outline-color"]=l.toCssRGBAString(),t.visibility=s?"visible":"none";const c=Math.max(i.xscale,i.yscale),h=Math.max(i.width,i.height);o.updateImage(i.id,i.url,{pfsSize:h,pfsScale:c})}(t,i,e,s,n,a),o="fill"}return o}function M(e,t,i,s,n,a){const o=[],l=function(e,t){(t=Object(r.defaultValue)(t,{})).opacity=Object(r.defaultValue)(t.opacity,1);const i=e.clusterInfos,s=e.defaultSymbol,n={"circle-color":["step",["get","point_count"]],"circle-opacity":["step",["get","point_count"]],"circle-radius":["step",["get","point_count"]],"circle-stroke-color":["step",["get","point_count"]],"circle-stroke-opacity":["step",["get","point_count"]],"circle-stroke-width":["step",["get","point_count"]]};for(let e=0;e<i.length;e++){const s=r.Color.fromColor(i[e].symbol.color);n["circle-color"].push(s.toCssRGBAString()),n["circle-color"].push(i[e].maxValue),n["circle-opacity"].push(s.alpha*t.opacity),n["circle-opacity"].push(i[e].maxValue),n["circle-radius"].push(i[e].symbol.size),n["circle-radius"].push(i[e].maxValue);const a=r.Symbol.fromJSON(i[e].symbol.outline);n["circle-stroke-color"].push(a.color.toCssRGBAString()),n["circle-stroke-color"].push(i[e].maxValue),n["circle-stroke-opacity"].push(a.color.alpha*t.opacity),n["circle-stroke-opacity"].push(i[e].maxValue),n["circle-stroke-width"].push(a.width),n["circle-stroke-width"].push(i[e].maxValue)}const a=r.Color.fromColor(s.color);n["circle-color"].push(a.toCssRGBAString()),n["circle-opacity"].push(1),n["circle-radius"].push(s.size);const o=r.Symbol.fromJSON(s.outline);return n["circle-stroke-color"].push(o.color.toCssRGBAString()),n["circle-stroke-opacity"].push(1),n["circle-stroke-width"].push(o.width),n}(t,{opacity:n});o.push({id:`${e}_cluster`,type:"circle",source:e,filter:["has","point_count"],paint:l,layout:{visibility:s?"visible":"none"}});const c=function(e){const t=e.clusterInfos,i=e.defaultLabelSymbol;let s="宋体";for(let e=0;e<t.length;e++){const i=r.Symbol.fromJSON(t[e].labelSymbol);i&&i.font&&i.font.family&&(s=i.font.family)}!s&&i&&i.font&&i.font.family&&(s=i.font.family);const n={"text-field":"{point_count}","text-font":[s,s],"text-size":["step",["get","point_count"]]};for(let e=0;e<t.length;e++){const i=r.Symbol.fromJSON(t[e].labelSymbol);n["text-size"].push(i.font.size),n["text-size"].push(t[e].maxValue)}let a=30;return i&&i.font&&i.font.size&&(a=i.font.size),n["text-size"].push(a),n}(t);c.visibility=s?"visible":"none";const h=function(e,t){(t=Object(r.defaultValue)(t,{})).opacity=Object(r.defaultValue)(t.opacity,1);const i=e.clusterInfos,s={"text-opacity":1};for(let e=0;e<i.length;e++){const n=r.Symbol.fromJSON(i[e].labelSymbol);s["text-opacity"]=n.color.alpha*t.opacity}return s}(t,{opacity:n,visible:s});return o.push({id:`${e}_cluster_count`,type:"symbol",source:e,filter:["has","point_count"],layout:c,paint:h}),t.defaultSymbol&&o.push({id:`${e}_unclustered_point`,type:"circle",source:e,filter:["!",["has","point_count"]],paint:function(e,t){(t=Object(r.defaultValue)(t,{})).opacity=Object(r.defaultValue)(t.opacity,1);const i=e.defaultSymbol,s=r.Color.fromColor(i.color),n=r.Symbol.fromJSON(i.outline),a=r.Color.fromColor(n.color);return{"circle-opacity":s.alpha*t.opacity,"circle-color":s.toCssRGBAString(),"circle-radius":i.size,"circle-stroke-width":n.width,"circle-stroke-color":a.toCssRGBAString(),"circle-stroke-opacity":a.alpha*t.opacity}}(t,{visible:s,opacity:n}),layout:{visibility:s?"visible":"none"}}),o}function A(e,t,i,r,s,n){const a=[];if(!t)return;const o=O(t.field,t.valueExpression);return[{visible:t.defaultVisible,symbol:t.defaultSymbol,value:null}].concat(t.uniqueValueInfos).forEach(i=>{const l=i.visible,c=i.value,h=i.symbol;if(!h)return;const u={},p={},d=I(h,u,p,r&&l,s,n);let y=["==",o,c];if(t.defaultSymbol&&h.id===t.defaultSymbol.id){const e=t.uniqueValueInfos.map(e=>e.value);0===e.length?y=null:(y=["match",o],e.forEach(e=>{y.push(e,!1)}),y.push(!0))}if(d){const t={id:h.id,type:d,paint:u,layout:p,source:e};y&&(t.filter=y),a.push(t)}}),a}function j(e,t,i,s,n,a){if(!(a=a||{}).featureSet)throw new Error("随机专题图要素数据集参数未传入");return A(e,function(e,t){const i=t.features;let s=e.field;if(!s){const e=Object.keys(i[0].attributes);for(let t=0;t<e.length;t++)if("oid"===e[t].toLowerCase()){s=e[t];break}s=e[0]}const n=[];for(let e=0;e<i.length;e++){let t;switch(i[e].geometry.type){case r.GeometryType.polygon:case r.GeometryType.multiPolygon:case r.GeometryType.extent:case r.GeometryType.circle:default:t={value:i[e].attributes[s],symbol:new r.SimpleFillSymbol({id:i[e].id,color:new r.Color(parseInt(255*Math.random()),parseInt(255*Math.random()),parseInt(255*Math.random()),1)})};break;case r.GeometryType.lineString:case r.GeometryType.multiLineString:t={value:i[e].attributes[s],symbol:new r.SimpleLineSymbol({id:i[e].id,color:new r.Color(parseInt(255*Math.random()),parseInt(255*Math.random()),parseInt(255*Math.random()),1),width:3})};break;case r.GeometryType.point:case r.GeometryType.multiPoint:t={value:i[e].attributes[s],symbol:new r.SimpleMarkerSymbol({id:i[e].id,color:new r.Color(parseInt(255*Math.random()),parseInt(255*Math.random()),parseInt(255*Math.random()),1)})}}n.push(t)}return new r.UniqueValueRenderer({field:s,uniqueValueInfos:n})}(t,a.featureSet),0,s,n,a)}function R(e,t,i,s,n,a){let o=[];if(a=a||{},!t||!i)return o;switch(t.type){case r.RendererType.simple:o=function(e,t,i,r,s,n){const a=[];if(!t||!t.symbol)return;const o={},l={},c=I(t.symbol,o,l,r,s,n);return c&&a.push({id:t.symbol.id,type:c,paint:o,layout:l,source:e}),a}(e,t,0,s,n,a);break;case r.RendererType.classBreak:o=function(e,t,i,r,s,n){const a=[];if(!t)return;const o=O(t.field,t.valueExpression,!0),l=t.classBreakInfos.map(e=>e);let c;l.sort((e,t)=>e.maxValue-t.maxValue);const h=[];return l.forEach(e=>{const{minValue:t,maxValue:i}=e;if(t>i)throw new Error("分段专题图分段信息错误,最大值小于最小值");if(void 0===c)c=i;else{if(t<c)throw new Error("分段专题图分段信息错误,相邻分段值重叠");t!==c&&h.push(["all",[">=",o,c],["<",o,t]])}}),0!==l.length&&(h.unshift(["<",o,l[0].minValue]),h.push([">=",o,l[l.length-1].maxValue])),[{visible:t.defaultVisible,symbol:t.defaultSymbol,maxValue:NaN,minValue:NaN}].concat(l).forEach(i=>{const l=i.visible,c=i.maxValue,u=i.minValue,p=i.symbol;if(!p)return;const d={},y={},m=I(p,d,y,r&&l,s,n);let g=["all",[">=",o,u],["<",o,c]];if(t.defaultSymbol&&p.id===t.defaultSymbol.id&&(g=0===h.length?null:["any"].concat(h)),m){const t={id:p.id,type:m,paint:d,layout:y,source:e};g&&(t.filter=g),a.push(t)}}),a}(e,t,0,s,n,a);break;case r.RendererType.uniqueValue:o=A(e,t,0,s,n,a);break;case r.RendererType.rank:o=function(e,t,i,s,n,a){const o=[];if(!t||!t.symbol)return;const l=a.imageSourceManager;if(!l)throw new Error("mapboxgl转换图片填充符号时,未传入图片资源管理类");const c={},h={},u=t.symbol,p=I(u,c,h,s,n,a);if(p){const i={id:u.id,type:p,paint:c,layout:h,source:e},{minSize:s,maxSize:n,maxDataValue:a,minDataValue:d,field:y,valueExpression:m}=t;if(void 0===a||void 0===d)throw new Error("mapboxgl上等级符号渲染器必须设置maxDataValue,minDataValue最大最小数据值");const g=O(y,m,!0);switch(u.type){case r.SymbolType.pictureMarker:i.layout["icon-size"]=["interpolate",["linear"],g,d,l.getIconScale(u.id,s,s),a,l.getIconScale(u.id,n,n)];break;case r.SymbolType.text:i.layout["text-size"]=["interpolate",["linear"],g,d,s,a,n];break;case r.SymbolType.simpleMarker:i.paint["circle-radius"]=["interpolate",["linear"],g,d,s/2,a,n/2]}o.push(i)}return o}(e,t,0,s,n,a);break;case r.RendererType.random:o=j(e,t,0,s,n,a);break;case r.RendererType.cluster:o=M(e,t,0,s,n);break;default:r.Log.error("未定义的Renderer类型")}return o}var D=class{constructor(e){e=Object(r.defaultValue)(e,{}),this.sourceId=e.sourceId,this.featureCollection=e.featureCollection,this.layerId=e.layerId,this.renderType=e.renderType,this.mapboxglStyleType=e.mapboxglStyleType,this._sourceDirty=!0,this._styleLayerDirty=!0}setDirty(e){this._sourceDirty=e,this._styleLayerDirty=e}getDirty(){return this._sourceDirty||this._styleLayerDirty}setSourceDirty(e){this._sourceDirty=e}getSourceDirty(){return this._sourceDirty}setStyleLayerDirty(e){this._styleLayerDirty=e}getStyleLayerDirty(){return this._styleLayerDirty}};var z=class{constructor(e){e=Object(r.defaultValue)(e,{}),this.id=e.id||Object(r.getGUID)(),this._opacity=e.opacity||1,this._visible=e.visible||!0,this._isLoaded=!1,this.renderTypes=["fill","line","circle","text","icon","fill-picture"],this._sourceMetaDatas={},this.renderTypes.forEach(e=>{const t={};t.sourceId=`${this.id}_${e}`,t.featureCollection=[],t.layerId=`${this.id}_${e}_layer`,t.renderType=e;let i=e;"text"!==i&&"icon"!==i||(i="symbol"),"fill-picture"===i&&(i="fill"),t.mapboxglStyleType=i,this._sourceMetaDatas[e]=new D(t)})}onAdd(e){if(!e)return;this._map=e;const t=this;return this._imageSourceManager=new P(e),new Promise(i=>{let r;const s=()=>{t._isLoaded||(Q(t._getSourcesAndLayers(),e),t._isLoaded=!0,t._refreshSourceAndLayers()),i(this),r&&clearInterval(r)};e.loaded()?s():(e.once("load",s),r=setInterval(()=>{e.loaded()&&s()},16))})}_getSourcesAndLayers(){const e={},t=[];return this.renderTypes.forEach(i=>{const r=this._sourceMetaDatas[i];"text"!==i&&"icon"!==i||(i="symbol"),"fill-picture"===i&&(i="fill"),e[r.sourceId]={type:"geojson",data:{type:"FeatureCollection",features:[]}},t.push({id:r.layerId,source:r.sourceId,type:i})}),{sources:e,layers:t}}onRemove(e){e&&this._isLoaded&&this.renderTypes.forEach(t=>{const i=this._sourceMetaDatas[t];e.removeLayer(i.layerId),e.removeSource(i.sourceId)})}getStyleLayerIds(){const e=[];return this.renderTypes.forEach(t=>{const i=this._sourceMetaDatas[t];e.push(i.layerId)}),e}add(e){this._map&&this._isLoaded&&(Array.isArray(e)?e.forEach(e=>{this._updateGraphicToCollection(e)}):this._updateGraphicToCollection(e),this._refreshSourceAndLayers())}_removeGraphicsToCollection(e){const t=Object.values(this._sourceMetaDatas);for(let i=0;i<t.length;i++){const r=t[i],{featureCollection:s}=r,n=[];for(let t=0;t<s.length;t++){const i=s[t];e.indexOf(i)>-1&&n.push(t)}n.length>0&&(r.featureCollection=s.filter((e,t)=>-1===n.indexOf(t)),r.setSourceDirty(!0))}}update(e,t){if(!this._map||!this._isLoaded)return;if(!e)return;const i=Array.isArray(e)?e:[e];for(let e=0;e<i.length;e++){const r=i[e],s=t[e]||{},n=this._updateGraphicToCollection(r);n&&(s.geometryUpdated&&n.setSourceDirty(!0),s.symbolUpdated&&n.setStyleLayerDirty(!0))}this._refreshSourceAndLayers()}_updateGraphicToCollection(e){let t;if(e&&e instanceof r.Feature){if(e.geometry){switch(e.geometry.type){case r.GeometryType.multiPoint:case r.GeometryType.point:t=this._dividePointGraphic(e);break;case r.GeometryType.multiLineString:case r.GeometryType.lineString:t=this._dividePolylineGraphic(e);break;case r.GeometryType.extent:case r.GeometryType.circle:case r.GeometryType.multiPolygon:case r.GeometryType.polygon:t=this._dividePolygonGraphic(e)}return t}r.Log.error("几何不存在")}}remove(e){this._map&&this._isLoaded&&e&&(Array.isArray(e)?this._removeGraphicsToCollection(e):this._removeGraphicsToCollection([e]),this._refreshSourceAndLayers())}removeAll(){if(!this._map||!this._isLoaded)return;const e=Object.values(this._sourceMetaDatas);for(let t=0;t<e.length;t++){const i=e[t];i.featureCollection=[],i.setDirty(!0)}this._refreshSourceAndLayers()}_refreshSourceAndLayers(){const e=Object.keys(this._sourceMetaDatas);if(!e.some(e=>this._sourceMetaDatas[e].getDirty()))return!1;if(!this._map)return!1;const t=this._map;return e.forEach(e=>{const i=this._sourceMetaDatas[e];if(i.getStyleLayerDirty()&&(this.setSourceMetaDataStyle(i,!0),i.setStyleLayerDirty(!1)),i.getSourceDirty()){const{sourceId:e,featureCollection:r}=i;t.getSource(e).setData({type:"FeatureCollection",features:r.map(function(e){return m.convertToGeoJSON(e)})}),i.setSourceDirty(!1)}}),t._update(!0),!0}setSourceMetaDataStyle(e,t){const i={},r={},s={},{renderType:n}=e;switch(n){case"circle":this._setCircleStyle(e,r,s);break;case"line":this._setLineStyle(e,r,s);break;case"fill":this._setFillStyle(e,r,s);break;case"text":this._setTextStyle(e,r,s);break;case"icon":this._setIconStyle(e,r,s);break;case"fill-picture":this._setFillPictureStyle(e,r,s)}if(i.type=e.mapboxglStyleType,i.id=e.layerId,i.paint=r,i.layout=s,i.source=e.sourceId,t&&this._map&&this._map.style){const t=this._map.style,i=e.layerId,n=Object.entries(r),a=Object.entries(s);for(let e=0;e<n.length;e++)t.setPaintProperty(i,n[e][0],n[e][1]);for(let e=0;e<a.length;e++)t.setLayoutProperty(i,a[e][0],a[e][1])}return i}_setCircleStyle(e,t,i){const{layerId:s,featureCollection:n}=e,a=this._opacity,o=this._visible,l={"circle-color":{values:[],def:"#000000"},"circle-opacity":{values:[],def:1},"circle-stroke-color":{values:[],def:"#000000"},"circle-stroke-opacity":{values:[],def:1},"circle-stroke-width":{values:[],def:0},"circle-radius":{values:[],def:5}};n.forEach(e=>{const{id:t}=e;let i=e.symbol;i instanceof r.SimpleMarkerSymbol||(r.Log.info(`不支持类型为${i.type}的符号!`),i=new r.SimpleMarkerSymbol({id:i.id}));const s=m.applyVisibleAndOpacityToColor(i.color,o,a);l["circle-color"].values.push(t,s.toCssRGBString()),l["circle-opacity"].values.push(t,s.alpha);const n=m.applyVisibleAndOpacityToColor(i.outline.color,o,a);l["circle-stroke-color"].values.push(t,n.toCssRGBString()),l["circle-stroke-opacity"].values.push(t,n.alpha),l["circle-stroke-width"].values.push(t,i.outline.width),l["circle-radius"].values.push(t,i.size/2)}),this._setLayoutAndPaintCaches(s,l,{},t,i)}_setLineStyle(e,t,i){const{layerId:s,featureCollection:n}=e,a=this._opacity,o=this._visible,l={"line-color":{values:[],def:"#000000"},"line-width":{values:[],def:1},"line-opacity":{values:[],def:1}},c={"line-join":{values:[],def:"round"}};n.forEach(e=>{const{id:t}=e;let i=e.symbol;i instanceof r.SimpleLineSymbol||(r.Log.info(`不支持类型为${i.type}的符号!`),i=new r.SimpleLineSymbol({id:i.id}));const s=m.applyVisibleAndOpacityToColor(i.color,o,a);l["line-color"].values.push(t,s.toCssRGBString()),l["line-opacity"].values.push(t,s.alpha),l["line-width"].values.push(t,i.width),c["line-join"].values.push(t,i.join)}),this._setLayoutAndPaintCaches(s,l,c,t,i)}_setFillStyle(e,t,i){const{layerId:s,featureCollection:n}=e,a=this._opacity,o=this._visible,l={"fill-color":{values:[],def:"#ffffff"},"fill-opacity":{values:[],def:.25},"fill-outline-color":{values:[],def:"#000000"}};n.forEach(e=>{const{id:t}=e;let i=e.symbol;i instanceof r.SimpleFillSymbol||(r.Log.info(`不支持类型为${i.type}的符号!`),i=new r.SimpleFillSymbol({id:i.id}));const s=m.applyVisibleAndOpacityToColor(i.color,o,a),n=m.applyVisibleAndOpacityToColor(i.outline.color,o,a);l["fill-color"].values.push(t,s.toCssRGBString()),l["fill-opacity"].values.push(t,s.alpha),l["fill-outline-color"].values.push(t,n.toCssRGBAString())}),this._setLayoutAndPaintCaches(s,l,{},t,i)}_setTextStyle(e,t,i){const{layerId:s,featureCollection:n}=e,a=this._opacity,o=this._visible,l={"text-color":{values:[],def:"#000000"},"text-opacity":{values:[],def:1},"text-halo-color":{values:[],def:"#000000"},"text-halo-width":{values:[],def:0}},c={"text-field":{values:[],def:""},"text-size":{values:[],def:12},"text-justify":{values:[],def:"center"},"text-letter-spacing":{values:[],def:0},"text-rotate":{values:[],def:0}};n.forEach(e=>{const{id:t}=e;let i=e.symbol;i instanceof r.TextSymbol||(r.Log.info(`不支持类型为${i.type}的符号!`),i=new r.TextSymbol({id:i.id}));const s=m.applyVisibleAndOpacityToColor(i.color,o,a),n=m.applyVisibleAndOpacityToColor(i.haloColor,o,a);l["text-color"].values.push(t,s.toCssRGBString()),l["text-opacity"].values.push(t,s.alpha),l["text-halo-color"].values.push(t,n.toCssRGBAString()),l["text-halo-width"].values.push(t,i.haloSize),c["text-field"].values.push(t,i.text),c["text-allow-overlap"]=!1,c["text-font"]=[i.font.family,"微软雅黑"],c["text-size"].values.push(t,i.font.size),c["text-justify"].values.push(t,i.horizontalAlignment),c["text-letter-spacing"].values.push(t,i.kerning?.1:0),c["text-rotate"].values.push(t,i.rotated&&0!==i.angle?i.angle:0)}),this._setLayoutAndPaintCaches(s,l,c,t,i,["text-allow-overlap","text-font"])}_setIconStyle(e,t,i){const s=this._imageSourceManager,{layerId:n,featureCollection:a}=e,o=this._opacity,l=this._visible,c={"icon-color":{values:[],def:"#000000"},"icon-opacity":{values:[],def:1}},h={"icon-size":{values:[],def:.001},"icon-rotate":{values:[],def:0},"icon-image":{values:[],def:"marker-15"}},u=[];a.forEach(e=>{const{id:t}=e;let i=e.symbol;i instanceof r.PictureMarkerSymbol||(r.Log.info(`不支持类型为${i.type}的符号!`),i=new r.PictureMarkerSymbol({id:i.id}));const n=m.applyVisibleAndOpacityToColor(i.color,l,o);c["icon-color"].values.push(t,n.toCssRGBString()),c["icon-opacity"].values.push(t,n.alpha),h["icon-allow-overlap"]=!1;const a=i.id;h["icon-size"].values.push(t,s.getIconScale(a,i.width,i.height)),h["icon-image"].values.push(t,a),u.push({url:i.url,id:i.id,featureId:t,width:i.width,height:i.height})}),this._setLayoutAndPaintCaches(n,c,h,t,i,["icon-allow-overlap"]),u.forEach(t=>{s.updateImage(t.id,t.url).then(i=>{if(!i)return;const r=s.innerView,n=r.getLayer(e.layerId);if(!n)return;const a=n.getLayoutProperty("icon-size"),o=a.indexOf(t.featureId);o<=-1||o+1>=a.length||(a[o+1]=s.getIconScale(t.id,t.width,t.height),r.setLayoutProperty(e.layerId,"icon-size",a))})})}_setFillPictureStyle(e,t,i){const{layerId:s,featureCollection:n}=e,a=this._imageSourceManager,o=this._opacity,l=this._visible,c={"fill-opacity":{values:[],def:.25},"fill-pattern":{values:[],def:""},"fill-outline-color":{values:[],def:"#000000"}};n.forEach(e=>{const{id:t}=e;let i=e.symbol;i instanceof r.PictureFillSymbol||i instanceof r.SimpleFillSymbol||(r.Log.info(`不支持类型为${i.type}的符号!`),i=new r.PictureFillSymbol({id:i.id}));const s=i.type===r.SymbolType.pictureFill,n=m.applyVisibleAndOpacityToColor(i.color,l,o),h=m.applyVisibleAndOpacityToColor(i.outline.color,l,o);if(c["fill-opacity"].values.push(t,n.alpha),c["fill-outline-color"].values.push(t,h.toCssRGBAString()),c["fill-pattern"].values.push(t,i.id),s){const e=Math.max(i.xscale,i.yscale),t=Math.max(i.width,i.height);a.updateImage(i.id,i.url,{pfsSize:t,pfsScale:e})}else{const e=Object(r.createSimpleFillSymbolCanvas)(i,{lineWidth:1}).toDataURL();a.updateImage(i.id,e,{pattern:i.style,color:n.toCssRGBAString()})}}),this._setLayoutAndPaintCaches(s,c,{},t,i)}_setLayoutAndPaintCaches(e,t,i,r,s,n){n||(n=[]);for(const e in t)if(n.findIndex(t=>t===e)>-1)r[e]=t[e];else if(t[e].values.length>0){let i=[];i.push("match"),i.push(["get","id"]),(i=i.concat(t[e].values)).push(t[e].def),r[e]=i}else r[e]=t[e].def;for(const e in i)if(n.findIndex(t=>t===e)>-1)s[e]=i[e];else if(i[e].values.length>0){let t=[];t.push("match"),t.push(["get","id"]),(t=t.concat(i[e].values)).push(i[e].def),s[e]=t}else s[e]=i[e].def}_dividePointGraphic(e){const{symbol:t}=e;let i=!1,s=this._sourceMetaDatas.circle;switch(t.type){case r.SymbolType.simpleMarker:i=this._replaceSourceLayer(e,"circle"),s=this._sourceMetaDatas.circle;break;case r.SymbolType.text:i=this._replaceSourceLayer(e,"text"),s=this._sourceMetaDatas.text;break;case r.SymbolType.pictureMarker:i=this._replaceSourceLayer(e,"icon"),s=this._sourceMetaDatas.icon}if(!i){const{featureCollection:t}=s;t.push(e),s.setDirty(!0)}return s}_replaceSourceLayer(e,t){const i=this.renderTypes,r=this._hasGraphicInCollection(i,e);if(r){if(r.renderType===t)return!0;this._removeGraphicsToCollection([e])}return!1}_dividePolylineGraphic(e){const t=this._hasGraphicInCollection(["line"],e),i=this._sourceMetaDatas.line;if(!t){const{featureCollection:t}=i;t.push(e),i.setDirty(!0)}return i}_dividePolygonGraphic(e){let t=!1;const{symbol:i}=e;let s=this._sourceMetaDatas.fill,n=i.type;switch(n===r.SymbolType.simpleFill&&"solid"!==i.style&&(n=r.SymbolType.pictureFill),n){case r.SymbolType.simpleMarker:t=this._replaceSourceLayer(e,"circle"),s=this._sourceMetaDatas.circle;break;case r.SymbolType.text:t=this._replaceSourceLayer(e,"text"),s=this._sourceMetaDatas.text;break;case r.SymbolType.pictureMarker:t=this._replaceSourceLayer(e,"icon"),s=this._sourceMetaDatas.icon;break;case r.SymbolType.pictureFill:t=this._replaceSourceLayer(e,"fill-picture"),s=this._sourceMetaDatas["fill-picture"];break;case r.SymbolType.simpleFill:t=this._replaceSourceLayer(e,"fill"),s=this._sourceMetaDatas.fill}if(!t){const{featureCollection:t}=s;t.push(e),s.setDirty(!0)}return s}_hasGraphicInCollection(e,t){const i=Array.isArray(e)?e:[e];let r;for(let e=0;e<i.length;e++){const s=this._sourceMetaDatas[i[e]];if(!s)break;const{featureCollection:n}=s;if(n.indexOf(t)>-1){r=s;break}}return r}set opacity(e){this._opacity=e,this._updatePaintAndLayoutStyles()}get opacity(){return this._opacity}set visible(e){this._visible=e,this._updatePaintAndLayoutStyles()}get visible(){return this._visible}_updatePaintAndLayoutStyles(){const e=Object.values(this._sourceMetaDatas);for(let t=0;t<e.length;t++)e[t].setStyleLayerDirty(!0);this._refreshSourceAndLayers()}_getBottomLayer(){return this._sourceMetaDatas[this.renderTypes[0]]}};function G(e,t){const i=(t=t||{}).featureSet,s=t.mapboxglMap;if(!i||!s)throw new Error("featureSet或mapboxglMap对象缺失");const n=e.renderer,a={type:"geojson",data:i.toGeoJSON()};n instanceof r.ClusterRenderer&&(a.cluster=!0,a.clusterRadius=n.radius),G.imageSourceManager||(G.imageSourceManager=new P(s));const o={};o[e.id]=a;const l={featureSet:i,imageSourceManager:G.imageSourceManager,updateState:null},c=e._opacity,h=e.visible;return{sources:o,layers:R(e.id,n,e.geometryType,h,c,l)}}function B(e,t){const i=(t=t||{}).mapboxglMap;if(!i)throw new Error("featureSet或mapboxglMap对象缺失");B.imageSourceManager||(B.imageSourceManager=new P(i));const r=new z({id:e.id,opacity:e._opacity,visible:e.visible});r._imageSourceManager=B.imageSourceManager,e.graphics.forEach(e=>{r._updateGraphicToCollection(e)});const s={},n=[];return Object.entries(r._sourceMetaDatas).forEach(e=>{const t=e[1],{featureCollection:i,sourceId:a}=t;if(i.length<=0)return;s[a]={type:"geojson",data:{type:"FeatureCollection",features:i.map(function(e){return m.convertToGeoJSON(e)})}};const o=r.setSourceMetaDataStyle(t,!1);n.push(o)}),{layers:n,sources:s}}const $=window.mapv||{},{baiduMapLayer:F,DataSet:U}=$,N=F?F.__proto__:Function;var Z=class extends N{constructor(e,t,i,r){super(e,t,i),N&&(this.map=e,this.dataSet=t,i=i||{},this.init(i),this.argCheck(i),this.initDevicePixelRatio(),this.canvasLayer=r,this.stopAniamation=!1,this.animation=i.animation,this.mousemoveEvent=this.mousemoveEvent.bind(this),this.bindEvent())}initDevicePixelRatio(){this.devicePixelRatio=window.devicePixelRatio||1}clickEvent(e){const t=e.point;super.clickEvent(t,e)}mousemoveEvent(e){const t=e.point;super.mousemoveEvent(t,e)}addAnimatorEvent(){}animatorMovestartEvent(){const e=this.options.animation;this.isEnabledTime()&&this.animator&&(this.steps.step=e.stepsRange.start)}animatorMoveendEvent(){this.isEnabledTime()&&this.animator}bindEvent(){const e=this.map;this.options.methods&&(this.options.methods.click&&e.on("click",this.clickEvent),this.options.methods.mousemove&&e.on("mousemove",this.mousemoveEvent))}unbindEvent(){const e=this.map;this.options.methods&&(this.options.methods.click&&e.off("click",this.clickEvent),this.options.methods.mousemove&&e.off("mousemove",this.mousemoveEvent))}getContext(){return this.canvasLayer.canvas.getContext(this.context)}init(e){const t=this;t.options=e,this.initDataRange(e),this.context=t.options.context||"2d",t.options.zIndex&&this.canvasLayer&&this.canvasLayer.setZIndex(t.options.zIndex),this.initAnimator()}_canvasUpdate(e){const t=this.map;if(!this.canvasLayer||this.stopAniamation||this.canvasLayer.disposeFlag)return;const i=this,r=i.options.animation,s=this.getContext();if(i.isEnabledTime()){if(void 0===e)return void this.clear(s);"2d"===this.context&&(s.save(),s.globalCompositeOperation="destination-out",s.fillStyle="rgba(0, 0, 0, .1)",s.fillRect(0,0,s.canvas.width,s.canvas.height),s.restore())}else this.clear(s);if("2d"===this.context)for(const e in i.options)s[e]=i.options[e];else s.clear(s.COLOR_BUFFER_BIT);if(i.options.minZoom&&t.getZoom()<i.options.minZoom||i.options.maxZoom&&t.getZoom()>i.options.maxZoom)return;const a={transferCoordinate(e){const i=t.project(new n.a.LngLat(e[0],e[1]));return[i.x,i.y]}};void 0!==e&&(a.filter=function(t){const i=r.trails||10;return!!(e&&t.time>e-i&&t.time<e)});const o=i.dataSet.get(a);this.processData(o),"m"==i.options.unit&&i.options.size,i.options._size=i.options.size;const l=t.project(new n.a.LngLat(0,0));this.drawContext(s,new U(o),i.options,l),i.options.updateCallback&&i.options.updateCallback(e)}updateData(e,t){let i=e;i&&i.get&&(i=i.get()),void 0!=i&&this.dataSet.set(i),super.update({options:t})}addData(e,t){let i=e;e&&e.get&&(i=e.get()),this.dataSet.add(i),this.update({options:t})}getData(){return this.dataSet}removeData(e){if(!this.dataSet)return;const t=this.dataSet.get({filter:t=>null==e||"function"!=typeof e||!e(t)});this.dataSet.set(t),this.update({options:null})}clearData(){this.dataSet&&this.dataSet.clear(),this.update({options:null})}draw(){this.canvasLayer.draw()}clear(e){e&&e.clearRect&&e.clearRect(0,0,e.canvas.width,e.canvas.height)}};var K=class{constructor(e,t,i){i=i||{},this.map=e,this.layerID=i.layerID,delete i.layerID,this.mapvBaseLayer=new Z(e,t,i,this),this.mapVOptions=i,this.initDevicePixelRatio(),this.canvas=this._createCanvas(),this.render=this.render.bind(this),this.bindEvent(),this.mapContainer=e.getCanvasContainer(),this.mapContainer.appendChild(this.canvas),this._reset()}initDevicePixelRatio(){this.devicePixelRatio=window.devicePixelRatio||1}bindEvent(){const e=this.map;this.innerMoveStart=this.moveStartEvent.bind(this),this.innerMoveEnd=this.moveEndEvent.bind(this),this.innnerZoomStart=this.zoomStartEvent.bind(this),this.innnerZoomEnd=this.zoomEndEvent.bind(this),this.innnerRotateStart=this.rotateStartEvent.bind(this),this.innnerRotateEnd=this.rotateEndEvent.bind(this),this.innerResize=this.resizeEvent.bind(this),this.innerRemove=this.removeEvent.bind(this),e.on("resize",this.innerResize),e.on("zoomstart",this.innnerZoomStart),e.on("zoomend",this.innnerZoomEnd),e.on("rotatestart",this.innnerRotateStart),e.on("rotateend",this.innnerRotateEnd),e.on("movestart",this.innerMoveStart),e.on("moveend",this.innerMoveEnd),this.map.on("remove",this.innerRemove)}unbindEvent(){const e=this.map;e.off("resize",this.innerResize),e.off("zoomstart",this.innnerZoomStart),e.off("zoomend",this.innnerZoomEnd),e.off("rotatestart",this.innnerRotateStart),e.off("rotateend",this.innnerRotateEnd),e.off("movestart",this.innerMoveStart),e.off("moveend",this.innerMoveEnd)}moveStartEvent(){this.mapvBaseLayer.animatorMovestartEvent(),this._unvisiable()}moveEndEvent(){this.mapvBaseLayer.animatorMoveendEvent(),this._reset(),this._visiable()}zoomStartEvent(){this._unvisiable()}zoomEndEvent(){this._unvisiable()}rotateStartEvent(){this.mapvBaseLayer.animatorMovestartEvent(),this._unvisiable()}rotateEndEvent(){this.mapvBaseLayer.animatorMoveendEvent(),this._reset(),this._visiable()}resizeEvent(){this._reset(),this._visiable()}removeEvent(){this.mapContainer.removeChild(this.canvas)}addData(e,t){this.mapvBaseLayer.addData(e,t)}updateData(e,t){this.mapvBaseLayer.updateData(e,t)}getData(){return this.mapvBaseLayer&&(this.dataSet=this.mapvBaseLayer.getData()),this.dataSet}removeData(e){this.mapvBaseLayer&&this.mapvBaseLayer.removeData(e)}removeAllData(){this.mapvBaseLayer.clearData()}_visiable(){return this.canvas.style.display="block",this}_unvisiable(){return this.canvas.style.display="none",this}_createCanvas(){const e=document.createElement("canvas"),t=this.devicePixelRatio;return e.id=this.layerID,e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.width=parseInt(this.map.getCanvas().style.width)*t,e.height=parseInt(this.map.getCanvas().style.height)*t,this.mapVOptions.context&&"2d"!=this.mapVOptions.context||e.getContext("2d").scale(t,t),e.style.width=this.map.getCanvas().style.width,e.style.height=this.map.getCanvas().style.height,e}_reset(){null!=this.canvas&&(this.resizeCanvas(),this.fixPosition(),this.onResize(),this.render())}draw(){return this._reset()}show(){this._visiable()}hide(){this._unvisiable()}update(e){void 0!=e&&this.updateData(e.data,e.options)}resizeCanvas(){if(this.mapContainer.style.perspective=`${this.map.transform.cameraToCenterDistance}px`,void 0==this.canvas||null==this.canvas)return;const e=this.canvas,t=this.devicePixelRatio;e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.width=parseInt(this.map.getCanvas().style.width)*t,e.height=parseInt(this.map.getCanvas().style.height)*t,this.mapVOptions.context&&"2d"!=this.mapVOptions.context||e.getContext("2d").scale(t,t)}fixPosition(){}onResize(){}originPosition(){this.originPitch=this.map.getPitch(),this.originBearing=this.map.getBearing();const e=this.map.project(new n.a.LngLat(0,0));this.originX=e.x,this.originY=e.y}render(){void 0!=this.mapvBaseLayer&&this.mapvBaseLayer._canvasUpdate()}moveTo(e,t){const i=document.getElementById(this.layerID);if(t=void 0===t||t){const t=document.getElementById(e);return void(i&&t&&t.parentNode.insertBefore(i,t))}const r=document.getElementById(e);if(i){if(r.nextSibling)return void r.parentNode.insertBefore(i,r.nextSibling);r.parentNode.appendChild(i)}}remove(){this.removeAllData(),this.unbindEvent(),this.mapContainer.removeChild(this.canvas),this.disposeFlag=!0}destroy(){this.removeAllData(),this.unbindEvent(),this.mapContainer.removeChild(this.canvas),this.disposeFlag=!0}};const q=window.echarts;function W(e,t){this._MapboxGLMap=e,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=t}W.prototype.dimensions=["lng","lat"],W.prototype.setMapOffset=function(e){this._mapOffset=e},W.prototype.getBMap=function(){return this._MapboxGLMap},W.prototype.dataToPoint=function(e){const t=this._MapboxGLMap.project(e),i=this._mapOffset;return[t.x-i[0],t.y-i[1]]},W.prototype.pointToData=function(e){const t=this._mapOffset;return[(e=this._MapboxGLMap.project([e[0]+t[0],e[1]+t[1]])).lng,e.lat]},W.prototype.getViewRect=function(){const e=this._api;return new q.graphic.BoundingRect(0,0,e.getWidth(),e.getHeight())},W.prototype.getRoamTransform=function(){return q.matrix.create()},W.prototype.prepareCustoms=function(e){const t=q.util,i=this.getViewRect();return{coordSys:{type:"mapboxgl",x:i.x,y:i.y,width:i.width,height:i.height},api:{coord:t.bind(this.dataToPoint,this),size:t.bind(function(e,i){return i=i||[0,0],t.map([0,1],function(t){const r=i[t],s=e[t]/2,n=[],a=[];return n[t]=r-s,a[t]=r+s,n[1-t]=a[1-t]=i[1-t],Math.abs(this.dataToPoint(n)[t]-this.dataToPoint(a)[t])},this)},this)}}},W.dimensions=W.prototype.dimensions,W.create=function(e,t){let i;e.eachComponent("mapboxgl",function(e){t.getZr().painter.getViewportRoot();const r=q.mapboxglMap;(i=new W(r,t)).setMapOffset(e.__mapOffset||[0,0]),e.coordinateSystem=i}),e.eachSeries(function(e){"mapboxgl"===e.get("coordinateSystem")&&(e.coordinateSystem=i)})};var J=W;const H=window.echarts;var X=class{constructor(e,t){return t=t||{},this.map=e,this.options=t,this.layerId=t.layerId||"echartlayerdefaultid",this.layerClass=t.classId||"echartlayerdefaultclass",this.initDevicePixelRatio(),this.mapContainer=e.getCanvasContainer(),this.canvas=this._createCanvas(),this.mapContainer.appendChild(this.canvas),this.mapContainer.style.perspective=`${this.map.transform.cameraToCenterDistance}px`,this.chart=H.init(this.canvas),this.visible=!0,this.initEcharts(),this._resizeCanvas(),this}initDevicePixelRatio(){this.devicePixelRatio=window.devicePixelRatio||1}initEcharts(){return H.mapboxglMap=this.map,H.registerCoordinateSystem("mapboxgl",J),H.extendComponentModel({type:"mapboxgl",getBMap(){return this.__mapboxgl},defaultOption:{roam:!1}}),H.registerAction({type:"MapboxGLRoma",event:"MapboxGLRoma",update:"updateLayout"},function(e,t){}),this}_createCanvas(){const e=document.createElement("div");return e.id=this.layerId,e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.width=parseInt(this.map.getCanvas().style.width),e.height=parseInt(this.map.getCanvas().style.height),e.style.width=this.map.getCanvas().style.width,e.style.height=this.map.getCanvas().style.height,e.setAttribute("id",this.layerId),e.setAttribute("class",this.layerClass),e}_resizeCanvas(){const e=this;window.onresize=function(){const t=e.canvas,i=e.map;t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.width=i.getCanvas().style.width,t.style.height=i.getCanvas().style.height,t.width=parseInt(i.getCanvas().style.width),t.height=parseInt(i.getCanvas().style.height),e.chart.resize()}}addTo(e){const t=this;return H.extendComponentView({type:"mapboxgl",render(e,i,r){let s=!0;const n=H.mapboxglMap,a=r.getZr().painter.getViewportRoot(),o=e.coordinateSystem,l=function(i,n){if(s||!t.visible)return;const l=document.getElementsByClassName("mapboxgl-map")[0],c=[-parseInt(l.style.left,10)||0,-parseInt(l.style.top,10)||0];a.style.left=`${c[0]}px`,a.style.top=`${c[1]}px`,o.setMapOffset(c),e.__mapOffset=c,r.dispatchAction({type:"MapboxGLRoma"})};function c(){!s&&t.visible&&r.dispatchAction({type:"MapboxGLRoma"})}n.off("move",this._oldMoveHandler),n.off("zoomend",this._oldZoomEndHandler),n.on("move",l),n.on("zoomend",c),this._oldMoveHandler=l,this._oldZoomEndHandler=c,e.get("roam"),s=!1}}),this.chart.setOption(this.options),this}_visible(){this.visible=!0,this.canvas.style.visibility="visible"}_unvisible(){this.visible=!1,this.canvas.style.visibility="hidden"}show(){this._visible()}hide(){this._unvisible()}remove(){const e=this;return this.map._listeners.move.forEach(function(t){"moveHandler"===t.name&&e.map.off("move",t)}),this.map._listeners.move.forEach(function(t){"zoomEndHandler"===t.name&&e.map.off("zoomend",t)}),this.chart.clear(),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.map=void 0,this}update(e){this.chart.setOption(e)}};function Y(e,t){t=t||{};let i={sources:{},layers:[]};switch(e.type){case r.LayerType.igsMapImage:i=ie.getSourcesAndStyleLayers(e);break;case r.LayerType.igsTile:i=f.getSourcesAndStyleLayers(e);break;case r.LayerType.arcgisVectorTile:case r.LayerType.igsVectorTile:i=se.getSourcesAndStyleLayers(e);break;case r.LayerType.arcgisTile:i=_.getSourcesAndStyleLayers(e);break;case r.LayerType.arcgisMapImage:i=w.getSourcesAndStyleLayers(e);break;case r.LayerType.wmts:i=x.getSourcesAndStyleLayers(e);break;case r.LayerType.wms:i=V.getSourcesAndStyleLayers(e);break;case r.LayerType.webTileLayer:i=C.getSourcesAndStyleLayers(e);break;case r.LayerType.igsFeature:case r.LayerType.geojson:case r.LayerType.wfs:i=G(e,t);break;case r.LayerType.graphics:i=B(e,t);break;default:r.Log.error("未支持的图层类型")}return i}function Q(e,t){const{sources:i,layers:r}=e,s=Object.entries(i);for(let e=0;e<s.length;e++){const i=s[e];t.addSource(i[0],i[1])}for(let e=0;e<r.length;e++)t.addLayer(r[e]);return!0}function ee(e){return m.createCRSByLayer(e)}class te{}te.addIGSMapImageLayer=function(e,t){t=t||{};const i=e.layer,r=e.innerView;t.layerView=e;const s=te.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},te.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView;let s={layers:e.layers,f:e.imageFormat,width:e.imageWidth,height:e.imageHeight,clientId:e.clientId,igsVersion:e._igsVersion,tokenKey:e.tokenKey,tokenValue:e.tokenValue,isAntialiasing:e.isAntialiasing,filters:e.getFilters(),format:"png",projectionSrs:Object(r.getProjectionSrs)(e.spatialReference),httpMethod:"GET",header:void 0};const n=Object(r.getIGSDynamicLayer)(e);n.length>0&&(s.dynamicLayers=n);const a=e.getFilters();a&&(s.filters=a);const o=`source_${e.id}`,l=`layer_${e.id}`;e.httpMethod&&(s.httpMethod=e.httpMethod),e.headers&&(s.headers=e.headers);const{extensionOptions:u={}}=e;s=Object.assign(s,u);const p=te.initLayerUrl(e._url,s),d=c(p.url,e.imageWidth,e.renderMode,void 0,p,t.clippingArea),y=h(l,o,e,i),m={};return m[o]=d,{sources:m,layers:[y]}},te.initAllRequestParams=function(e){const t={};return(e=Object(r.defaultValue)(e,{})).hasOwnProperty("layers")&&(t.layers=e.layers),e.hasOwnProperty("imageTransparent")&&(t.imageTransparent=e.imageTransparent),e.hasOwnProperty("isAntialiasing")&&null!==e.isAntialiasing&&void 0!==e.isAntialiasing&&(t.isAntialiasing=e.isAntialiasing),e.hasOwnProperty("tokenKey")&&e.hasOwnProperty("tokenValue")&&e.tokenValue&&(t[e.tokenKey]=e.tokenValue),"2.0"===e.igsVersion?(t.size=`${e.width},${e.height}`,t.format=e.format,t.f="image",e.hasOwnProperty("styles")&&(t.layerStyles=e.styles),e.hasOwnProperty("filters")&&e.filters&&(t.layerFilters=e.filters),e.hasOwnProperty("dynamicLayers")&&(t.dynamicLayers=JSON.stringify(e.dynamicLayers)),e.hasOwnProperty("projectionSrs")&&(t.projectionSrs=e.projectionSrs),e.hasOwnProperty("clientId")&&(t.clientId=e.clientId)):(t.w=e.width,t.h=e.height,t.f="png",e.hasOwnProperty("styles")&&t.push(`style=${e.styles}`),e.hasOwnProperty("filters")&&e.filters&&(t.filters=e.filters),e.hasOwnProperty("clientId")&&(t.guid=e.clientId)),t},te.initLayerUrl=function(e,t){let i;i="2.0"===t.igsVersion?`${e}/image`:`${e}`;const r=te.initAllRequestParams(t);let s;if("POST"===t.httpMethod)r.bbox="0,0,0,0",s={url:i,data:r,method:t.httpMethod};else{i+="?bbox={bbox}";for(const e in r){i+=`&${e}=${r[e]}`}s={url:i,method:t.httpMethod}}return t.headers&&(s.headers=t.headers),s},te.setVisible=function(e){a(e)},te.setOpacity=function(e){l(e)},te.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=te.addIGSMapImageLayer(e,{})},te.removeLayer=function(e){o(e)};var ie=te;class re{}re.addIGSVectorTileLayer=function(e,t){t=Object(r.defaultValue)(t,{});const{innerView:i,layer:s}=e,n=i.getStyle();n.glyphs||(i.style.glyphManager.setURL(s.style.glyphs),i.style.stylesheet.glyphs=s.style.glyphs),n.sprite||(i.style._loadSprite(s.style.sprite),i.style.stylesheet.sprite=s.style.sprite),re.addSourcesAndLayers(e,t.callback)},re.getStyle=function(e,t){const{innerView:i}=e,r=setInterval(()=>{i.isStyleLoaded()&&(clearInterval(r),t&&t instanceof Function&&t(i.getStyle()))},30)},re.initLayerUrl=function(e,t){return"1.0"===t.igsVersion?(e+="/{z}/{y}/{x}",t.tokenKey&&t.tokenValue&&(e+=`?${t.tokenKey}=${t.tokenValue}`)):(e=`${e}/tileImage/{z}/{y}/{x}?f=image`,t.tokenKey&&t.tokenValue&&(e+=`&${t.tokenKey}=${t.tokenValue}`)),e},re.setVisible=function(e,t){const{layer:i,innerView:r}=e,{layers:s}=i.style;s.forEach(e=>{r.setLayoutProperty(e.id,"visibility",t?i._getBackupProperties(e.id,"visibility"):"none")})},re.setOpacity=function(e,t){const{layer:i,innerView:r}=e,{layers:s}=i.style;s.forEach(e=>{const s=i._getBackupProperties(e.id,"opacities");s&&Object.keys(s).forEach(i=>{r.setPaintProperty(e.id,i,s[i]*t)})})},re.removeLayer=function(e){const t=e.layer.style.layers,i=e.layer.style.sources,r=e.innerView;for(let e=0;e<t.length;e++)r.getLayer(t[e].id)&&r.removeLayer(t[e].id);Object.keys(i).forEach(e=>{r.getSource(e)&&r.removeSource(e)})},re.setPaintProperties=function(e,t,i){const{innerView:r}=e;r.getLayer(t)&&i instanceof Object&&Object.keys(i).forEach(e=>{r.setPaintProperty(t,e,i[e])})},re.setLayoutProperties=function(e,t,i){const{innerView:r}=e;r.getLayer(t)&&i instanceof Object&&Object.keys(i).forEach(e=>{r.setLayoutProperty(t,e,i[e])})},re.updateStyleLayer=function(e){const t=e.innerView,i=e.layer,r=t.style;i.style.layers.forEach(e=>{if(r.getLayer(e.id)){if(e.paint){Object.keys(e.paint).forEach(t=>{r.setPaintProperty(e.id,t,e.paint[t])})}if(e.layout){Object.keys(e.layout).forEach(t=>{r.setLayoutProperty(e.id,t,e.layout[t])})}}}),t._update&&t._update(!0)},re.addSourcesAndLayers=function(e,t){const{layer:i}=e,r=re.getSourcesAndStyleLayers(i,{layerView:e}),{sources:s,layers:n}=r;Object.keys(s).forEach(t=>{re._addSource(e,t,s[t])});for(let t=0;t<n.length;t++)re._addLayer(e,n[t].id,n[t]);t&&t instanceof Function&&t(this._getInnerLayers(e))},re._createStyleLayers=function(e,t){const i=(t=t||{}).layerView,s=e.style.layers;if(!(e instanceof r.IGSVectorTileLayer))for(let t=0;t<s.length;t++){const r=i?i._getLayerViewVisible(e.visible):e.visible;if(s[t]&&s[t].layout&&s[t].layout instanceof Object&&(s[t].layout.visibility=r?"visible":"none"),s[t]&&s[t].paint&&s[t].paint instanceof Object){const i=[];switch(s[t].type){case"background":i.push("background-opacity");break;case"fill":default:i.push("fill-opacity");break;case"line":i.push("line-opacity");break;case"symbol":i.push("icon-opacity"),i.push("text-opacity");break;case"circle":i.push("circle-opacity");break;case"sky":i.push("sky-opacity")}for(let r=0;r<i.length;r++)s[t].paint[i[r]]=e.opacity}}return s},re._createSources=function(e){const t=e.style.sources,i=m.createCRSByLayer(e),s=m.convertClippingArea(e.clippingArea),n={};return Object.keys(t).forEach(a=>{const o=t[a];o.clippingArea=s,o.crs=i;const[l,c]=r.TileInfoUtil.getLevelRangeByTileInfo(e.tileInfo);o.minzoom=l,o.maxzoom=c,n[a]=o}),n},re.getSourcesAndStyleLayers=function(e,t){return{sources:this._createSources(e,t),layers:this._createStyleLayers(e,t)}},re._addLayer=function(e,t,i){e.innerView.getLayer(t)||e.innerView.addLayer(i)},re._addSource=function(e,t,i){e.innerView.getSource(t)||e.innerView.addSource(t,i)},re._getInnerLayers=function(e){const t=e.layer.style.layers,i=[];for(let r=0;r<t.length;r++)i.push(e.innerView.getLayer(t[r].id));return i};var se=re;var ne=class extends r.Evented{constructor(e){super(e),this.view=Object(r.defaultValue)(e.view,null),this.location=Object(r.defaultValue)(e.location,""),this.title=Object(r.defaultValue)(e.title,""),this.content=Object(r.defaultValue)(e.content,""),this.alignment=Object(r.defaultValue)(e.alignment,"bottom-center"),this.defaultButtons=Object(r.defaultValue)(e.defaultButtons,["toggle","close","zoom"]),this._popup=void 0,this._initPopup(),this._initDefaultClass()}_initPopup(){this._customPopup(),this.view._innerView.closePopupOnClick=!1}_initDefaultClass(){let e=!1;const t=document.head.getElementsByTagName("style");if(t)for(let i=0;i<t.length;i++)if(t[i].innerHTML.indexOf("styleDomString")>-1){e=!0;break}if(!e){const e=document.createElement("style");e.innerHTML="\n .zondy-popup__container{background-color: #fff;padding:0;border-radius: 10px;}\n .zondy-popup__tip{\n background-color: #fff;\n }\n .zondy-popup__header{\n padding: 8px;\n font-size: 18px;\n font-weight: 600;\n line-height: 20px;\n border-top-left-radius: 10px;\n border-top-right-radius: 10px;\n white-space: nowrap;\n }\n .zondy-popup__content{\n padding: 8px;\n }\n .zondy-popup__footer{\n }\n .zondy-popup__footer-division{\n border-top: 1px solid;\n }\n .zondy-popup__toggle,.zondy-popup__close{\n display: inline-block;width: 30px;text-align: center;\n }\n ",document.querySelector("head").append(e)}}_customPopup(){}open(e){this._popup?(this.close(),this._popup=void 0,this.openPopup(e)):this.openPopup(e)}openPopup(e){if(this.view=e.view?e.view:this.view,this.location=e.location?e.location:this.location,this.location.spatialReference.isGeographic?this._location=this.location:this._location=r.Projection.project(this.location,new r.SpatialReference({wkid:4326})),this.title=e.title?e.title:this.title,this.content=e.content?e.content:this.content,this.alignment=e.alignment?e.alignment:this.alignment,!this.view._innerView)return void r.Log.info("没有视图引擎!");const t=this._contentUI(this.title,this.content);this._popup=new n.a.Popup({closeOnClick:!1,closeButton:!1,maxWidth:"1900px"}).setLngLat(this._location.coordinates).setDOMContent(t).addTo(this.view._innerView),this._popup.toggleClassName("highlighted");const i=this._popup._container.getElementsByClassName("mapboxgl-popup-content");for(let e=0;e<i.length;e++)i[e].style.padding="0",i[e].style.borderRadius="10px"}_contentUI(e,t){const i=this;let r=void 0;const s=function(e){const t=document.createElement("div");return t.innerHTML=e,t.childNodes};(r=document.createElement("div")).setAttribute("id",`${this.id}-popup-default`);const n=document.createElement("div");n.setAttribute("class","zondy-popup__header"),n.setAttribute("style","display: flex;");const a=s('<div class="zondy-popup__toggle">\n <svg aria-hidden="true" class="svg" fill="currentColor" height="16px" width="16px" viewBox="0 0 24 24" width="100%" xmlns="http://www.w3.org/2000/svg"><path d="M5 13.793l7-7 7 7v1.414l-7-7-7 7z"></path></svg>\n </div>')[0],o=s('<div class="zondy-popup__close">\n <svg aria-hidden="true" class="svg" fill="currentColor" height="16px" width="16px" viewBox="0 0 16 16" width="100%" xmlns="http://www.w3.org/2000/svg"><path d="M3.98 11.303L7.281 8 3.98 4.697l.707-.707L7.99 7.293l.01-.01.01.01 3.304-3.303.707.707L8.718 8l3.303 3.303-.707.707L8.01 8.707l-.01.01-.01-.01-3.304 3.303z"></path></svg>\n </div>')[0];if(e){const t=s('<div style="flex: 1;"></div>')[0];if(n.appendChild(t),"object"==typeof e?e instanceof Node?t.appendChild(e):e instanceof NodeList&&e.forEach(e=>{t.appendChild(e)}):t.innerHTML=e,this.defaultButtons.indexOf("toggle")>-1){n.appendChild(a);let e=!0;a.onclick=function(){e=!e,document.getElementById(`${i.id}-popup-default`).querySelector(".zondy-popup__content").style.display=e?"block":"none"}}this.defaultButtons.indexOf("close")>-1&&(n.appendChild(o),o.onclick=(()=>{this.close()}))}const l=document.createElement("div");if(l.setAttribute("class","zondy-popup__content"),t)if("object"==typeof t){if(t instanceof Node)l.appendChild(t);else if(t instanceof NodeList)for(let e=0;e<t.length;e++)l.appendChild(t[e]),e--}else l.innerHTML=t;const c=document.createElement("div");c.setAttribute("class","zondy-popup__footer");const h=s('<div class="zondy-popup__zoom" style="display: inline-block;width: 36px;height: 36px;line-height: 36px;text-align: center;">\n <svg class="svg" fill="currentColor" height="16px" width="16px" viewBox="0 0 16 16" width="100%" xmlns="http://www.w3.org/2000/svg"><path d="M9 7H7v2H6V7H4V6h2V4h1v2h2zm6.805 7.861l-.943.942a.665.665 0 0 1-.943 0l-3.067-3.067a.667.667 0 0 1 0-.943l.129-.13-1.108-1.107A5.279 5.279 0 1 1 11.8 6.5a5.251 5.251 0 0 1-1.237 3.366l1.108 1.108.124-.124a.668.668 0 0 1 .943 0l3.067 3.068a.666.666 0 0 1 0 .943zM10.8 6.5a4.3 4.3 0 1 0-4.3 4.3 4.304 4.304 0 0 0 4.3-4.3zm4.062 7.89l-2.595-2.598-.473.473 2.597 2.595z"></path></svg>\n </div>')[0];return this.defaultButtons.indexOf("zoom")>-1&&(c.appendChild(h),h.onclick=function(){i.view.flyTo({zoom:i.view._zoom+1,center:i.location})}),c.childNodes.length>0&&c.setAttribute("class","zondy-popup__footer zondy-popup__footer-division"),r.appendChild(n),r.appendChild(l),r.appendChild(c),r}_getOffset(){}_getOffsetByAlignment(e,t,i){let r=0,s=0;switch(e){case"top-left":r=t/2,s=i;break;case"top-center":s=i;break;case"top-right":r=-t/2,s=i;break;case"bottom-left":r=t/2;break;case"auto":case"bottom-center":break;case"bottom-right":r=-t/2}return{x:r,y:s}}close(){this.view._innerView&&this._popup.remove()}destroy(){}};var ae=class{constructor(e){e=Object(r.defaultValue)(e,{}),this.view=Object(r.defaultValue)(e.view,null),this.format=Object(r.defaultValue)(e.format,r.PictureFormat.png),this.filename=Object(r.defaultValue)(e.filename,"screenshotFile"),this.width=Object(r.defaultValue)(e.width,void 0),this.height=Object(r.defaultValue)(e.height,void 0),this.x=Object(r.defaultValue)(e.x,0),this.y=Object(r.defaultValue)(e.y,0),this.isDownload=Object(r.defaultValue)(e.isDownload,!0)}_addView(){const e=this,t=this.view._innerView.getCanvas();let i=null;this.format===r.PictureFormat.png?i=t.toDataURL():this.format===r.PictureFormat.jpeg?i=t.toDataURL("image/jpeg"):"svg"===this.format&&(i=t.toDataURL());const s=document.createElement("canvas");s.width=this.width,s.height=this.height;const n=s.getContext("2d"),a=function(e,t){const i=document.createElement("a");i.href=e,i.download=t,document.body.appendChild(i),i.click()};return a(i,e.filename),new Promise(t=>{if(this.width&&this.height){const o=new Image;o.src=i,o.onload=function(){n.drawImage(o,e.x,e.y,e.width,e.height,0,0,e.width,e.height);let i=null;e.format===r.PictureFormat.png?i=s.toDataURL():e.format===r.PictureFormat.jpeg?i=s.toDataURL("image/jpeg"):"svg"===e.format&&(i=s.toDataURL()),e.isDownload&&a(i,e.filename),t({dataUrl:i})}}else e.isDownload&&a(i,this.filename),t({dataUrl:i})})}_removeView(){}};var oe=class extends r.LayerView{onAdd(){const e=this.layer;return this.innerLayer=ie.addIGSMapImageLayer(this,{clippingArea:m.convertClippingArea(e.clippingArea)}),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return ie.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":ie.setVisible(this,i);break;case"opacity":ie.setOpacity(this);break;case"sublayerVisible":case"refresh":ie.refresh(this);break;case"clippingArea":{const e=i.params[0],t=this.innerLayer.source,r=this.innerView.getSource(t);r&&r.setClippingArea(m.convertClippingArea(e));break}}}return Promise.resolve(this)}};var le=class extends r.LayerView{onAdd(){const{layer:e}=this;return this.innerLayer=f.addIGSTileLayer(this,{clippingArea:m.convertClippingArea(e.clippingArea)}),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return f.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":f.setVisible(this);break;case"opacity":f.setOpacity(this);break;case"refresh":f.refresh(this);break;case"clippingArea":{const e=i.params[0],t=this.innerLayer.source,r=this.innerView.getSource(t);r&&r.setClippingArea(m.convertClippingArea(e));break}}}return Promise.resolve(this)}};var ce=class extends r.LayerView{onAdd(){const e=this.layer,t=this._getLayerViewVisible();return this.innerLayer=V.addWMSLayer(this,{visible:t,clippingArea:m.convertClippingArea(e.clippingArea)}),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return V.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":V.setVisible(this,i);break;case"opacity":V.setOpacity(this);break;case"refresh":case"sublayerVisible":V.refresh(this);break;case"clippingArea":{const e=i.params[0],t=this.innerLayer.source,r=this.innerView.getSource(t);r&&r.setClippingArea(m.convertClippingArea(e));break}}}return Promise.resolve(this)}};var he=class extends r.LayerView{onAdd(){const e=this.layer;return this.innerLayer=x.addWMTSLayer(this,{clippingArea:m.convertClippingArea(e.clippingArea)}),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return x.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":x.setVisible(this);break;case"opacity":x.setOpacity(this);break;case"refresh":x.refresh(this);break;case"clippingArea":{const e=i.params[0],t=this.innerLayer.source,r=this.innerView.getSource(t);r&&r.setClippingArea(m.convertClippingArea(e));break}}}return Promise.resolve(this)}};var ue=class extends r.BaseGraphicsLayerView{onAdd(e){const t=this.layer,i=this.innerView,r=this;return r.innerLayer=new z({id:t.id,opacity:t._opacity,visible:this._getLayerViewVisible()}),r.innerLayer.onAdd(i).then(()=>{const e=t.graphics.items||[];return r.innerLayer.commonLayerId=t.id,r._addFeature(r.innerLayer,e),Promise.resolve(this)})}onRemove(e){return this.innerLayer.onRemove(this.innerView),this.innerLayer=null,Promise.resolve(this)}onUpdate(e){const t=this.layer,i=this.innerLayer;return e.updateContent&&i&&e.updateContent.forEach(e=>{if(e&&"property"===e.operationType)switch(e.name){case"opacity":i.opacity=t._opacity;break;case"visible":{const r=e.params&&e.params.length>0?e.params[0]:t.visible,s=this._getLayerViewVisible(r);i.visible=s;break}}if(e&&"method"===e.operationType)switch(e.name){case"add":{const t=e.params;this._addFeature(i,t[0]);break}case"remove":{const t=e.params;this._removeFeature(i,t[0]);break}case"addMany":{let t=e.params[0];t instanceof r.FeatureSet&&(t=t.features),this._addFeature(i,t);break}case"removeMany":{const t=e.params[0];this._removeFeature(i,t);break}case"removeAll":i.removeAll()}}),Promise.resolve(this)}_addFeature(e,t){const i=Array.isArray(t)?t:[t];i.forEach(()=>{t.geometry&&!t.geometry.spatialReference&&(t.geometry.spatialReference=this.layer.spatialReference)}),this.render.drawFeature(e,i)}_removeFeature(e,t){const i=Array.isArray(t)?t:[t];this.render.clearFeature(e,i)}};var pe=class extends r.FeatureRender{drawFeature(e,t){e&&e.add(t)}updateFeature(e,t,i){e&&e.update(t,i)}clearFeature(e,t){e&&e.remove(t)}clear(e){e&&e.removeAll()}};var de=class extends r.LayerView{onAdd(){return this._layerViewVisible=this._getLayerViewVisible(this.layer.visble),se.addIGSVectorTileLayer(this,{callback:e=>{for(let t=0;t<e.length;t++)e[t].commonLayerId=this.layer.id;this.innerLayer=e}}),Promise.resolve(this)}onRemove(){return se.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t],{params:r}=i;if(i)switch(i.name){case"setPaintProperties":se.setPaintProperties(this,r[0],r[1]);break;case"setLayoutProperties":se.setLayoutProperties(this,r[0],r[1]);break;case"setStyleLayer":case"deleteStyleLayer":se.updateStyleLayer(this);break;case"opacity":se.setOpacity(this,r[0]);break;case"visible":const e=this._getLayerViewVisible(r[0]);this._layerViewVisible!==e&&(se.setVisible(this,e),this._layerViewVisible=e);break;case"clippingArea":{const e=i.params[0],t=this.innerView,r=this.layer.style.sources;r&&Object.entries(r).forEach(i=>{const r=i[0],s=t.getSource(r);s&&"vector"===s.type&&s.setClippingArea&&s.setClippingArea(m.convertClippingArea(e))});break}}}return Promise.resolve(this)}};var ye=class extends r.BaseRendererLayerView{onAdd(e){const t=this.layer.renderer;this.styleLayers=[],this.renderType=t.type,this.sourceIds=[],this._imageSourceManager=this._imageSourceManager?this._imageSourceManager:new P(this.innerView);const i=this._addInnerLayer();return i.then(()=>{this._updateState()}),i}onRemove(e){return super.onRemove(e),this._removeStyleLayers(),this._removeSources(),Promise.resolve(this)}onUpdate(e){const t=this;return e.updateContent&&e.updateContent.forEach(e=>{if(e&&"property"===e.operationType)switch(e.name){case"opacity":case"visible":t._updateState()}if(e&&"method"===e.operationType)switch(e.name){case"refresh":this._updateState()}}),Promise.resolve(this)}_requestMapboxglFrameUpdate(e){this.innerView&&this.innerView._update(e)}_processData(){return new Promise(e=>{})}_addInnerLayer(){return this._processData().then(e=>{const t=this.layer,i=this.innerView;this.featureSet=e;const r=t.renderer;return this._initInnerLayer(t,i,e,r)})}_initInnerLayer(e,t,i,r){const s=this;return new Promise(e=>{let i;const r=()=>{s._addSources(),e(s),i&&clearInterval(i)};t.loaded()?r():(t.once("load",r),i=setInterval(()=>{t.loaded()&&r()},16))})}_rendererChangeAction(e){e&&this._updateState()}_updateState(e){const{innerView:t,layer:i}=this;if(!t||!this.styleLayers)return;e||(e=i.renderer);const r=i._opacity,s=this._getLayerViewVisible(),n=t.style,a=this.styleLayers,o={featureSet:this.featureSet,imageSourceManager:this._imageSourceManager,updateState:this._updateState.bind(this)},l=R(i.id,e,i.geometryType,s,r,o);if(0===l.length)throw new Error("创建样式图层列表失败,请检查Renderer的类型是否支持!");let c=!1;if(e.type===this.renderType&&0!==this.styleLayers.length||(c=!0,"cluster"!==e.type&&"cluster"!==this.renderType||this._triggerSourceClusterChange("cluster"===e.type)),a.length>0&&!c){const e=a.length===l.length,t=a.every(e=>l.findIndex(t=>t&&e&&t.id===e.id&&t.type===e.type)>-1);e&&t||(c=!0)}if(c){let t=null;if(a.length>0){const e=n._order.indexOf(a[a.length-1].id);e>-1&&e+1<n._order.length&&(t=n._order[e+1])}return this._removeStyleLayers(),this._addStyleLayers(l,t),void(this.renderType=e.type)}this._updateStyleLayers(t,a,l)}_updateStyleLayers(e,t,i){const r=e.style;let s=!1;for(let e=0;e<t.length;e++)for(let n=0;n<i.length;n++){const a=t[e],o=i[n];a.id===o.id&&r.hasLayer(o.id)&&JSON.stringify(a)!==JSON.stringify(o)&&(o.paint&&Object.keys(o.paint).forEach(e=>{r.setPaintProperty(o.id,e,o.paint[e])}),o.layout&&Object.keys(o.layout).forEach(e=>{r.setLayoutProperty(o.id,e,o.layout[e])}),o.filter&&r.setFilter(o.id,o.filter),s=!0)}s&&(this._requestMapboxglFrameUpdate(!0),this.styleLayers=i)}_convertSourceData(e){const t=e.features,i={type:"FeatureCollection",features:[]};return i.features=t.map(e=>m.convertToGeoJSON(e)),i}_addStyleLayers(e,t){const{innerView:i}=this;i._lazyInitEmptyStyle(),e.forEach(e=>{i.style.addLayer(e,t)}),this.styleLayers=e,this._requestMapboxglFrameUpdate(!0)}_removeStyleLayers(){const e=this.innerView;for(let t=0;t<this.styleLayers.length;t++){const i=this.styleLayers[t].id;if(e.style.hasLayer(i)){if(e.overlayLayersManager[i])return e._removeLayer(e.overlayLayersManager[i]),delete e.overlayLayersManager[i],this;e.style.removeLayer(i)}}this._requestMapboxglFrameUpdate(!0),this.styleLayers=[]}_addSources(){const e=this.layer,t=e.renderer,i={type:"geojson",data:this._convertSourceData(this.featureSet)};t instanceof r.ClusterRenderer&&(i.cluster=!0,i.clusterRadius=t.radius),this.innerView.addSource(e.id,i),this.sourceIds.push(e.id)}_removeSources(){for(let e=0;e<this.sourceIds.length;e++)this.innerView.removeSource(this.sourceIds[e]);this.sourceIds=[]}_triggerSourceClusterChange(e){const t=this.innerView,i=this.layer,r=t.getSource(i.id);if(!r)return;const s=r.workerOptions||{};s.cluster=e;const n=s.superclusterOptions||{};e&&(n.radius=16*i.renderer.radius),r.setData(this._convertSourceData(this.featureSet))}getStyleLayerIds(){return this.styleLayers.map(e=>e.id)}};class me{}me.addIGSVectorLayer=function(e,t){t=t||{};const i=e.layer,r=e.innerView;t.layerView=e;const s=me.getSourcesAndStyleLayers(i,t);Q(s,r);const n=r.getLayer(s.layers[0].id);return n.sourceID=n.source,n},me.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView,s=r.EPSG.find(e=>e.id===i.view.spatialReference.wkid);let n={igsVersion:e._igsVersion,tokenKey:e.tokenKey,tokenValue:e.tokenValue,gdbps:[e.gdbp],filters:e.definitionExpression?`0:${e.definitionExpression}`:"",headers:e.headers,projectionSrs:Object(r.getProjectionSrs)(i.view.spatialReference),proj:s?s.name:""};const{extensionOptions:a={}}=e;n=Object.assign(n,a);const o=`source_${e.id}`,l=`layer_${e.id}`,u=me.initLayerUrl(e.url,n),p=c(u.url,256,null,null,u,t.clippingArea),d=h(l,o,e,i),[y,m]=r.TileInfoUtil.getLevelRangeByTileInfo(e.tileInfo);p.minzoom=y,p.maxzoom=m;const g={};return g[o]=p,{sources:g,layers:[d]}},me.initLayerUrl=function(e,t){const i=t.igsVersion,s=Object(r.getBaseUrl)(e);let n=`${s}/igs/rest/mrms/layers`;"2.0"===i&&(n=`${s}/igs/rest/services/system/ResourceServer/tempData/image`);const a=me.initAllRequestParams(t);let o;if("POST"===t.httpMethod)a.bbox="0,0,0,0",o={url:n,data:a,method:t.httpMethod};else{n+="?bbox={bbox}";for(const e in a){n+=`&${e}=${a[e]}`}o={url:n,method:t.httpMethod}}return t.headers&&(o.headers=t.headers),o},me.initAllRequestParams=function(e){const t={};if("1.0"===e.igsVersion){const i=e.f||"png";t.f=i,e.gdbps&&(t.gdbps=e.gdbps),t.w=256,t.h=256,e.filters&&(t.filters=e.filters),e.style&&(t.style=JSON.stringify(e.style)),e.proj&&(t.proj=e.proj);const s=e.guid||Object(r.getGUID)();t.guid=s,void 0!==e.isAntialiasing&&null!==e.isAntialiasing&&(t.isAntialiasing=e.isAntialiasing),e.tokenKey&&e.tokenValue&&(t[e.tokenKey]=e.tokenValue)}else{const i=e.f||"image";t.f=i,e.gdbps&&(t.urls=e.gdbps),t.size="256,256",e.projectionSrs&&(t.projectionSrs=`${e.projectionSrs}`);const s=e.clientId||Object(r.getGUID)();t.clientId=s,void 0!==e.isAntialiasing&&null!==e.isAntialiasing&&(t.isAntialiasing=e.isAntialiasing),e.tokenKey&&e.tokenValue&&(t[e.tokenKey]=e.tokenValue)}return t},me.setVisible=function(e){a(e)},me.setOpacity=function(e){l(e)},me.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=me.addIGSVectorLayer(e,{})},me.removeLayer=function(e){o(e)};var ge=me;var fe=class extends ye{_processData(){const e=this.layer,t=e._createQueryOption();return t.resultRecordCount=1e5,e.queryFeatures(t).then(e=>e)}onAdd(e){const t=this,i=this.layer;return"server"===i.renderMode?(this.innerLayer=ge.addIGSVectorLayer(this,{}),this.innerLayer.commonLayerId=i.id,Promise.resolve(t)):super.onAdd(e)}onUpdate(e){if("server"===this.layer.renderMode){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":ge.setVisible(this,i);break;case"opacity":ge.setOpacity(this);break;case"refresh":ge.refresh(this)}}return Promise.resolve(this)}return super.onUpdate(e)}onRemove(e){const t=this;return"server"===this.layer.renderMode?(this.innerView.removeLayer(this.innerLayer.id),Promise.resolve(t)):super.onRemove(e)}};var ve=class extends ye{_processData(){const e=this.layer;return Promise.resolve(e._source)}};var _e=class extends ye{_processData(){return this.layer.queryFeatures().then(e=>e)}};var be=class extends r.LayerView{onAdd(){const e=this.layer,t=this._getLayerViewVisible();return this.innerLayer=C.addWebTileLayer(this,{visible:t,clippingArea:m.convertClippingArea(e.clippingArea)}),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return C.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":C.setVisible(this,i);break;case"opacity":C.setOpacity(this);break;case"sublayerVisible":case"refresh":C.refresh(this);break;case"clippingArea":{const e=i.params[0],t=this.innerLayer.source,r=this.innerView.getSource(t);r&&r.setClippingArea(m.convertClippingArea(e));break}}}return Promise.resolve(this)}};var we=class extends r.GroupLayerView{};class Se{}Se.addEchartsLayer=function(e,t){const{extensionOptions:i={}}=e,r=Object.assign(e.echartsOptions,i),s=new X(t,r).addTo(t);return s.id=e.id,s},Se.removeLayer=function(e){e.remove()};var xe=Se;var Le=class extends r.LayerView{onAdd(e){const t=this.layer,i=this.innerView;return this.innerLayer=xe.addEchartsLayer(t,i),this.innerLayer.commonLayerId=t.commonLayerId,this._getLayerViewVisible()?this.innerLayer.show():this.innerLayer.hide(),Promise.resolve(this)}onRemove(e){return xe.removeLayer(this.innerLayer),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":const e=i.params&&i.params.length>0?i.params[0]:void 0;this._getLayerViewVisible(e)?this.innerLayer.show():this.innerLayer.hide();break;case"opacity":this.innerLayer.setOpacity(this.layer.opacity)}}return Promise.resolve(this)}};class Ve{}Ve.addMapVLayer=function(e,t){const{extensionOptions:i={}}=e,r=Object.assign(e.mapVOptions,i),s=new K(t,e.data,r);return s.id=e.id,s},Ve.removeLayer=function(e){e.remove()};var ke=Ve;var Ce=class extends r.LayerView{onAdd(e){const t=this.layer,i=this.innerView;return this.innerLayer=ke.addMapVLayer(t,i),this.innerLayer.commonLayerId=t.id,this._getLayerViewVisible()?this.innerLayer.show():this.innerLayer.hide(),Promise.resolve(this)}onRemove(e){return ke.removeLayer(this.innerLayer),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":const e=i.params&&i.params.length>0?i.params[0]:void 0;this._getLayerViewVisible(e)?this.innerLayer.show():this.innerLayer.hide();break;case"opacity":this.innerLayer.setOpacity(this.layer.opacity)}}return Promise.resolve(this)}};var Ee=class extends r.LayerView{onAdd(){const e=this.layer;return this.innerLayer=w.addArcGISMapImageLayer(this),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return w.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":w.setVisible(this,i);break;case"opacity":w.setOpacity(this);break;case"sublayerVisible":case"refresh":w.refresh(this)}}return Promise.resolve(this)}};var Pe=class extends r.LayerView{onAdd(){const{layer:e}=this;return this.innerLayer=_.addArcGISTileLayer(this,{clippingArea:m.convertClippingArea(e.clippingArea)}),this.innerLayer.commonLayerId=e.id,Promise.resolve(this)}onRemove(){return _.removeLayer(this),Promise.resolve(this)}onUpdate(e){if(e.updateContent)for(let t=0;t<e.updateContent.length;t++){const i=e.updateContent[t];if(i)switch(i.name){case"visible":_.setVisible(this);break;case"opacity":_.setOpacity(this);break;case"refresh":_.refresh(this);break;case"clippingArea":{const e=i.params[0],t=this.innerLayer.source,r=this.innerView.getSource(t);r&&r.setClippingArea(m.convertClippingArea(e));break}}}return Promise.resolve(this)}};class Te{}Te.getMouseEvent=function(e,t,i){let s=void 0;return{mapPoint:s=t._spatialReference.isGeographic?new r.Point({coordinates:[e.lngLat.lng,e.lngLat.lat]}):r.Projection.project(new r.Point({coordinates:[e.lngLat.lng,e.lngLat.lat]}),new r.SpatialReference(t.crs.code)),x:e.point.x,y:e.point.y,button:e.originalEvent.button,buttons:e.originalEvent.buttons,stopPropagation:e.originalEvent.stopPropagation,timeStamp:e.originalEvent.timeStamp,native:e.originalEvent,type:i}},Te.getKeyEvent=function(e,t,i){const r={key:e.originalEvent.key,stopPropagation:e.originalEvent.stopPropagation,timeStamp:e.originalEvent.timeStamp,native:e.originalEvent,type:i};return"key-down"===i&&(r.repeat=e.originalEvent.repeat),r},Te.getViewChangeEvent=function(e,t,i){const r={event:e,target:t,type:i};return r.mapView=t,r.scale=t._scale,r.zoom=t._zoom,r.center=t.center,r.extent=t._extent,r},Te.getDragEvent=function(e,t,i,r,s){return{x:e.originalEvent.layerX,y:e.originalEvent.layerY,button:void 0!==s?s:e.originalEvent.button,buttons:e.originalEvent.buttons,cancelable:e.originalEvent.cancelable,origin:i,stopPropagation:e.originalEvent.stopPropagation,timeStamp:e.originalEvent.timeStamp,native:e.originalEvent,action:r,type:"drag"}},Te.getKeyEvent=function(e,t,i){const r={key:e.key,stopPropagation:e.stopPropagation,timeStamp:e.timeStamp,native:e,type:i};return"key-down"===i&&(r.repeat=e.repeat),r};var Oe=Te;class Ie extends r.MapView{constructor(e){if(super(e),e=Object(r.defaultValue)(e,{}),this._options=e,this._center=Object(r.defaultValue)(e.center,void 0),this._center&&Array.isArray(this._center)&&this._center.length>1&&(this._center=new r.Point({coordinates:[this._center[0],this._center[1]]})),this._extent=Object(r.defaultValue)(e.extent,void 0),this.width=void 0,this.height=void 0,this._zoom=Object(r.defaultValue)(e.zoom,0),this._scale=Object(r.defaultValue)(e.scale,void 0),this.maxScale=Object(r.defaultValue)(e.maxScale,void 0),this.minScale=Object(r.defaultValue)(e.minScale,void 0),this.popup=Object(r.defaultValue)(e.popup,void 0),this._spatialReference=void 0,this._referenceLayer=void 0,this.crs=void 0,this.spatialReferenceLocked=Object(r.defaultValue)(e.spatialReferenceLocked,!1),this.stationary=!0,e.fullExtent){let t=r.Extent.fromJSON(e.fullExtent.toJSON());t.spatialReference.isGeographic||(t=r.Projection.project(t,new r.SpatialReference({wkid:4326}))),this._initFullExtent=t}this._fullExtent=this._initFullExtent,this._mapExtent=null}_initView(e,t){const i=this;n.a.accessToken="pk.eyJ1IjoiemtidWQiLCJhIjoiY2w5OGF2NXIyMzQ5bjNub2luem85Y2Z4OCJ9.uX09XQPOX5E7sOohws2l_Q",e&&!this._center&&this.fullExtent&&(this._center=this._fullExtent.center),!this._zoom&&this._scale&&this._initScale(this._scale);let s=void 0;this._center||this._zoom||this._extent&&(s=[[this._extent.xmin,this._extent.ymin],[this._extent.xmax,this._extent.ymax]]);const a={crs:this.crs,container:this._viewId,style:{version:8,sources:{},layers:[{id:Object(r.getGUID)(),type:"background",paint:{"background-color":"rgba(255, 255, 255,1)"}}]},zoom:this._zoom,center:this._center.coordinates,fitBoundsOptions:s,preserveDrawingBuffer:!0,maxBounds:this._getMaxBounds()};return Object.keys(this.extensionOptions).forEach(e=>{"crs"!==e&&"container"!==e&&(a[e]=Object.assign(a[e],this.extensionOptions[e]))}),this._innerView=new n.a.Map(a),this.engineType="mapboxgl",this._initViewEvent(),this._center||this._zoom||!this._extent||this.flyTo({extent:this._this._extent},{animate:!1}),this._initSize(),this._initScaleLimit(),this._initPopup(),this._initCursor(),this._updateMaxBounds(),this._innerView.on("load",()=>{this.getZoom(),this.getCenter(),this.getExtent(),this.getScale()}),new Promise(e=>{i._innerView.loaded()?e(i):i._innerView.once("load",()=>{e(i)})})}_initScaleLimit(){if(void 0!==this._options.minScale)if(this.minScale>0){const e=this._getZoomByScale(this.minScale);void 0!==e&&this._innerView.setMinZoom(e)}else this.minScale=0,this._innerView.setMinZoom(void 0);else{const e=this._innerView.getMinZoom();isFinite(e)?this.minScale=this._getScaleByZoom(this.minZoom):this.minScale=void 0}if(void 0!==this._options.maxScale)if(this.maxScale>0){const e=this._getZoomByScale(this.maxScale);void 0!==e&&this._innerView.setMaxZoom(e)}else this.maxScale<=0&&(this.maxScale=0,this._innerView.setMaxZoom(void 0));else{let e=this._innerView.getMaxZoom();const t=((this.crs||{}).options||{}).lods;t&&Array.isArray(t)&&e>=t.length-1&&(e=t.length-1,this._innerView.setMaxZoom(e)),isFinite(e)?this.maxScale=this._getScaleByZoom(e):this.maxScale=void 0}!this._scale||this._scale<=0?this._scale=this.minScale:this._scale>this.minScale?this._scale=this.minScale:this._scale<this.maxScale&&(this._scale=this.maxScale)}_createCrsObject(e){if(!(e.spatialReference&&e.origin&&e.lods&&e.extent))return;let t;if(e.spatialReference.wkid){const i=r.Projection.getEPSGByWKID(e.spatialReference.wkid);i&&(t=i.strProject)}else e.spatialReference.wkt&&(t=e.spatialReference.wkt);const i=[e.extent.xmin,e.extent.ymin,e.extent.xmax,e.extent.ymax],s=`EPSG:${e.spatialReference.wkid}`,n=t,a={};e.lods.forEach(e=>{a[e.level]=e.resolution});const o=new p(s,n,{resolutions:a,origin:e.origin,tileSize:e.tileSize,bounds:i,unit:e.spatialReference.isGeographic?"degree":void 0});return o.options=e,o}_reCreateView(){return this._innerView&&(this._innerView._animatingZoom=!1,this._innerView.remove()),this._initView(!0,this._options)}_isEqualBounds(e,t){let i=!0;if(e&&t&&Array.isArray(e)&&Array.isArray(t)&&e.length===t.length){for(const r in e)if(e[r]!==t[r]){i=!1;break}}else i=!!(!e&&!t||Array.isArray(e)&&0===e.length&&Array.isArray(t)&&0===t.length);return i}_initViewEvent(){const e=this;this._clickStore=null,this._dragParams={isDrag:!1,origin:null,action:"",button:null},e.fire(r.ViewEventType.loaded,{}),this._innerView.on("click",t=>{e._clickStore=setTimeout(function(){e._clickStore&&e.fire(r.ViewEventType.click,Oe.getMouseEvent(t,e))},300),e.fire(r.ViewEventType.immediateClick,Oe.getMouseEvent(t,e))}),this._innerView.on("contextmenu",t=>{e._clickStore=setTimeout(function(){e._clickStore&&e.fire(r.ViewEventType.click,Oe.getMouseEvent(t,e))},300),e.fire(r.ViewEventType.immediateClick,Oe.getMouseEvent(t,e))}),this._innerView.on("dblclick",t=>{e._clickStore&&(clearTimeout(this._clickStore),e._clickStore=null),e.fire(r.ViewEventType.doubleClick,Oe.getMouseEvent(t,e))}),this._innerView.on("mousedown",t=>{e.fire(r.ViewEventType.pointerDown,Oe.getMouseEvent(t,e)),this._dragParams.isDrag||(this._dragParams.origin={x:t.originalEvent.layerX,y:t.originalEvent.layerY},this._dragParams.button=t.originalEvent.button,this._dragParams.action="mouse-down",this._dragParams.isDrag=!1)}),this._innerView.on("mouseup",t=>{e.fire(r.ViewEventType.pointerUp,Oe.getMouseEvent(t,e)),e._dragParams.isDrag&&"update"===this._dragParams.action&&(this._dragParams.action="end",e.fire(r.ViewEventType.drag,Oe.getDragEvent(t,e,e._dragParams.origin,this._dragParams.action))),e._dragParams={isDrag:!1,origin:null,action:"",button:null}}),this._innerView.on("mousemove",t=>{e.fire(r.ViewEventType.pointerMove,Oe.getMouseEvent(t,e)),e._dragParams.isDrag?(e.fire(r.ViewEventType.drag,Oe.getDragEvent(t,e,e._dragParams.origin,e._dragParams.action,e._dragParams.button)),e._dragParams.action="update"):"mouse-down"===this._dragParams.action&&(this._dragParams.action="start",e._dragParams.isDrag=!0)}),this._innerView.on("dragstart",t=>{""===this._dragParams.action&&t.originalEvent&&(this._dragParams.origin={x:t.originalEvent.layerX,y:t.originalEvent.layerY},this._dragParams.action="start",e.fire(r.ViewEventType.drag,Oe.getDragEvent(t,e,this._dragParams.origin,this._dragParams.action)))}),this._innerView.on("drag",t=>{"start"!==e._dragParams.action&&"update"!==e._dragParams.action||(this._dragParams.action="update",e.fire(r.ViewEventType.drag,Oe.getDragEvent(t,e,this._dragParams.origin,this._dragParams.action)))}),this._innerView.on("dragend",t=>{"start"!==e._dragParams.action&&"update"!==e._dragParams.action||(this._dragParams.action="end",e.fire(r.ViewEventType.drag,Oe.getDragEvent(t,e,this._dragParams.origin,this._dragParams.action)),e._dragParams={origin:null,action:"",button:null})}),this._innerView.on("rotatestart",t=>{""===this._dragParams.action&&t.originalEvent&&(this._dragParams.origin={x:t.originalEvent.layerX,y:t.originalEvent.layerY},this._dragParams.action="start",e.fire(r.ViewEventType.drag,Oe.getDragEvent(t,e,this._dragParams.origin,this._dragParams.action)))}),this._innerView.on("rotate",t=>{"start"!==e._dragParams.action&&"update"!==e._dragParams.action||(this._dragParams.action="update",e.fire(r.ViewEventType.drag,Oe.getDragEvent(t,e,this._dragParams.origin,this._dragParams.action)))}),this._innerView.on("rotateend",t=>{"start"!==e._dragParams.action&&"update"!==e._dragParams.action||(this._dragParams.action="end",e.fire(r.ViewEventType.drag,Oe.getDragEvent(t,e,this._dragParams.origin,this._dragParams.action)),e._dragParams={origin:null,action:"",button:null})}),this._innerView.on("movestart",()=>{e.stationary=!1}),this._innerView.on("zoom",t=>{e.fire(r.ViewEventType.zoom,{zoom:t.target._zoom,event:t})}),this._innerView.on("zoomend",t=>{e._zoomEndHandler(),e.fire(r.ViewEventType.viewChange,Oe.getViewChangeEvent(t,e))}),this._innerView.on("moveend",t=>{e._moveEndHandler(),e.fire(r.ViewEventType.viewChange,Oe.getViewChangeEvent(t,e)),e.stationary=!0}),this._innerView.on("resize",t=>{const i=Number(e.width),s=Number(e.height);e._initSize(),this._updateMaxBounds(),e.fire(r.ViewEventType.resize,{oldWidth:i,oldHeight:s,width:e.width,height:e.height})}),this._listenKey()}_mapActionControl(e,t){this._innerView&&("drag-pan"===e?t?this._innerView.dragPan.enable():this._innerView.dragPan.disable():"double-click-zoom"===e?t?this._innerView.doubleClickZoom.enable():this._innerView.doubleClickZoom.disable():"drag-rotate"===e&&(t?this._innerView.dragRotate.enable():this._innerView.dragRotate.disable()))}_listenKey(){const e=this,t=this._innerView._canvas;t.setAttribute("tabIndex","-1"),t.onclick=(()=>{t.focus()}),t.addEventListener("keydown",t=>{e.fire(r.ViewEventType.keyDown,Oe.getKeyEvent(t,e))}),t.addEventListener("keyup",t=>{e.fire(r.ViewEventType.keyUp,Oe.getKeyEvent(t,e))})}_initSize(){const e=this._innerView.getCanvas(),t=e.style?e.style.width:e.width,i=e.style?e.style.height:e.height;this.width=Number(t.toString().replace("px","")),this.height=Number(i.toString().replace("px",""))}_updateMaxBounds(){const e=this._getMaxBounds();this._innerView.setMaxBounds(e)}_setCursor(e){this._innerView&&(e&&null!==e?(this._innerView._container.style.cursor=e,this._innerView.getCanvasContainer().style.cursor=e):(this._innerView._container.style.removeProperty("cursor"),this._innerView.getCanvasContainer().style.removeProperty("cursor")),this._cursor=e)}_zoomEndHandler(){this.getExtent(),this.getZoom(),this.getScale(),this._showLayerByScale()}getSize(){return{width:this.width,height:this.height}}_moveEndHandler(){this.getCenter(),this.getExtent()}_createLayerViewObj(e){let t=null;return e&&e.autoAddTo2D&&(t=function(e,t){let i=null;switch(t.type){case r.LayerType.igsMapImage:i=new oe({view:e,layer:t});break;case r.LayerType.igsTile:i=new le({view:e,layer:t});break;case r.LayerType.wms:i=new ce({view:e,layer:t});break;case r.LayerType.wmts:i=new he({view:e,layer:t});break;case r.LayerType.graphics:i=new ue({view:e,layer:t,render:new pe});break;case r.LayerType.igsVectorTile:case r.LayerType.arcgisVectorTile:i=new de({view:e,layer:t});break;case r.LayerType.igsFeature:i=new fe({view:e,layer:t});break;case r.LayerType.geojson:i=new ve({view:e,layer:t});break;case r.LayerType.wfs:i=new _e({view:e,layer:t});break;case r.LayerType.webTileLayer:i=new be({view:e,layer:t});break;case r.LayerType.group:i=new we({view:e,layer:t});break;case r.LayerType.echarts:i=new Le({view:e,layer:t});break;case r.LayerType.mapv:i=new Ce({view:e,layer:t});break;case r.LayerType.arcgisMapImage:i=new Ee({view:e,layer:t});break;case r.LayerType.arcgisTile:i=new Pe({view:e,layer:t})}return i}(this,e)),t}_initPopup(){this.popup=new ne({view:this})}hitTest(e){if(!this._innerView)return;const t=[],i=this._getInnerStyleLayerIds();return this._innerView.queryRenderedFeatures([e.x,e.y],{layers:i}).forEach(i=>{if(!i.properties||void 0===i.properties.id||!i.layer||!i.layer.id)return;const s=i.source.split("_")[0],n=i.properties.id;let a=this.getLayer(s);if(!a&&this._graphicsLayers&&this._graphicsLayers.allLayers&&this._graphicsLayers.allLayers.items&&(a=this._graphicsLayers.allLayers.items.find(e=>e.id===s)),!a)return;let o=null;if(a.type===r.LayerType.igsFeature||a.type===r.LayerType.geojson||a.type===r.LayerType.wfs){const e=this._getLayerView(a);e.featureSet&&e.featureSet.features&&(o=e.featureSet.features.filter(e=>{if(e.id===n)return e}))}else if(a.type===r.LayerType.graphics&&a.graphics){o=a.graphics.filter(e=>{if(e.id===n)return e}).items}const l={graphic:o&&o.length>0?o[0]:null,layer:a,mapPoint:this.toMap(e),type:"graphic"};t.push(l)}),t}_getInnerStyleLayerIds(){let e=[];return this._map.allLayers.items.concat(this._graphicsLayers.layers.items).forEach(t=>{if(t.type===r.LayerType.igsFeature||t.type===r.LayerType.geojson){const i=this._getLayerView(t);i&&(e=e.concat(i.getStyleLayerIds()))}else if(t.type===r.LayerType.graphics){const i=this.getInnerLayer(t);i&&i.getStyleLayerIds&&(e=e.concat(i.getStyleLayerIds()))}}),e}toMap(e){if(!e)return;const t=this._innerView.unproject([e.x,e.y]);let i=new r.Point({coordinates:[t.lng,t.lat]});return this._spatialReference&&!this._spatialReference.isGeographic?i=r.Projection.project(i,this._spatialReference):i.spatialReference=this._spatialReference,i}toScreen(e){let t=r.Geometry.fromJSON(e);return t.spatialReference.isGeographic||(t=r.Projection.project(t,new r.SpatialReference({wkid:4326}))),this._innerView.project([t.coordinates[0],t.coordinates[1]])}takeScreenshot(e){e.view=this;let t=null;return this._screenshot?t=this._screenshot._addView():(this._screenshot=new ae(e),t=this._screenshot._addView()),t}flyTo(e,t={animate:!0}){e=Object(r.defaultValue)(e,{});const i=Object(r.defaultValue)(e.zoom,1),s=this._getFlyToCenter(e),n=this._getFlyToExtent(e);if(this._innerView){const e=this._innerView.transform;e.resetZoomScale=!1,s?this._innerView.flyTo({center:[s.coordinates[0],s.coordinates[1]],zoom:i}):n&&this._innerView.fitBounds([[n.xmin,n.ymin],[n.xmax,n.ymax]],t),e.resetZoomScale=!0}}goTo(e={},t={}){let i,s,n=new Promise(e=>{e()});if(this._innerView){let a;if(Object(r.isNull)(e.center)&&Object(r.isNull)(e.zoom)&&Object(r.isNull)(e.scale)||(i=Object(r.isNull)(e.center)?this._center:this._getFlyToCenter({center:e.center}),s=!Object(r.isNull)(e.scale)&&e.scale>0?this._getZoomByScale(e.scale):!Object(r.isNull)(e.zoom)&&e.zoom>0?e.zoom:this._zoom),!Object(r.isNull)(e.target)){const t=this._getTargetExtent(e.target);t.xmin!==t.xmax&&t.ymin!==t.ymax?a=t:i=this._getFlyToCenter({center:new r.Point({coordinates:[t.xmin,t.ymin]})})}const o={animate:!0,duration:200};Object(r.isNull)(t)||(Object(r.isNull)(t.animate)||(o.animate=t.animate),Object(r.isNull)(t.duration)||(o.duration=t.duration));const l=this._innerView.transform;if(l.resetZoomScale=!1,i){let e=i.coordinates[1],t=i.coordinates[0];if(this._fullExtent&&((e>this._fullExtent.ymax||e<this._fullExtent.ymin)&&(e=(this._fullExtent.ymax+this._fullExtent.ymin)/2),(t>this._fullExtent.xmax||t<this._fullExtent.xmin)&&(t=(this._fullExtent.xmax+this._fullExtent.xmin)/2)),isFinite(e)&&isFinite(t)){let r=!1;const a=this._innerView.getCenter();if(s===this._zoom&&e===a.lat&&t===a.lng&&(r=!0),!r){const e={center:[i.coordinates[0],i.coordinates[1]],zoom:s};Object.assign(e,o),n=new Promise(t=>{this._innerView.flyTo(e),this._innerView.once("moveend",()=>{t()})})}}}else if(a){let e=a.xmin,t=a.xmax,i=a.ymin,r=a.ymax;this._fullExtent&&(e<this._fullExtent.xmin&&(e=this._fullExtent.xmin),t>this._fullExtent.xmax&&(t=this._fullExtent.xmax),i<this._fullExtent.ymin&&(i=this._fullExtent.ymin),r>this._fullExtent.ymax&&(r=this._fullExtent.ymax)),isFinite(e)&&isFinite(t)&&isFinite(i)&&isFinite(r)&&(n=new Promise(e=>{this._innerView.fitBounds([[a.xmin,a.ymin],[a.xmax,a.ymax]],o),this._innerView.once("moveend",()=>{e()})}))}l.resetZoomScale=!0}return n}getCenter(){const e=this._innerView.getCenter();let t=new r.Point({coordinates:[e.lng,e.lat]});this._center=t;const i=this._spatialReference;return i.isGeographic||(t=r.Projection.project(t,i)),t}setCenter(e){this._innerView&&(Array.isArray(e)&&e.length>1?(this._center=new r.Point({coordinates:[e[0],e[1]],spatialReference:this._spatialReference}),this.flyTo({zoom:this._zoom,center:this._center})):e instanceof r.Point&&(this._center=e,this.flyTo({zoom:this._zoom,center:this._center})))}getZoom(){return this._zoom=this._innerView.getZoom(),this._zoom}setZoom(e){this._innerView&&(this._zoom=e,this.flyTo({zoom:e,center:this._center}))}getExtent(){if(!this._innerView)return;const e=this._innerView.getBounds();if(!e||!e._sw||!e._ne)return;let t=new r.Extent({xmin:e._sw.lng,ymin:e._sw.lat,xmax:e._ne.lng,ymax:e._ne.lat});const i=this._spatialReference;return i.isGeographic||(t=r.Projection.project(t,i)),this._extent=t,t}setExtent(e){this._innerView&&(this._extent=e,this.flyTo({extent:e}))}getScale(){const e=this._getScaleByZoom(this._zoom);return this._scale=e,e}_getScaleByZoom(e){let t;if(this.crs&&this.crs.options&&this.crs.options.lods&&!Object(r.isNull)(e))if(e%1==0){t=this.crs.options.lods[e].scale}else{const i=Math.floor(e),r=Math.ceil(e),s=this.crs.options.lods[i],n=this.crs.options.lods[r];t=void 0===s&&void 0===n?0:void 0===s?n.scale:void 0===n?s.scale:s.scale-(s.scale-n.scale)*(e-i)}return t}_initScale(e){this._scale&&this._scale>0&&(this._zoom=this._getZoomByScale(e))}_getZoomByScale(e){let t=void 0;if(this.crs&&this.crs.options&&this.crs.options.lods){let i=-1;for(let r=0;r<this.crs.options.lods.length;r++){const s=this.crs.options.lods[r],n=this.crs.options.lods[r-1];if(s.scale<=0)break;if(i<0&&(i=r),r===i){if(s.scale>0&&e>=s.scale){t=s.level;break}}else{if(e>=s.scale&&e<=n.scale&&n.scale!==s.scale){t=s.level-(e-s.scale)/(n.scale-s.scale);break}if(r===this.crs.options.lods.length-1&&s.scale>0&&e<=s.scale){t=s.level;break}}}}return t}setScale(e){if(!this._innerView)return;const t=this._getZoomByScale(e);t&&this.flyTo({center:this._center,zoom:t})}_getMaxBounds(){if(this._fullExtent){const e=[[this._fullExtent.xmin,this._fullExtent.ymin],[this._fullExtent.xmax,this._fullExtent.ymax]];if(this._innerView)try{const t=Math.max(this._innerView.transform.width,200),i=Math.max(this._innerView.transform.height,200)/t,r=this._innerView.transform,s=r.project({lng:e[0][0],lat:e[1][1]}),n=r.project({lng:e[1][0],lat:e[0][1]}),a=r.project({lng:(e[0][0]+e[1][0])/2,lat:(e[0][1]+e[1][1])/2}),o=n.x-s.x,l=n.y-s.y,c=Math.max(o,l)/2,h=a.x-c,u=a.y-c*i,p=a.x+c,d=a.y+c*i,y=r.unproject({x:h,y:u}),m=r.unproject({x:p,y:d});e[0][0]=Math.min(y.lng,e[0][0]),e[0][1]=Math.min(m.lat,e[0][1]),e[1][0]=Math.max(m.lng,e[1][0]),e[1][1]=Math.max(y.lat,e[1][1])}catch(e){}return e}return[]}_isEqualCrs(e,t){let i=!1;if(!e||!t)return i;let s=void 0;e.code.split(":").length>1&&(s=e.code.split(":")[1]);const n=new r.SpatialReference({wkid:s,wkt:e.def});let a=void 0;t.code.split(":").length>1&&(a=t.code.split(":")[1]);const o=new r.SpatialReference({wkid:a,wkt:t.def});return n.equals(o)&&t.options&&e.options&&Object(r.compareObject)(t.options._resolutions,e.options_resolutions)&&Object(r.compareObject)(t.origin,e.origin)&&Object(r.compareObject)(t.extent,e.extent)&&(i=!0),i}_moveLayerView(e,t){let i,r;if(e instanceof ue){i=[];const{_sourceMetaDatas:t}=e.innerLayer;Object.keys(t).forEach(e=>{i.push(t[e].layerId)})}else if(e instanceof ye)i=e.styleLayers.map(e=>e.id);else if(e instanceof de){const t=e.innerLayer||[];i=t.map(e=>e.id)}else i=e.innerLayer.id;if(t instanceof ue){const e=t.innerLayer._getBottomLayer();r=e.layerId}else if(t instanceof ye)t.styleLayers.length>0&&(r=t.styleLayers[0].id);else if(t instanceof de){const e=t.innerLayer||[];e.length>0&&(r=e[0].id)}else r=t.innerLayer.id;e instanceof ue||e instanceof ye||e instanceof de?i.forEach(t=>{e.innerView.moveLayer(t,r)}):e.innerView.moveLayer(i,r)}toJSON(){let e=super.toJSON();return e=Object.assign(e,{extent:Object(r.toJSON)(this._extent,r.Extent),width:this.width,height:this.height,spatialReferenceLocked:this.spatialReferenceLocked})}}Object.defineProperties(Ie.prototype,{scale:{get(){return this._scale},set(e){this.setScale(e)}},zoom:{get(){return this._zoom},set(e){this.setZoom(e)}},extent:{get(){return this._extent},set(e){this.setExtent(e)}},center:{get(){let e=this._center;return this._spatialReference&&(this.spatialReference.isGeographic||(e=r.Projection.project(this._center,this._spatialReference))),e},set(e){this.setCenter(e)}},spatialReference:{get(){return this._spatialReference},set(e){}},rotation:{get(){return this._rotation},set(e){this._rotation=e,this._innerView&&this._innerView.setBearing(e)}}}),Ie.fromJSON=function(e){return e=Object(r.defaultValue)(e,{}),new Ie(e)},r.Zondy.MapViewMapboxgl=Ie;var Me=Ie;class Ae extends r.SketchEditor{constructor(e){super(e)}start(e,t){super.start(e,t)}startCustomDrawTool(e){super.startCustomDrawTool(e)}stop(){super.stop()}remove(){super.remove()}update(e,t){super.updateFeature(e,t)}addVertex(e,t){super.addVertex(e,t)}updateVertex(e,t){super.updateVertex(e,t)}removeVertex(e){super.removeVertex(e)}getSketchDataType(){super.getSketchDataType()}setSketchStyle(e){super.setSketchStyle(e)}getSketchStyle(){return super.getSketchStyle()}getGeometry(){return super.getGeometry()}union(e){return super.union(e)}split(e,t){return super.split(e,t)}drawPolylineToPolygon(e){super.drawPolylineToPolygon(e)}undo(){return super.undo()}redo(){return super.redo()}canUndo(){return super.canUndo()}canRedo(){return super.canRedo()}_hitTestSketchEvent(e=this._sketchInnerLayer){const t=this;this.view.on(r.ViewEventType.mouseDown,i=>{if(!i||!i.x||!i.y)return;if(t._drawTool&&t._drawTool._editMode===r.SketchEditMode.DRAWING)return;let s=void 0;const n=t.view.hitTest({x:i.x,y:i.y});if(n&&Array.isArray(n)&&(s=n[0]),s&&e.id===s.layer.id){let e=t._drawTool?t._drawTool._getDrawToolByFeatureId(s.graphic.id):void 0;if(!e&&(!t._drawTool||t._drawTool.sketchStage.entityGraphic&&"drawn"===t._drawTool.state)){const i=t.view.getLayer(s.layer.id).graphics.filter(e=>{if(e.id===s.graphic.id)return e});if(!(i&&i.items.length>0))return;{const r=i.items[0];t._drawTool&&t._drawTool._clearEditGraphics(t._drawTool._editMode),this._addFeatureToSketchEditor(r),t._undoRedoManager.reset(),t._drawTools=[t._drawTool],e=t._drawTool}}if(!e||e===t._drawTool&&"drawn"!==e.state)return;if(0===e.editOption._hitTestMode){const s=()=>{if(t._editable&&(void 0===t._drawTool||null===t._drawTool||3!==t._drawTool._editMode)){if(void 0!==t._drawTool&&null!==t._drawTool&&t.fire("selected",{isSelected:!0,selectedDrawTool:t._drawTool,selectedGeometry:t._drawTool.sketchStage.entityGraphic.geometry},t),!e._parent&&0===e._editMode){const e=new r.SketchEditorEvent({type:r.SketchEditorEventType.update,target:t,toolEventInfo:null,state:r.SketchEditorState.start,feature:t._drawTool.sketchStage.entityGraphic,geometry:t._drawTool.sketchStage.entityGraphic.geometry});t.fire(r.SketchEditorEventType.update,e)}e.hitTestFeature(e.sketchStage.entityGraphic,i),t.view.off(r.ViewEventType.mouseUp,s)}};t.view.on(r.ViewEventType.mouseUp,s)}else{if(!t._editable)return;if(void 0!==t._drawTool&&null!==t._drawTool&&3===t._drawTool._editMode)return;e.hitTestFeature(e.sketchStage.entityGraphic,i)}}})}_getCenterCoordinate(e,t){return[(e[0]+t[0])/2,(e[1]+t[1])/2]}}r.Zondy.SketchEditorMapboxgl=Ae;var je=Ae;i.d(t,"MapViewMapboxgl",function(){return Me}),i.d(t,"MapView",function(){return Me}),i.d(t,"SketchEditorMapboxgl",function(){return je}),i.d(t,"SketchEditor",function(){return je}),i.d(t,"mapboxCustomCRS",function(){return u}),i.d(t,"initializeOptions",function(){return Y}),i.d(t,"addStyleToMapboxglMap",function(){return Q}),i.d(t,"MapVLayer",function(){return K}),i.d(t,"EchartsLayer",function(){return X}),i.d(t,"initializeCRS",function(){return ee}),i.d(t,"Popup",function(){return ne}),i.d(t,"Screenshot",function(){return ae}),r.Zondy.mapboxCustomCRS=u,r.zondy.mapboxgl={},r.zondy.mapboxgl.VERSION="17.2.8",r.zondy.mapboxgl.MapView=Me,r.zondy.mapboxgl.layer={},r.zondy.mapboxgl.layer.MapVLayer=K,r.zondy.mapboxgl.layer.EchartsLayer=X,r.zondy.mapboxgl.tool={},r.zondy.mapboxgl.tool.sketch={},r.zondy.mapboxgl.tool.sketch.SketchEditor=je,r.zondy.mapboxgl.tool.Screenshot=ae,r.zondy.mapboxgl.widget={},r.zondy.mapboxgl.widget.Popup=ne,r.zondy.mapboxgl.util={},r.zondy.mapboxgl.util.initializeOptions=Y,r.zondy.mapboxgl.util.addStyleToMapboxglMap=Q,r.zondy.mapboxgl.util.initializeCRS=ee,r.zondy.mapboxgl.util.mapboxCustomCRS=u,r.Zondy.PluginVersion=r.zondy.mapboxgl.VERSION,r.Zondy.mapboxCustomCRS=u}]);
|