@mapgis/webclient-mapboxgl-plugin
Version:
A cloud GIS network client development platform based on MapboxGL.
1 lines • 166 kB
JavaScript
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@mapgis/webclient-common"),require("@mapgis/mapbox-gl"));else if("function"==typeof define&&define.amd)define(["@mapgis/webclient-common","@mapgis/mapbox-gl"],t);else{var i="object"==typeof exports?t(require("@mapgis/webclient-common"),require("@mapgis/mapbox-gl")):t(e["@mapgis/webclient-common"],e["@mapgis/mapbox-gl"]);for(var r in i)("object"==typeof exports?exports:e)[r]=i[r]}}(window,function(e,t){return function(e){var t={};function i(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return 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 a in e)i.d(r,a,function(t){return e[t]}.bind(null,a));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=3)}([function(t,i){t.exports=e},function(e,i){e.exports=t},function(e,t,i){e.exports=function(){"use strict";Object.freeze=function(e){return e};var e=Object.create||function(){function e(){}return function(t){return e.prototype=t,new e}}(),t=/\{ *([\w_-]+) *\}/g,i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},r=3.141592653589793,a=6378245,n=.006693421622965943,s=3e3*r/180;function o(e,t,i){var a=r/180*t,n=Math.pow(2,i);return[parseInt((e+180)/360*n),parseInt((1-Math.asinh(Math.tan(a))/r)/2*n)]}function l(e,t){if(i(e)){var r=e[0];t=e[1],e=r}e instanceof Object&&(r=e.lng,t=e.lat,e=r);var a,n,o,l,c,h,p=(a=e-.0065,n=t-.006,o=Math.sqrt(a*a+n*n)-2e-5*Math.sin(n*s),l=Math.atan2(n,a)-3e-6*Math.cos(a*s),c=o*Math.cos(l),h=o*Math.sin(l),{lng:c,lat:h});return u(p.lng,p.lat)}function c(e,t){if(i(e)){var r=e[0];t=e[1],e=r}e instanceof Object&&(r=e.lng,t=e.lat,e=r);var a,n,o,l,c,u,p=h(e,t);return a=p.lng,n=p.lat,o=Math.sqrt(a*a+n*n)+2e-5*Math.sin(n*s),l=Math.atan2(n,a)+3e-6*Math.cos(a*s),c=o*Math.cos(l)+.0065,u=o*Math.sin(l)+.006,{lng:c,lat:u}}function h(e,t){if(i(e)){var s=e[0];t=e[1],e=s}e instanceof Object&&(s=e.lng,t=e.lat,e=s);var o=p(e-105,t-35),l=d(e-105,t-35),c=t/180*r,h=Math.sin(c);h=1-n*h*h;var u=Math.sqrt(h);return o=180*o/(a*(1-n)/(h*u)*r),{lng:e+(l=180*l/(a/u*Math.cos(c)*r)),lat:t+o}}function u(e,t){if(i(e)){var s=e[0];t=e[1],e=s}e instanceof Object&&(s=e.lng,t=e.lat,e=s);var o=function(e,t){var i=p(e-105,t-35),s=d(e-105,t-35),o=t/180*r,l=Math.sin(o);l=1-n*l*l;var c=Math.sqrt(l);return i=180*i/(a*(1-n)/(l*c)*r),s=180*s/(a/c*Math.cos(o)*r),{lng:e+s,lat:t+i}}(e,t);return{lng:2*e-o.lng,lat:2*t-o.lat}}function p(e,t){var i=2*e-100+3*t+.2*t*t+.1*e*t+.2*Math.sqrt(Math.abs(e));return i+=2*(20*Math.sin(6*e*r)+20*Math.sin(2*e*r))/3,i+=2*(20*Math.sin(t*r)+40*Math.sin(t/3*r))/3,i+=2*(160*Math.sin(t/12*r)+320*Math.sin(t*r/30))/3}function d(e,t){var i=300+e+2*t+.1*e*e+.1*e*t+.1*Math.sqrt(Math.abs(e));return i+=2*(20*Math.sin(6*e*r)+20*Math.sin(2*e*r))/3,i+=2*(20*Math.sin(e*r)+40*Math.sin(e/3*r))/3,i+=2*(150*Math.sin(e/12*r)+300*Math.sin(e/30*r))/3}function y(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e}function m(e){return"string"==typeof e}var f=void 0,g=null;function v(e,t){isNaN(e)&&(e=Ib(e),e=isNaN(e)?0:e),m(e)&&(e=parseFloat(e)),isNaN(t)&&(t=Ib(t),t=isNaN(t)?0:t),m(t)&&(t=parseFloat(t)),this.lng=e,this.lat=t}function b(e,t){this.x=e||0,this.y=t||0,this.x=this.x,this.y=this.y}function _(){}function S(){}v.TL=function(e){return e&&180>=e.lng&&-180<=e.lng&&74>=e.lat&&-74<=e.lat},v.prototype.lb=function(e){return e&&this.lat==e.lat&&this.lng==e.lng},b.prototype.lb=function(e){return e&&e.x==this.x&&e.y==this.y},_.prototype.nh=function(){aa("lngLatToPoint方法未实现")},_.prototype.wi=function(){aa("pointToLngLat方法未实现")},S.prototype=new _,y(S,{$O:6370996.81,lG:[12890594.86,8362377.87,5591021,3481989.83,1678043.12,0],Au:[75,60,45,30,15,0],fP:[[1.410526172116255e-8,898305509648872e-20,-1.9939833816331,200.9824383106796,-187.2403703815547,91.6087516669843,-23.38765649603339,2.57121317296198,-.03801003308653,17337981.2],[-7.435856389565537e-9,8983055097726239e-21,-.78625201886289,96.32687599759846,-1.85204757529826,-59.36935905485877,47.40033549296737,-16.50741931063887,2.28786674699375,10260144.86],[-3.030883460898826e-8,898305509983578e-20,.30071316287616,59.74293618442277,7.357984074871,-25.38371002664745,13.45380521110908,-3.29883767235584,.32710905363475,6856817.37],[-1.981981304930552e-8,8983055099779535e-21,.03278182852591,40.31678527705744,.65659298677277,-4.44255534477492,.85341911805263,.12923347998204,-.04625736007561,4482777.06],[3.09191371068437e-9,8983055096812155e-21,6995724062e-14,23.10934304144901,-.00023663490511,-.6321817810242,-.00663494467273,.03430082397953,-.00466043876332,2555164.4],[2.890871144776878e-9,8983055095805407e-21,-3.068298e-8,7.47137025468032,-353937994e-14,-.02145144861037,-1234426596e-14,.00010322952773,-323890364e-14,826088.5]],iG:[[-.0015702102444,111320.7020616939,0x60e374c3105a3,-0x24bb4115e2e164,0x5cc55543bb0ae8,-0x7ce070193f3784,0x5e7ca61ddf8150,-0x261a578d8b24d0,0x665d60f3742ca,82.5],[.0008277824516172526,111320.7020463578,647795574.6671607,-4082003173.641316,10774905663.51142,-15171875531.51559,12053065338.62167,-5124939663.577472,913311935.9512032,67.5],[.00337398766765,111320.7020202162,4481351.045890365,-23393751.19931662,79682215.47186455,-115964993.2797253,97236711.15602145,-43661946.33752821,8477230.501135234,52.5],[.00220636496208,111320.7020209128,51751.86112841131,3796837.749470245,992013.7397791013,-1221952.21711287,1340652.697009075,-620943.6990984312,144416.9293806241,37.5],[-.0003441963504368392,111320.7020576856,278.2353980772752,2485758.690035394,6070.750963243378,54821.18345352118,9540.606633304236,-2710.55326746645,1405.483844121726,22.5],[-.0003218135878613132,111320.7020701615,.00369383431289,823725.6402795718,.46104986909093,2351.343141331292,1.58060784298199,8.77738589078284,.37238884252424,7.45]],Z1:function(e,t){return e&&t&&(e=this.Fb(e))?(i=this.Tk(e.lng),r=this.Tk(e.lat),(t=this.Fb(t))?this.Pe(i,this.Tk(t.lng),r,this.Tk(t.lat)):0):0;var i,r},Vo:function(e,t){return e&&t?(e.lng=this.JD(e.lng,-180,180),e.lat=this.ND(e.lat,-74,74),t.lng=this.JD(t.lng,-180,180),t.lat=this.ND(t.lat,-74,74),this.Pe(this.Tk(e.lng),this.Tk(t.lng),this.Tk(e.lat),this.Tk(t.lat))):0},Fb:function(e){if(e===g||e===f)return new v(0,0);var t,i;t=new v(Math.abs(e.lng),Math.abs(e.lat));for(var r=0;r<this.lG.length;r++)if(t.lat>=this.lG[r]){i=this.fP[r];break}return new v((e=this.gK(e,i)).lng.toFixed(6),e.lat.toFixed(6))},Eb:function(e){if(e===g||e===f||180<e.lng||-180>e.lng||90<e.lat||-90>e.lat)return new v(0,0);var t,i;e.lng=this.JD(e.lng,-180,180),e.lat=this.ND(e.lat,-74,74),t=new v(e.lng,e.lat);for(var r=0;r<this.Au.length;r++)if(t.lat>=this.Au[r]){i=this.iG[r];break}if(!i)for(r=0;r<this.Au.length;r++)if(t.lat<=-this.Au[r]){i=this.iG[r];break}return new v((e=this.gK(e,i)).lng.toFixed(2),e.lat.toFixed(2))},gK:function(e,t){if(e&&t){var i=t[0]+t[1]*Math.abs(e.lng),r=Math.abs(e.lat)/t[9];return r=t[2]+t[3]*r+t[4]*r*r+t[5]*r*r*r+t[6]*r*r*r*r+t[7]*r*r*r*r*r+t[8]*r*r*r*r*r*r,new v(i*=0>e.lng?-1:1,r*=0>e.lat?-1:1)}},Pe:function(e,t,i,r){return this.$O*Math.acos(Math.sin(i)*Math.sin(r)+Math.cos(i)*Math.cos(r)*Math.cos(t-e))},Tk:function(e){return Math.PI*e/180},Z3:function(e){return 180*e/Math.PI},ND:function(e,t,i){return t!=g&&(e=Math.max(e,t)),i!=g&&(e=Math.min(e,i)),e},JD:function(e,t,i){for(;e>i;)e-=i-t;for(;e<t;)e+=i-t;return e}}),y(S.prototype,{Jm:function(e){return S.Eb(e)},nh:function(e){return new b((e=S.Eb(e)).lng,e.lat)},qh:function(e){return S.Fb(e)},wi:function(e){return e=new v(e.x,e.y),S.Fb(e)},fc:function(e,t,i,r,a){if(e)return e=this.Jm(e,a),t=this.Lc(t),new b(Math.round((e.lng-i.lng)/t+r.width/2),Math.round((i.lat-e.lat)/t+r.height/2))},zb:function(e,t,i,r,a){if(e)return t=this.Lc(t),this.qh(new v(i.lng+t*(e.x-r.width/2),i.lat-t*(e.y-r.height/2)),a)},Lc:function(e){return Math.pow(2,18-e)}});var x=S.prototype;!function(e,t){for(var i in t)e[i]=t[i]}(x,{lngLatToPoint:x.nh,pointToLngLat:x.wi});let w={Point:v,Pixel:b,MercatorProjection:S};class L{constructor(e,t){this.levelMax=e,this.levelMin=t,this.projection=new w.MercatorProjection}_getRetain(e){return Math.pow(2,e-18)}getResolution(e,t){return Math.pow(2,18-t)*Math.cos(e)}lnglatToPoint(e,t){let i=new w.Point(e,t),r=this.projection.lngLatToPoint(i);return{pointX:r.x,pointY:r.y}}pointToLnglat(e,t){let i=new w.Pixel(e,t),r=this.projection.pointToLngLat(i);return{lng:r.lng,lat:r.lat}}_lngToTileX(e,t){let i=this.lnglatToPoint(e,0);return Math.floor(i.pointX*this._getRetain(t)/256)}_latToTileY(e,t){let i=this.lnglatToPoint(0,e);return Math.floor(i.pointY*this._getRetain(t)/256)}lnglatToTile(e,t,i){return[this._lngToTileX(e,i),this._latToTileY(t,i)]}_lngToPixelX(e,t){let i=this._lngToTileX(e,t),r=this.lnglatToPoint(e,0);return Math.floor(r.pointX*this._getRetain(t)-256*i)}_latToPixelY(e,t){let i=this._latToTileY(e,t),r=this.lnglatToPoint(0,e);return Math.floor(r.pointY*this._getRetain(t)-256*i)}lnglatToPixel(e,t,i){return{pixelX:this._lngToPixelX(e,i),pixelY:this._latToPixelY(t,i)}}_pixelXToLng(e,t,i){let r=(256*t+e)/this._getRetain(i);return this.pointToLnglat(r,0).lng}_pixelYToLat(e,t,i){let r=(256*t+e)/this._getRetain(i);return this.pointToLnglat(0,r).lat}pixelToLnglat(e,t,i,r,a){let n=(256*i+e)/this._getRetain(a),s=(256*r+t)/this._getRetain(a),o=this.pointToLnglat(n,s);return[o.lng,o.lat]}}function M(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function T(e){"@babel/helpers - typeof";return(T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function V(e){var t=function(e,t){if("object"!=T(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t);if("object"!=T(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==T(t)?t:t+""}function P(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,V(r.key),r)}}function k(e,t,i){return t&&P(e.prototype,t),i&&P(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}function O(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function E(e){return(E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C(e,t){return(C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function j(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,r=Array(t);i<t;i++)r[i]=e[i];return r}function I(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var r,a,n,s,o=[],l=!0,c=!1;try{if(n=(i=i.call(e)).next,0===t){if(Object(i)!==i)return;l=!1}else for(;!(l=(r=n.call(i)).done)&&(o.push(r.value),o.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=i.return&&(s=i.return(),Object(s)!==s))return}finally{if(c)throw a}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return j(e,t);var i={}.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?j(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var A,z=1e-6,R="undefined"!=typeof Float32Array?Float32Array:Array;function D(e,t){var i,r,a,n,s,o,l,c=(i=[],a=e,n=(r=t)[0],s=r[1],o=r[2],l=r[3],i[0]=a[0]*n+a[4]*s+a[8]*o+a[12]*l,i[1]=a[1]*n+a[5]*s+a[9]*o+a[13]*l,i[2]=a[2]*n+a[6]*s+a[10]*o+a[14]*l,i[3]=a[3]*n+a[7]*s+a[11]*o+a[15]*l,i);return function(e,t,i){e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i}(c,c,1/c[3]),c}function G(e,t,i){var r=t[0],a=t[1],n=t[2],s=t[3],o=t[4],l=t[5],c=t[6],h=t[7],u=t[8],p=t[9],d=t[10],y=t[11],m=t[12],f=t[13],g=t[14],v=t[15],b=i[0],_=i[1],S=i[2],x=i[3];return e[0]=b*r+_*o+S*u+x*m,e[1]=b*a+_*l+S*p+x*f,e[2]=b*n+_*c+S*d+x*g,e[3]=b*s+_*h+S*y+x*v,b=i[4],_=i[5],S=i[6],x=i[7],e[4]=b*r+_*o+S*u+x*m,e[5]=b*a+_*l+S*p+x*f,e[6]=b*n+_*c+S*d+x*g,e[7]=b*s+_*h+S*y+x*v,b=i[8],_=i[9],S=i[10],x=i[11],e[8]=b*r+_*o+S*u+x*m,e[9]=b*a+_*l+S*p+x*f,e[10]=b*n+_*c+S*d+x*g,e[11]=b*s+_*h+S*y+x*v,b=i[12],_=i[13],S=i[14],x=i[15],e[12]=b*r+_*o+S*u+x*m,e[13]=b*a+_*l+S*p+x*f,e[14]=b*n+_*c+S*d+x*g,e[15]=b*s+_*h+S*y+x*v,e}function N(e,t,i){var r,a,n,s,o,l,c,h,u,p,d,y,m=i[0],f=i[1],g=i[2];return t===e?(e[12]=t[0]*m+t[4]*f+t[8]*g+t[12],e[13]=t[1]*m+t[5]*f+t[9]*g+t[13],e[14]=t[2]*m+t[6]*f+t[10]*g+t[14],e[15]=t[3]*m+t[7]*f+t[11]*g+t[15]):(r=t[0],a=t[1],n=t[2],s=t[3],o=t[4],l=t[5],c=t[6],h=t[7],u=t[8],p=t[9],d=t[10],y=t[11],e[0]=r,e[1]=a,e[2]=n,e[3]=s,e[4]=o,e[5]=l,e[6]=c,e[7]=h,e[8]=u,e[9]=p,e[10]=d,e[11]=y,e[12]=r*m+o*f+u*g+t[12],e[13]=a*m+l*f+p*g+t[13],e[14]=n*m+c*f+d*g+t[14],e[15]=s*m+h*f+y*g+t[15]),e}function F(e,t,i){var r=i[0],a=i[1],n=i[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*a,e[5]=t[5]*a,e[6]=t[6]*a,e[7]=t[7]*a,e[8]=t[8]*n,e[9]=t[9]*n,e[10]=t[10]*n,e[11]=t[11]*n,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)}),A=new R(4),R!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0,A[3]=0);var B=function(e,t,i,r,a){var n,s=1/Math.tan(t/2);return e[0]=s/i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=a&&a!==1/0?(n=1/(r-a),e[10]=(a+r)*n,e[14]=2*a*r*n):(e[10]=-1,e[14]=-2*r),e};function U(e,t){var i=e[0],r=e[1],a=e[2],n=e[3],s=e[4],o=e[5],l=e[6],c=e[7],h=e[8],u=e[9],p=e[10],d=e[11],y=e[12],m=e[13],f=e[14],g=e[15],v=t[0],b=t[1],_=t[2],S=t[3],x=t[4],w=t[5],L=t[6],M=t[7],T=t[8],V=t[9],P=t[10],k=t[11],O=t[12],E=t[13],C=t[14],j=t[15];return Math.abs(i-v)<=z*Math.max(1,Math.abs(i),Math.abs(v))&&Math.abs(r-b)<=z*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(a-_)<=z*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(n-S)<=z*Math.max(1,Math.abs(n),Math.abs(S))&&Math.abs(s-x)<=z*Math.max(1,Math.abs(s),Math.abs(x))&&Math.abs(o-w)<=z*Math.max(1,Math.abs(o),Math.abs(w))&&Math.abs(l-L)<=z*Math.max(1,Math.abs(l),Math.abs(L))&&Math.abs(c-M)<=z*Math.max(1,Math.abs(c),Math.abs(M))&&Math.abs(h-T)<=z*Math.max(1,Math.abs(h),Math.abs(T))&&Math.abs(u-V)<=z*Math.max(1,Math.abs(u),Math.abs(V))&&Math.abs(p-P)<=z*Math.max(1,Math.abs(p),Math.abs(P))&&Math.abs(d-k)<=z*Math.max(1,Math.abs(d),Math.abs(k))&&Math.abs(y-O)<=z*Math.max(1,Math.abs(y),Math.abs(O))&&Math.abs(m-E)<=z*Math.max(1,Math.abs(m),Math.abs(E))&&Math.abs(f-C)<=z*Math.max(1,Math.abs(f),Math.abs(C))&&Math.abs(g-j)<=z*Math.max(1,Math.abs(g),Math.abs(j))}function Z(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e}function $(e,t){if(!e)throw new Error(t||"viewport-mercator-project: assertion failed.")}!function(){var e;e=new R(2),R!=Float32Array&&(e[0]=0,e[1]=0)}(),function(){var e;e=new R(3),R!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0)}();var q=Math.PI,K=q/4,W=q/180,J=180/q,X=512,Y=4003e4,H=1.5;function Q(e){return Math.pow(2,e)}function ee(e,t){var i=I(e,2),r=i[0],a=i[1];$(Number.isFinite(r)&&Number.isFinite(t)),$(Number.isFinite(a)&&a>=-90&&a<=90,"invalid latitude");var n=a*W;return[(t*=X)*(r*W+q)/(2*q),t*(q-Math.log(Math.tan(K+.5*n)))/(2*q)]}function te(e,t){var i=I(e,2),r=i[0],a=i[1],n=r/(t*=X)*(2*q)-q,s=2*(Math.atan(Math.exp(q-a/t*(2*q)))-K);return[n*J,s*J]}function ie(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=I(e,3),a=r[0],n=r[1],s=r[2];if($(Number.isFinite(a)&&Number.isFinite(n),"invalid pixel coordinate"),Number.isFinite(s))return D(t,[a,n,s,1]);var o=D(t,[a,n,0,1]),l=D(t,[a,n,1,1]),c=o[2],h=l[2];return function(e,t,i,r){var a=t[0],n=t[1];return e[0]=a+r*(i[0]-a),e[1]=n+r*(i[1]-n),e}([],o,l,c===h?0:((i||0)-c)/(h-c))}var re=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],ae=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=t.width,r=t.height,a=t.viewMatrix,n=void 0===a?re:a,s=t.projectionMatrix,o=void 0===s?re:s;M(this,e),this.width=i||1,this.height=r||1,this.scale=1,this.pixelsPerMeter=1,this.viewMatrix=n,this.projectionMatrix=o;var l=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];G(l,l,this.projectionMatrix),G(l,l,this.viewMatrix),this.viewProjectionMatrix=l;var c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];F(c,c,[this.width/2,-this.height/2,1]),N(c,c,[1,-1,0]),G(c,c,this.viewProjectionMatrix);var h,u,p,d,y,m,f,g,v,b,_,S,x,w,L,T,V,P,k,O,E,C,j,I,A,z,R,D,B,U,Z,$=(h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],p=(u=c)[0],(Z=(k=p*(g=u[5])-(d=u[1])*(f=u[4]))*(U=(x=u[10])*(P=u[15])-(w=u[11])*(V=u[14]))-(O=p*(v=u[6])-(y=u[2])*f)*(B=(S=u[9])*P-w*(T=u[13]))+(E=p*(b=u[7])-(m=u[3])*f)*(D=S*V-x*T)+(C=d*v-y*g)*(R=(_=u[8])*P-w*(L=u[12]))-(j=d*b-m*g)*(z=_*V-x*L)+(I=y*b-m*v)*(A=_*T-S*L))?(Z=1/Z,h[0]=(g*U-v*B+b*D)*Z,h[1]=(y*B-d*U-m*D)*Z,h[2]=(T*I-V*j+P*C)*Z,h[3]=(x*j-S*I-w*C)*Z,h[4]=(v*R-f*U-b*z)*Z,h[5]=(p*U-y*R+m*z)*Z,h[6]=(V*E-L*I-P*O)*Z,h[7]=(_*I-x*E+w*O)*Z,h[8]=(f*B-g*R+b*A)*Z,h[9]=(d*R-p*B-m*A)*Z,h[10]=(L*j-T*E+P*k)*Z,h[11]=(S*E-_*j-w*k)*Z,h[12]=(g*z-f*D-v*A)*Z,h[13]=(p*D-d*z+y*A)*Z,h[14]=(T*O-L*C-V*k)*Z,h[15]=(_*C-S*O+x*k)*Z,h):null);if(!$)throw new Error("Pixel project matrix not invertible");this.pixelProjectionMatrix=c,this.pixelUnprojectionMatrix=$,this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}return k(e,[{key:"equals",value:function(t){return t instanceof e&&t.width===this.width&&t.height===this.height&&U(t.projectionMatrix,this.projectionMatrix)&&U(t.viewMatrix,this.viewMatrix)}},{key:"project",value:function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).topLeft,i=void 0===t||t,r=function(e,t){var i=I(e,3),r=i[0],a=i[1],n=i[2],s=void 0===n?0:n;return $(Number.isFinite(r)&&Number.isFinite(a)&&Number.isFinite(s)),D(t,[r,a,s,1])}(this.projectPosition(e),this.pixelProjectionMatrix),a=I(r,2),n=a[0],s=a[1],o=i?s:this.height-s;return 2===e.length?[n,o]:[n,o,r[2]]}},{key:"unproject",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.topLeft,r=void 0===i||i,a=t.targetZ,n=I(e,3),s=n[0],o=n[1],l=n[2],c=r?o:this.height-o,h=a&&a*this.pixelsPerMeter,u=ie([s,c,l],this.pixelUnprojectionMatrix,h),p=I(this.unprojectPosition(u),3),d=p[0],y=p[1],m=p[2];return Number.isFinite(l)?[d,y,m]:Number.isFinite(a)?[d,y,a]:[d,y]}},{key:"projectPosition",value:function(e){var t=I(this.projectFlat(e),2);return[t[0],t[1],(e[2]||0)*this.pixelsPerMeter]}},{key:"unprojectPosition",value:function(e){var t=I(this.unprojectFlat(e),2);return[t[0],t[1],(e[2]||0)/this.pixelsPerMeter]}},{key:"projectFlat",value:function(e){return arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.scale,e}},{key:"unprojectFlat",value:function(e){return arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.scale,e}}]),e}(),ne=function(e){function t(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=i.width,a=i.height,n=i.latitude,s=void 0===n?0:n,o=i.longitude,l=void 0===o?0:o,c=i.zoom,h=void 0===c?0:c,u=i.pitch,p=void 0===u?0:u,d=i.bearing,y=void 0===d?0:d,m=i.altitude,f=void 0===m?1.5:m,g=i.nearZMultiplier,v=i.farZMultiplier;M(this,t),r=r||1,a=a||1;var b=Q(h);f=Math.max(.75,f);var _=ee([l,s],b);_[2]=0;var S=function(e){var t=e.width,i=e.height,r=e.pitch,a=function(e){var t=e.width,i=e.height,r=e.altitude,a=void 0===r?H:r,n=e.pitch,s=void 0===n?0:n,o=e.nearZMultiplier,l=void 0===o?1:o,c=e.farZMultiplier,h=void 0===c?1:c,u=s*W,p=Math.atan(.5/a),d=Math.sin(p)*a/Math.sin(Math.PI/2-u-p),y=Math.cos(Math.PI/2-u)*d+a;return{fov:2*Math.atan(i/2/a),aspect:t/i,focalDistance:a,near:l,far:y*h}}({width:t,height:i,altitude:e.altitude,pitch:r,nearZMultiplier:e.nearZMultiplier,farZMultiplier:e.farZMultiplier}),n=a.fov,s=a.aspect,o=a.near,l=a.far;return B([],n,s,o,l)}({width:r,height:a,pitch:p,bearing:y,altitude:f,nearZMultiplier:g||1/a,farZMultiplier:v||1.01}),x=function(e){var t,i,r,a,n,s,o,l,c,h,u,p,d,y=e.height,m=e.pitch,f=e.bearing,g=e.altitude,v=e.center,b=void 0===v?null:v,_=e.flipY,S=void 0!==_&&_,x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return N(x,x,[0,0,-g]),F(x,x,[1,1,1/y]),t=x,i=x,r=-m*W,a=Math.sin(r),n=Math.cos(r),s=i[4],o=i[5],l=i[6],c=i[7],h=i[8],u=i[9],p=i[10],d=i[11],i!==t&&(t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15]),t[4]=s*n+h*a,t[5]=o*n+u*a,t[6]=l*n+p*a,t[7]=c*n+d*a,t[8]=h*n-s*a,t[9]=u*n-o*a,t[10]=p*n-l*a,t[11]=d*n-c*a,function(e,t,i){var r=Math.sin(i),a=Math.cos(i),n=t[0],s=t[1],o=t[2],l=t[3],c=t[4],h=t[5],u=t[6],p=t[7];t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=n*a+c*r,e[1]=s*a+h*r,e[2]=o*a+u*r,e[3]=l*a+p*r,e[4]=c*a-n*r,e[5]=h*a-s*r,e[6]=u*a-o*r,e[7]=p*a-l*r}(x,x,f*W),S&&F(x,x,[1,-1,1]),b&&N(x,x,function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}([],b)),x}({height:a,center:_,pitch:p,bearing:y,altitude:f,flipY:!0});return(e=function(e,t){if(t&&("object"==T(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return O(e)}(this,E(t).call(this,{width:r,height:a,viewMatrix:x,projectionMatrix:S}))).latitude=s,e.longitude=l,e.zoom=h,e.pitch=p,e.bearing=y,e.altitude=f,e.scale=b,e.center=_,e.pixelsPerMeter=function(e){var t=e.latitude,i=e.longitude,r=e.zoom,a=e.scale,n=e.highPrecision,s=void 0!==n&&n;a=void 0!==a?a:Q(r),$(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(a));var o={},l=X*a,c=Math.cos(t*W),h=l/360,u=h/c,p=l/Y/c;if(o.pixelsPerMeter=[p,-p,p],o.metersPerPixel=[1/p,-1/p,1/p],o.pixelsPerDegree=[h,-u,p],o.degreesPerPixel=[1/h,-1/u,1/p],s){var d=W*Math.tan(t*W)/c,y=h*d/2,m=l/Y*d,f=m/u*p;o.pixelsPerDegree2=[0,-y,m],o.pixelsPerMeter2=[f,0,f]}return o}(O(O(e))).pixelsPerMeter[2],Object.freeze(O(O(e))),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&C(e,t)}(t,ae),k(t,[{key:"projectFlat",value:function(e){return ee(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.scale)}},{key:"unprojectFlat",value:function(e){return te(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.scale)}},{key:"getMapCenterByLngLatPosition",value:function(e){var t,i,r=e.lngLat,a=ie(e.pos,this.pixelUnprojectionMatrix),n=Z([],ee(r,this.scale),((t=[])[0]=-(i=a)[0],t[1]=-i[1],t));return te(Z([],this.center,n),this.scale)}},{key:"getLocationAtPoint",value:function(e){var t=e.lngLat,i=e.pos;return this.getMapCenterByLngLatPosition({lngLat:t,pos:i})}},{key:"fitBounds",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.width,a=this.height,n=function(e){var t=e.width,i=e.height,r=e.bounds,a=e.minExtent,n=void 0===a?0:a,s=e.maxZoom,o=void 0===s?24:s,l=e.padding,c=void 0===l?0:l,h=e.offset,u=void 0===h?[0,0]:h,p=I(r,2),d=I(p[0],2),y=d[0],m=d[1],f=I(p[1],2),g=f[0],v=f[1];Number.isFinite(c)?c={top:c,bottom:c,left:c,right:c}:$(Number.isFinite(c.top)&&Number.isFinite(c.bottom)&&Number.isFinite(c.left)&&Number.isFinite(c.right));var b=new ne({width:t,height:i,longitude:0,latitude:0,zoom:0}),_=b.project([y,v]),S=b.project([g,m]),x=[Math.max(Math.abs(S[0]-_[0]),n),Math.max(Math.abs(S[1]-_[1]),n)],w=[t-c.left-c.right-2*Math.abs(u[0]),i-c.top-c.bottom-2*Math.abs(u[1])];$(w[0]>0&&w[1]>0);var L=w[0]/x[0],M=w[1]/x[1],T=(c.right-c.left)/2/L,V=(c.bottom-c.top)/2/M,P=[(S[0]+_[0])/2+T,(S[1]+_[1])/2+V],k=b.unproject(P),O=b.zoom+Math.log2(Math.abs(Math.min(L,M)));return{longitude:k[0],latitude:k[1],zoom:Math.min(O,o)}}(Object.assign({width:r,height:a,bounds:e},i));return new t({width:r,height:a,longitude:n.longitude,latitude:n.latitude,zoom:n.zoom})}}]),t}();class se{constructor(t,i,r){r=r||{},this.id=t,this.type="custom",this.renderingMode="2d",this.url=i,this.options={subdomains:null,visible:void 0===r.visible||r.visible,opacity:void 0!==r.opacity?r.opacity:1,minZoom:3,maxZoom:18,tileType:"xyz"},function(t,i){for(var r in t.hasOwnProperty("options")||(t.options=t.options?e(t.options):{}),i)t.options[r]=i[r]||t.options[r];t.options}(this,r),this.program,this.showTiles=[],this.tileCache={},this.gridCache={},this.matrix,this.map,this.isLayerShow,this.transformBaidu=new L}onAdd(e,t){this.map=e,this.isEPSG4326="EPSG:4326"===e.crs.getEpsgCode();var i=t.createShader(t.VERTEX_SHADER);t.shaderSource(i,"uniform mat4 u_custom_matrix;uniform vec4 u_center_pos;attribute vec4 a_Pos_Piexl;attribute vec2 a_TextCoord_Piexl;varying vec2 v_TextCoord;vec2 translateRelativeToEye(vec2 high, vec2 low) { vec2 highDiff = high - vec2(u_center_pos.x, u_center_pos.z); vec2 lowDiff = low - vec2(u_center_pos.y, u_center_pos.w); return highDiff + lowDiff;}void main() { vec2 eye_offset = translateRelativeToEye(vec2(a_Pos_Piexl.x, a_Pos_Piexl.z), vec2(a_Pos_Piexl.y, a_Pos_Piexl.w)); gl_Position = u_custom_matrix * vec4(eye_offset, 0.0, 1.0); v_TextCoord = a_TextCoord_Piexl;}"),t.compileShader(i);var r=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(r,"precision mediump float;uniform sampler2D u_Sampler; varying vec2 v_TextCoord; uniform vec2 u_viewport_size;uniform float u_opacity;void main() { vec4 color = texture2D(u_Sampler, v_TextCoord); color *= u_opacity; gl_FragColor = color;}"),t.compileShader(r),this.program=t.createProgram(),t.attachShader(this.program,i),t.attachShader(this.program,r),t.linkProgram(this.program),this.a_Pos_Piexl=t.getAttribLocation(this.program,"a_Pos_Piexl"),this.a_TileZoomScale=t.getAttribLocation(this.program,"a_TileZoomScale"),this.a_TextCoord_Piexl=t.getAttribLocation(this.program,"a_TextCoord_Piexl"),this.isLayerShow=!0,e.on("move",()=>{this.isLayerShow&&this.update(t,e)}),this.update(t,e),this.map=e}update(e,t){if(this.options.visible){var i,r,a,n=t.getCenter(),s=t.getBounds();if("xyz"===this.options.tileType){i=parseInt(t.getZoom()+1.4);var l=h(s.getNorthWest()),u=h(s.getSouthEast());r=o(l.lng,l.lat,i),a=o(u.lng,u.lat,i)}else if("bd09"===this.options.tileType){i=parseInt(t.getZoom()+1.8);var p=c(s.getSouthWest()),d=c(s.getNorthEast());r=this.transformBaidu.lnglatToTile(p.lng,p.lat,i),a=this.transformBaidu.lnglatToTile(d.lng,d.lat,i)}for(var y=[],m=r[0];m<=a[0];m++)for(var f=r[1];f<=a[1];f++){var g={x:m,y:f,z:i};i<this.options.minZoom||i>this.options.maxZoom||(y.push(g),this.addGridCache(g,0,0),m===a[0]&&this.addGridCache(g,1,0),f===a[1]&&this.addGridCache(g,0,1),m===a[0]&&f===a[1]&&this.addGridCache(g,1,1))}if("xyz"===this.options.tileType)var v=o(n.lng,n.lat,i);else"bd09"===this.options.tileType&&(v=this.transformBaidu.lnglatToTile(n.lng,n.lat,i));for(var g of(y.sort((e,t)=>this.tileDistance(e,v)-this.tileDistance(t,v)),this.showTiles=[],y))if(this.tileCache[this.createTileKey(g)])this.showTiles.push(this.tileCache[this.createTileKey(g)]);else{var b=this.createTile(e,g);this.showTiles.push(b),this.tileCache[this.createTileKey(g)]=b}}}addGridCache(e,t,i){var a=this.createTileKey(e.x+t,e.y+i,e.z);this.gridCache[a]||("xyz"===this.options.tileType?this.gridCache[a]=u(function(e,t,i){let a=Math.pow(2,i);return[e/a*360-180,180*Math.atan(Math.sinh(r*(1-2*t/a)))/r]}(e.x+t,e.y+i,e.z)):"bd09"===this.options.tileType&&(this.gridCache[a]=l(this.transformBaidu.pixelToLnglat(0,0,e.x+t,e.y+i,e.z))))}tileDistance(e,t){return Math.sqrt(Math.pow(e.x-t[0],2)+Math.pow(e.y-t[1],2))}createTileKey(e,t,i){return e instanceof Object?e.z+"/"+e.x+"/"+e.y:i+"/"+e+"/"+t}createTile(e,i){var r,a,n,s,o,l,c=(r=this.url,a={s:this.options.subdomains[Math.abs(i.x+i.y)%this.options.subdomains.length],x:i.x,y:i.y,z:i.z},r.replace(t,function(e,t){var i=a[t];if(void 0===i)throw new Error("No value provided for variable "+e);return"function"==typeof i&&(i=i(a)),i})),h={xyz:i};"xyz"===this.options.tileType?(n=this.gridCache[this.createTileKey(i)],s=this.gridCache[this.createTileKey(i.x+1,i.y,i.z)],o=this.gridCache[this.createTileKey(i.x,i.y+1,i.z)],l=this.gridCache[this.createTileKey(i.x+1,i.y+1,i.z)]):"bd09"===this.options.tileType&&(n=this.gridCache[this.createTileKey(i.x,i.y+1,i.z)],s=this.gridCache[this.createTileKey(i.x+1,i.y+1,i.z)],o=this.gridCache[this.createTileKey(i)],l=this.gridCache[this.createTileKey(i.x+1,i.y,i.z)]);var u=new Float32Array([n.lng,n.lat,0,1,o.lng,o.lat,0,0,s.lng,s.lat,1,1,l.lng,l.lat,1,0]),p=u.BYTES_PER_ELEMENT,d=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,d),e.bufferData(e.ARRAY_BUFFER,u,e.STATIC_DRAW),h.buffer=d,h.PosParam={size:2,stride:4*p,offset:0},h.TextCoordParam={size:2,stride:4*p,offset:2*p};const y=this._convertMectorPoints(n),m=this._convertMectorPoints(s),f=this._convertMectorPoints(o),g=this._convertMectorPoints(l),v=new Float32Array([Math.fround(y[0]),y[0]-Math.fround(y[0]),Math.fround(y[1]),y[1]-Math.fround(y[1]),0,1,Math.fround(f[0]),f[0]-Math.fround(f[0]),Math.fround(f[1]),f[1]-Math.fround(f[1]),0,0,Math.fround(m[0]),m[0]-Math.fround(m[0]),Math.fround(m[1]),m[1]-Math.fround(m[1]),1,1,Math.fround(g[0]),g[0]-Math.fround(g[0]),Math.fround(g[1]),g[1]-Math.fround(g[1]),1,0]);p=v.BYTES_PER_ELEMENT;var b=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,b),e.bufferData(e.ARRAY_BUFFER,v,e.STATIC_DRAW),h.bufferPixel=b,h.PosPiexelsParam={size:4,stride:6*p,offset:0},h.TextPiexelsCoordParam={size:2,stride:6*p,offset:4*p};var _=new Image;return _.onload=(()=>{h.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,h.texture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,_),h.isLoad=!0,this.map.triggerRepaint()}),_.crossOrigin=!0,_.src=c,h}_convertMectorPoints(e){const t=this.map.transform.locationCoordinate(e);return[t.x,t.y,0,1]}render(e,t){if(!(this.map.getZoom()<this.options.minZoom||this.map.getZoom()>this.options.maxZoom)&&this.options.visible)for(var i of(this.matrix=t,e.useProgram(this.program),this.showTiles))if(i.isLoad){e.bindTexture(e.TEXTURE_2D,i.texture),e.activeTexture(e.TEXTURE0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.MIRRORED_REPEAT);var r=e.getUniformLocation(this.program,"u_Sampler");e.uniform1i(r,0),e.bindBuffer(e.ARRAY_BUFFER,i.bufferPixel),e.vertexAttribPointer(this.a_Pos_Piexl,i.PosPiexelsParam.size,e.FLOAT,!1,i.PosPiexelsParam.stride,i.PosPiexelsParam.offset),e.enableVertexAttribArray(this.a_Pos_Piexl),e.vertexAttribPointer(this.a_TextCoord_Piexl,i.TextPiexelsCoordParam.size,e.FLOAT,!1,i.TextPiexelsCoordParam.stride,i.TextPiexelsCoordParam.offset),e.enableVertexAttribArray(this.a_TextCoord_Piexl),this.setVertex(e,t),e.enable(e.BLEND),e.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA),e.drawArrays(e.TRIANGLE_STRIP,0,4)}}setVertex(e,t){this.map.getZoom(),this.map.getBearing(),this.map.getPitch();const i=this.map.getCenter();this.map.painter,this.map.transform;const r=this._convertMectorPoints(i),a=t.slice();a[12]+=a[0]*r[0]+a[4]*r[1],a[13]+=a[1]*r[0]+a[5]*r[1],a[14]+=a[2]*r[0]+a[6]*r[1],a[15]+=a[3]*r[0]+a[7]*r[1];let n={u_custom_matrix:a,u_center_pos:new Float32Array([Math.fround(r[0]),r[0]-Math.fround(r[0]),Math.fround(r[1]),r[1]-Math.fround(r[1])]),u_opacity:this.options.opacity};e.uniformMatrix4fv(e.getUniformLocation(this.program,"u_custom_matrix"),!1,n.u_custom_matrix),e.uniform4fv(e.getUniformLocation(this.program,"u_center_pos"),n.u_center_pos),e.uniform1f(e.getUniformLocation(this.program,"u_opacity"),n.u_opacity)}setOpacity(e){this.options.opacity=e,this._requestRender()}setVisible(e){e&&!this.options.visible&&this.map?(this.options.visible=e,this.update(this.map.painter.context.gl,this.map)):this.options.visible=e,this._requestRender()}_requestRender(){var e=this.map;e&&e._update()}onRemove(e,t){this.isLayerShow=!1}}function oe(e,t,i){var r,a=i||{},n=oe.providers,s=t.split("."),o=s[0],l=s[1],c=s[2],h=n[o][l][c],u=n[o].Subdomains,p=n[o][l].minzoom,d=n[o][l].maxzoom,y=n[o].tileType;if("Custom"===o&&(h=a.url?a.url:h,p=a.minzoom?a.minzoom:0,d=a.maxzoom?a.maxzoom:20),"TianDiTu"===o||"OSM"===o){var m=a.key||n[o].key,f=[];for(var g of u)f.push(h.replace("{s}",g).replace("{key}",m));r={id:e,type:"raster",source:{type:"raster",tiles:f,tileSize:256,minzoom:p,maxzoom:d}}}else r=new se(e,h,{subdomains:u,minZoom:p,maxZoom:d,tileType:y});return r}return oe.providers={TianDiTu:{Normal:{Map:"http://t{s}.tianditu.com/DataServer?T=vec_w&X={x}&Y={y}&L={z}&tk={key}",Annotion:"http://t{s}.tianditu.com/DataServer?T=cva_w&X={x}&Y={y}&L={z}&tk={key}",minzoom:0,maxzoom:18},Normal4326:{Map:"http://t{s}.tianditu.com/DataServer?T=vec_c&X={x}&Y={y}&L={z}&tk={key}",Annotion:"http://t{s}.tianditu.com/DataServer?T=cva_c&X={x}&Y={y}&L={z}&tk={key}",minzoom:0,maxzoom:18},Satellite:{Map:"http://t{s}.tianditu.com/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk={key}",Annotion:"http://t{s}.tianditu.com/DataServer?T=cia_w&X={x}&Y={y}&L={z}&tk={key}",minzoom:0,maxzoom:18},Satellite4326:{Map:"http://t{s}.tianditu.com/DataServer?T=img_c&X={x}&Y={y}&L={z}&tk={key}",Annotion:"http://t{s}.tianditu.com/DataServer?T=cia_c&X={x}&Y={y}&L={z}&tk={key}",minzoom:0,maxzoom:18},Terrain:{Map:"http://t{s}.tianditu.com/DataServer?T=ter_w&X={x}&Y={y}&L={z}&tk={key}",Annotion:"http://t{s}.tianditu.com/DataServer?T=cta_w&X={x}&Y={y}&L={z}&tk={key}",minzoom:0,maxzoom:14},Subdomains:["0","1","2","3","4","5","6","7"],key:""},GaoDe:{Normal:{Map:"http://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}",minzoom:3,maxzoom:18},Normal_NoTag:{Map:"https://wprd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&scl=1<ype=11&x={x}&y={y}&z={z}",minzoom:3,maxzoom:18},Satellite:{Map:"http://webst0{s}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",Annotion:"http://webst0{s}.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}",minzoom:3,maxzoom:18},Subdomains:["1","2","3","4"]},Baidu:{Normal:{Map:"//online{s}.map.bdimg.com/onlinelabel/?qt=tile&x={x}&y={y}&z={z}&styles=pl&scaler=1&p=1"},Satellite:{Map:"//shangetu{s}.map.bdimg.com/it/u=x={x};y={y};z={z};v=009;type=sate&fm=46",Annotion:"//online{s}.map.bdimg.com/tile/?qt=tile&x={x}&y={y}&z={z}&styles=sl&v=020"},Subdomains:"0123456789",tileType:"bd09"},Geoq:{Normal:{Map:"http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}",PurplishBlue:"http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}",Gray:"http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetGray/MapServer/tile/{z}/{y}/{x}",Warm:"http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetWarm/MapServer/tile/{z}/{y}/{x}",minzoom:3,maxzoom:16},Subdomains:[]},OSM:{Normal:{Map:"//{s}.tile.osm.org/{z}/{x}/{y}.png",minzoom:0,maxzoom:18},Subdomains:["a","b","c"]},Custom:{WMTS:{URL:"custom/{z}/{x}/{y}.png",minzoom:0,maxzoom:20},TMS:{URL:"custom/{z}/{x}/{y}.png",minzoom:0,maxzoom:20},Subdomains:["0","1","2","3"]}},oe}()},function(e,t,i){"use strict";i.r(t);var r=i(0),a=i(1),n=i.n(a),s=i(2),o=i.n(s);function l(e){const t=e._getLayerViewVisible();e.innerLayer&&e.innerLayer.implementation&&e.innerLayer.implementation.type&&"custom"===e.innerLayer.implementation.type&&e.innerLayer.implementation.setVisible?e.innerLayer.implementation.setVisible(t):e.innerView.setLayoutProperty(e.innerLayer.id,"visibility",t?"visible":"none")}function c(e){e.innerLayer.id&&e.innerView.removeLayer(e.innerLayer.id),e.innerLayer.source&&e.innerView.removeSource(e.innerLayer.source)}function h(e){const t=e._getOpacity();e.innerLayer&&e.innerLayer.implementation&&e.innerLayer.implementation.type&&"custom"===e.innerLayer.implementation.type&&e.innerLayer.implementation.setOpacity?e.innerLayer.implementation.setOpacity(t):e.innerView.setPaintProperty(e.innerLayer.id,"raster-opacity",t)}function u(e,t,i,a,n,s,o,l){let c,h,u=[e];if(e&&e.includes("{s}")&&Array.isArray(a)&&(u=a.map(t=>e.replace("{s}",t))),l){const e=t||256,i=Math.max(l.xmax-l.xmin,l.ymax-l.ymin)/e,a=Object(r.getExtendExtentByPixel)(l,{extendPixel:100,resolution:i,outSpatialReference:new r.SpatialReference({wkid:4326})});h=[a.xmin,a.ymin,a.xmax,a.ymax]}return c="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),a=[...i,...r].toString(),[n,s]=t.imageSize;return(e.split("?").length>1?e.split("?")[1].split("&"):e.split("&")).forEach(t=>{t.includes("size=")&&(e=e.replace(t,`size=${n},${s}`)),t.includes("w=")?e=e.replace(t,`w=${n}`):t.includes("width=")&&(e=e.replace(t,`width=${n}`)),t.includes("h=")&&!t.includes("width=")?e=e.replace(t,`h=${s}`):t.includes("height=")&&(e=e.replace(t,`height=${s}`)),t.includes("bbox=")&&(e=e.replace(t,`bbox=${a}`))}),e},requestParams:n,type:"image-map",clippingArea:s}:{type:"raster",tiles:u,requestParams:n,tileSize:t,clippingArea:s,decryptOptions:o},h&&(c.bounds=h),c}function p(e,t,i,a){return{id:e,type:"raster",source:t,paint:{"raster-opacity":Object(r.isNull)(a)?i.opacity:a._getOpacity()},layout:{visibility:(Object(r.isNull)(a)?i.visible:a._getLayerViewVisible())?"visible":"none"}}}function d(e,t){let i,r;if(t.getProj||t.projectGeometry){const a=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=a.getEPSGByWKID(this._wkid);e&&(this._wkt=e.strProject)}}else this._wkt=a.getEPSGByWKID(3857).strProject;this._wkt&&(this._proj=a.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=a.isCustomWKID(this._wkid)?a.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=a.isCustomWKID(this._wkid)?a.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 a=t;i=class extends e.Projection{constructor(e,t){super();const i=(t||{}).def;if(!i)throw new Error("自定义参考系必须指定参数系信息def");if(this._def=i,!a)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)a.defs(e,t);else if(void 0===a.defs[e]){const t=e.split(":");if(t.length>3&&(e=`${t[t.length-3]}:${t[t.length-1]}`),void 0===a.defs[e])throw`No projection definition for code ${e}`}return a(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 y=d(n.a,r.Projection);const m="== != > < >= <= 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 f{static isMapboxExpression(e){return Array.isArray(e)&&e.length>0&&"string"==typeof e[0]&&m.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,a=i.spatialReference;return"4326"!==String(a.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=f.convertLngLatGeometry(e).toGeoJSON();break;case r.GeometryType.circle:t=f.convertLngLatGeometry(e).toPolygon().toGeoJSON();break;case r.GeometryType.extent:t=f.convertLngLatGeometry(e).toPolygon().toGeoJSON();break}return t}static applyVisibleAndOpacityToColor(e,t,i){const a=r.Color.fromColor(e).clone(),n=i*(t?1:0);return a.alpha*=n,a}static createCRSByLayer(e){e&&e.spatialReference||r.Log.error("计算crsOptions错误");const t=r.TileInfoUtil.getTileInfoByLayer(e),i=e.spatialReference,a=t.origin.coordinates,n=e.extent,s={},o={};t.lods.map(e=>e.clone()).forEach(e=>{s[e.level]=e.resolution,o[e.level]=e.levelValue});let l="DEFAULT Sref";Object(r.defined)(i.wkid)&&(l=`EPSG:${i.wkid}`);const c=i.wkt;return new y(l,c,{levelValues:o,resolutions:s,origin:[a[0],a[1]],tileSize:t.getTileSize(),bounds:[n.xmin,n.ymin,n.xmax,n.ymax],unit:i.isGeographic?"degree":void 0})}}var g=f;class v{}v.addIGSTileLayer=function(e,t){t=t||{};const i=e.layer,r=e.innerView;t.layerView=e;const a=v.getSourcesAndStyleLayers(i,t);ne(a,r);const n=r.getLayer(a.layers[0].id);return n.sourceID=n.source,n},v.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView,a=`source_${e.id}`,n=`layer_${e.id}`;let s={tokenKey:e.tokenKey,tokenValue:e.tokenValue};const o=r.LayerBaseUrlRegExp.matchStringByRegExpNames(e.url,["IGSTileLayerV1","IGSTileLayerV2"]),l=r.ServerUtil.getTile(o,s);let c=l.url;const h=r.UrlUtil.getStringFromObject(l.queryParameters);h&&(c+=`?${h}`);const d={method:e.httpMethod,headers:e.headers};"GET"!==e.httpMethod&&(d.data=l.queryParameters);const y=u(c,e.tileSize,null,null,d,g.convertClippingArea(e.clippingArea),e.decryptOptions),m=p(n,a,e,i),[f,v]=r.TileInfoUtil.getLevelRangeByTileInfo(e.tileInfo);y.minzoom=f,y.maxzoom=v,y.crs=g.createCRSByLayer(e);const b={};return b[a]=y,{sources:b,layers:[m]}},v.setVisible=function(e){l(e)},v.setOpacity=function(e){h(e)},v.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=v.addIGSTileLayer(e,{})},v.removeLayer=function(e){c(e)};var b=v;class _{}_.addArcGISTileLayer=function(e,t){t=t||{};const i=e.layer,r=e.innerView;t.layerView=e;const a=_.getSourcesAndStyleLayers(i,t);ne(a,r);const n=r.getLayer(a.layers[0].id);return n.sourceID=n.source,n},_.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView,{extensionOptions:a={}}=e,n=`source_${e.id}`,s=`layer_${e.id}`;let o={tokenKey:e.tokenKey,tokenValue:e.tokenValue};o=Object.assign(o,a);const l=r.LayerBaseUrlRegExp.matchStringByRegExpNames(e.url,["ArcGISVectorTileLayer","IGS-ArcGISVectorTileLayer"]),c=r.ServerUtil.getTile(l,o);let h=c.url;const d=r.UrlUtil.getStringFromObject(c.queryParameters);d&&(h+=`?${d}`);const y={method:e.httpMethod,headers:e.headers};"GET"!==e.httpMethod&&(y.data=c.queryParameters);const m=u(h,e.tileSize,null,null,y,t.clippingArea);m.crs=g.createCRSByLayer(e);const f=p(s,n,e,i),v={};return v[n]=m,{sources:v,layers:[f]}},_.setVisible=function(e){l(e)},_.setOpacity=function(e){h(e)},_.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=_.addArcGISTileLayer(e,{})},_.removeLayer=function(e){c(e)};var S=_;class x{}x.addArcGISMapImageLayer=function(e){const t=e.layer,i=e.innerView,r={};r.layerView=e;const a=x.getSourcesAndStyleLayers(t,r);ne(a,i);const n=i.getLayer(a.layers[0].id);return n.sourceID=n.source,n},x.getSourcesAndStyleLayers=function(e,t){t=t||{};const{layerView:i={}}=t,{extensionOptions:a={}}=e,{view:n}=i,s=`source_${e.id}`,o=`layer_${e.id}`;let l={layers:e.layers,format:e.imageFormat,transparent:e.imageTransparency,size:`${e.imageWidth},${e.imageHeight}`,tokenKey:e.tokenKey,tokenValue:e.tokenValue};if(n){!e.spatialReference.equals(n.spatialReference)&&(l.imageSR=n.spatialReference)}l=Object.assign(l,a);const c=r.LayerBaseUrlRegExp.matchStringByRegExpNames(e.url,["IGS-ArcGISMapImageLayer","ArcGISMapImageLayer"]),h=r.ServerUtil.getImage(c,l);let d=h.url;const y=r.UrlUtil.getStringFromObject(h.queryParameters);y&&(d+=`?${y}`);const m={method:e.httpMethod,headers:e.headers};"GET"!==e.httpMethod&&(m.data=h.queryParameters);const f=u(d,e.imageWidth,e.renderMode,void 0,m),g=p(o,s,e,i),v={};return v[s]=f,{sources:v,layers:[g]}},x.setVisible=function(e){l(e)},x.setOpacity=function(e){h(e)},x.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=x.addArcGISMapImageLayer(e,{})},x.removeLayer=function(e){c(e)};var w=x;class L{}L.addWMTSLayer=function(e,t){const i=e.layer,r=e.innerView;(t=t||{}).layerView=e;const a=L.getSourcesAndStyleLayers(i,t);ne(a,r);const n=r.getLayer(a.layers[0].id);return n.sourceID=n.source,n},L.getSourcesAndStyleLayers=function(e,t){const i=(t=t||{}).layerView,{extensionOptions:a={},activeLayer:n}=e,s=`source_${e.id}`,o=`layer_${e.id}`;let l={version:e.version,layer:n.identifier,style:n.styleId,tileMatrixSet:n.tileMatrixSetId,format:n.format,tokenKey:e.tokenKey,tokenValue:e.tokenValue};l=Object.assign(l,a);const c=r.LayerBaseUrlRegExp.matchStringByRegExpNames(e.url,["WMTSLayerV1","WMTSLayerV2"]),h=r.ServerUtil.getTile(c,l);let d=h.url;const y=r.UrlUtil.getStringFromObject(h.queryParameters);y&&(d+=`?${y}`);const m={method:e.httpMethod,headers:e.headers};"GET"!==e.httpMethod&&(m.data=h.queryParameters);const f=e.getCurrentTileInfo(),v=u(d,f.size[0],null,null,m,t.clippingArea),b=p(o,s,e,i),[_,S]=r.TileInfoUtil.getLevelRangeByTileInfo(f);v.minzoom=_,v.maxzoom=S,v.crs=g.createCRSByLayer(e);const x={};return x[s]=v,{sources:x,layers:[b]}},L.setVisible=function(e){l(e)},L.setOpacity=function(e){h(e)},L.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=L.addWMTSLayer(e,{})},L.removeLayer=function(e){c(e)};var M=L;class T{}T.addWMSLayer=function(e,t){const i=e.layer,r=e.innerView;(t=t||{}).layerView=e;const a=T.getSourcesAndStyleLayers(i,t);ne(a,r);const n=r.getLayer(a.layers[0].id);return n.sourceID=n.source,n},T.getSourcesAndStyleLayers=function(e,t){t=t||{};const{layerView:i={}}=t,{extensionOptions:a={}}=e,{view:n}=i,s=`source_${e.id}`,o=`layer_${e.id}`;let l={version:e.version,layers:e.layers,styles:e.styles,width:e.imageWidth,height:e.imageHeight,format:e.imageFormat,transparent:e.imageTransparency,srs:e.spatialReference,crs:e.spatialReference,reversebbox:e.isReverseXY,queryParameters:{}};if(l.queryParameters[e.tokenKey]=e.tokenValue,n){!e.spatialReference.equals(n.spatialReference)&&(l.srs=n.spatialReference,l.crs=n.spatialReference)}l=Object.assign(l,a);const c=r.ServerUtil.getImage(e.url,l);let h=c.url;l.reversebbox&&(c.queryParameters.reversebbox=l.reversebbox);const d=r.UrlUtil.getStringFromObject(c.queryParameters);d&&(h+=`?${d}`);const y={method:e.httpMethod,headers:e.headers};"GET"!==e.httpMethod&&(y.data=c.queryParameters);const m=u(h,e.imageWidth,e.renderMode,null,y,t.clippingArea),f=p(o,s,e,i),g={};return g[s]=m,{sources:g,layers:[f]}},T.setVisible=function(e){l(e)},T.setOpacity=function(e){h(e)},T.refresh=function(e){e.innerView.removeLayer(e.innerLayer.id),e.innerView.removeSource(e.innerLayer.sourceID),e.innerLayer=T.addWMSLayer(e,{})},T.removeLayer=function(e){c(e)};var V=T;class P{}P.addWebTileLaye