@nextgis/leaflet-map-adapter 2.2.0 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/leaflet-map-adapter.esm-browser.js +187 -84
- package/lib/leaflet-map-adapter.esm-browser.js.map +1 -1
- package/lib/leaflet-map-adapter.esm-browser.prod.js +1 -1
- package/lib/leaflet-map-adapter.esm-browser.prod.js.map +1 -1
- package/lib/leaflet-map-adapter.esm-bundler.js +52 -38
- package/lib/leaflet-map-adapter.esm-bundler.js.map +1 -1
- package/lib/leaflet-map-adapter.esm-bundler.prod.js +1 -1
- package/lib/leaflet-map-adapter.esm-bundler.prod.js.map +1 -1
- package/lib/leaflet-map-adapter.global.js +187 -84
- package/lib/leaflet-map-adapter.global.js.map +1 -1
- package/lib/leaflet-map-adapter.global.prod.js +1 -1
- package/lib/leaflet-map-adapter.global.prod.js.map +1 -1
- package/package.json +3 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{EventEmitter as t}from"events";import{Control as e,DomEvent as s,GeoJSON as o,DivIcon as i,Marker as r,CircleMarker as n,FeatureGroup as a,ImageOverlay as l,Util as p,Layer as c,CRS as h,GridLayer as u,DomUtil as d,TileLayer as m,Map as y,latLngBounds as f,latLng as v}from"leaflet";import{defined as _,debounce as b}from"@nextgis/utils";import{isPaintCallback as g,isPaint as O}from"@nextgis/paint";function P(t,o={},i){return new(e.extend({onAdd(){const e=document.createElement("div"),r=t.onAdd(i);return e.classList.add("leaflet-control"),o.bar&&e.classList.add("leaflet-bar"),o.addClass&&e.classList.add(o.addClass),o.margin||o.bar||(e.style.marginBottom="0px",e.style.marginTop="0px",e.style.marginLeft="0px",e.style.marginRight="0px"),r&&e.appendChild(r),s.disableClickPropagation(e),e},onRemove(){t.onRemove()}}))}function w(t){const e=t.getNorthEast(),s=t.getSouthWest();return[s.lng,s.lat,e.lng,e.lat]}function L(t){const e={};for(let o=0;o<t.length;o++)e[t[o]]=1+(e[t[o]]||0);let s="";for(const o in e){e[o]>(s?e[s]:0)&&(s=o)}return s}const C={Point:"point",LineString:"line",MultiPoint:"point",Polygon:"polygon",MultiLineString:"line",MultiPolygon:"polygon",GeometryCollection:"polygon"},x={stroke:!1,opacity:1},j={};for(const pe in C){const t=C[pe],e=j[t]||[];e.push(pe),j[t]=e}function M(t,e){return-1!==(j[e]||[]).indexOf(t)}function S(t){const e=new o;return(Array.isArray(t)?t:[t]).forEach((t=>e.addData(t))),e.getBounds()}function k(t){return{getBounds:()=>function(t){return w(S(t))}(t),getCenter:()=>function(t){const{lat:e,lng:s}=S(t).getCenter();return[s,e]}(t)}}var E=Object.defineProperty,T=(t,e,s)=>(((t,e,s)=>{e in t?E(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s})(t,"symbol"!=typeof e?e+"":e,s),s);class Z{constructor(t,e){if(this.map=t,this.options=e,T(this,"layer"),T(this,"pane","order-0"),void 0!==e.order){const s="order-"+e.order;let o=t.getPane(s);o||(o=t.createPane(s)),o.style.zIndex=String(Math.round(100*e.order)),this.pane=s}}addLayer(t){Object.assign(this.options,t)}}function B(t){const e=t.containerPoint,s=t.latlng,{lat:o,lng:i}=s;return{latLng:s,lngLat:[i,o],pixel:{left:e.x,top:e.y},source:t}}var I=Object.defineProperty,z=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable,U=(t,e,s)=>e in t?I(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;function D({layer:t,source:e}){const s=e.target.feature;return((t,e)=>{for(var s in e||(e={}))A.call(e,s)&&U(t,s,e[s]);if(z)for(var s of z(e))F.call(e,s)&&U(t,s,e[s]);return t})({layer:t,feature:s,event:B(e),source:e},k(s))}var W=Object.defineProperty,R=Object.getOwnPropertySymbols,N=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,$=(t,e,s)=>e in t?W(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,G=(t,e,s)=>($(t,"symbol"!=typeof e?e+"":e,s),s);class H{constructor(t){G(this,"layer"),G(this,"_onclick"),G(this,"_mouseout"),G(this,"_mouseover"),this.layer=t}handleMouseEvents(t){const{onClick:e,onLayerClick:s,onMouseOut:o,onMouseOver:i}=this.layer.options,r=e||s;r&&(this._onclick=e=>{const s=!!this.layer._getSelected(t);r(((t,e)=>{for(var s in e||(e={}))N.call(e,s)&&$(t,s,e[s]);if(R)for(var s of R(e))V.call(e,s)&&$(t,s,e[s]);return t})({selected:s},this._createMouseEvent(e)))},t.on("click",this._onclick,this)),o&&(this._mouseout=t=>{o(this._createMouseEvent(t))},t.on("mouseout",this._mouseout,this)),i&&(this._mouseover=t=>{i(this._createMouseEvent(t))},t.on("mouseover",this._mouseover,this))}stopMouseEvents(t){this._mouseover&&t.off("mouseover",this._mouseover,this),this._mouseout&&t.off("mouseout",this._mouseout,this),this._onclick&&t.off("click",this._onclick,this)}_createMouseEvent(t){return D({layer:this.layer,source:t})}}var q=Object.defineProperty,J=Object.defineProperties,X=Object.getOwnPropertyDescriptors,K=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,tt=(t,e,s)=>e in t?q(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,et=(t,e)=>{for(var s in e||(e={}))Q.call(e,s)&&tt(t,s,e[s]);if(K)for(var s of K(e))Y.call(e,s)&&tt(t,s,e[s]);return t};class st{constructor(t){var e,s;tt(this,"symbol"!=typeof(e="layer")?e+"":e,s),this.layer=t}setPaintEachLayer(t){this.layer._layers.forEach((e=>{this.setPaint(e,t)}))}setPaint(t,e){let s;const{layer:o,feature:i}=t;if(o&&i&&(g(e)?s=e(i):O(e)&&(s=e),s))if("point"===this.layer.type&&"icon"===s.type){const t=o,e=this._createDivIcon(s);setTimeout((()=>{t.setIcon(e)}),10)}else"setStyle"in o&&o.setStyle(this.preparePaint(s))}preparePaint(t){if("get-paint"!==t.type){const e="line"===this.layer.type?[["color","strokeColor"],["opacity","strokeOpacity"],["weight","weight"]]:[["color","strokeColor"],["opacity","strokeOpacity"],["stroke","stroke"],["fillColor","fillColor"],["fillOpacity","fillOpacity"],["fill","fill"],["weight","weight"]],s={};"radius"in t&&"number"==typeof t.radius&&(s.radius=t.radius);for(const[o,i]of e){const e=this.layer.options.opacity;let r=t[i];_(e)&&-1!==i.toLowerCase().indexOf("opacity")&&(r=Number(r)*e),void 0!==r&&Object.defineProperty(s,o,{enumerable:!0,value:r})}return s}return x}_createDivIcon(t){const e=t,{html:s,rotate:o,className:r}=e,n=((t,e)=>{var s={};for(var o in t)Q.call(t,o)&&e.indexOf(o)<0&&(s[o]=t[o]);if(null!=t&&K)for(var o of K(t))e.indexOf(o)<0&&Y.call(t,o)&&(s[o]=t[o]);return s})(e,["html","rotate","className"]),a=document.createElement("div");r&&(a.className=r),o&&(a.style.transform=`rotateZ(${o}deg)`),s&&(a.innerHTML=s);var l;return new i((l=et({className:""},n),J(l,X({html:a}))))}createPaintToLayer(t){if(t&&t.type)if("icon"===t.type){if(t.className||t.html)return(e,s)=>{const o=this._createDivIcon(t);return new r(s,{icon:o})}}else if("pin"===t.type)return(t,e)=>new r(e);return(e,s)=>new n(s,this.preparePaint(et(et({},x),t)))}createPaintOptions(t){const e={},s=this.preparePaint(t);return t&&(e.style=()=>s),"point"===this.layer.type?e.pointToLayer=this.createPaintToLayer(t):"line"===this.layer.type&&(s.stroke=!0),e}}var ot=Object.defineProperty,it=Object.defineProperties,rt=Object.getOwnPropertyDescriptors,nt=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,lt=Object.prototype.propertyIsEnumerable,pt=(t,e,s)=>e in t?ot(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ct=(t,e)=>{for(var s in e||(e={}))at.call(e,s)&&pt(t,s,e[s]);if(nt)for(var s of nt(e))lt.call(e,s)&&pt(t,s,e[s]);return t},ht=(t,e)=>it(t,rt(e)),ut=(t,e,s)=>(pt(t,"symbol"!=typeof e?e+"":e,s),s);function dt(t,e,s){const o=new XMLHttpRequest;o.open("GET",t),o.responseType="arraybuffer";for(const i in s)o.setRequestHeader(i,s[i]);return o.onload=function(){const t=new Uint8Array(this.response),s=new Blob([t],{type:"image/png"}),o=(window.URL||window.webkitURL).createObjectURL(s);e(o)},o.send(),()=>{o.abort()}}var mt=Object.defineProperty,yt=(t,e,s)=>(((t,e,s)=>{e in t?mt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s})(t,"symbol"!=typeof e?e+"":e,s),s);class ft extends l{constructor(t,e,s){super(t,e,s),yt(this,"_aborter")}cancelLoad(){this._aborter&&(this._aborter(),this._aborter=void 0)}_initImage(){super._initImage();const t=this.options.headers,e=this._image,s=e.src;t?(e.src="",this._aborter=dt(s,(t=>{e.src=t}),t)):this._aborter=()=>{e.setAttribute("src",p.emptyImageUrl)}}}var vt=Object.defineProperty,_t=(t,e,s)=>(((t,e,s)=>{e in t?vt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s})(t,"symbol"!=typeof e?e+"":e,s),s);class bt extends c{constructor(t,e){super(e),_t(this,"defaultWmsParams",{service:"WMS",request:"GetMap",version:"1.1.1",layers:"",styles:"",format:"image/jpeg",transparent:!1}),_t(this,"options",{crs:null,uppercase:!1,attribution:"",opacity:1,isBack:!1,minZoom:0,pane:"tilePane",headers:null,viewPortBuffer:0,setViewDelay:100}),_t(this,"wmsParams"),_t(this,"_url"),_t(this,"_currentUrl"),_t(this,"_currentOverlay"),_t(this,"_loadedOverlay"),this._url=t;const s={},o={};let i;for(i in e)i in this.options?o[i]=e[i]:s[i]=e[i];p.setOptions(this,o),this.wmsParams=p.extend({},this.defaultWmsParams,s)}setParams(t){p.extend(this.wmsParams,t),this.update()}getAttribution(){return this.options.attribution||""}onAdd(){return this.update(),this}onRemove(t){return this._currentOverlay&&(this._currentOverlay.cancelLoad(),t.removeLayer(this._currentOverlay),delete this._currentOverlay),this._currentUrl&&delete this._currentUrl,this}getEvents(){return{moveend:b(this.update,this.options.setViewDelay)}}update(){if(!this._map)return;this.updateWmsParams();const t=this.getImageUrl();if(this._currentUrl===t)return;this._currentUrl=t;const e=this.options.viewPortBuffer||0,s=this._map.getBounds().pad(e);this._loadedOverlay&&(this._loadedOverlay.cancelLoad(),this._loadedOverlay.off("load"),this._loadedOverlay=void 0);const o=new ft(t,s,{opacity:0,pane:this.options.pane,headers:this.options.headers});o.addTo(this._map),this._loadedOverlay=o,o.once("load",(()=>{this._map&&(o._url===this._currentUrl?(this._currentOverlay&&this._map.removeLayer(this._currentOverlay),this._loadedOverlay=void 0,this._currentOverlay=o,o.setOpacity(void 0!==this.options.opacity?this.options.opacity:1),!0===this.options.isBack&&o.bringToBack(),!1===this.options.isBack&&o.bringToFront(),void 0!==this.options.zIndex&&o.setZIndex(this.options.zIndex)):this._map.removeLayer(o))}),this);const{minZoom:i,maxZoom:r}=this.options;(i&&this._map.getZoom()<i||r&&this._map.getZoom()>r)&&this._map.removeLayer(o)}setOpacity(t){this.options.opacity=t,this._currentOverlay&&this._currentOverlay.setOpacity(t)}bringToBack(){this.options.isBack=!0,this._currentOverlay&&this._currentOverlay.bringToBack()}bringToFront(){this.options.isBack=!1,this._currentOverlay&&this._currentOverlay.bringToFront()}setZIndex(t){this.options.zIndex=t,this._currentOverlay&&this._currentOverlay.setZIndex(t)}updateWmsParams(t){t||(t=this._map);const e=this.options.viewPortBuffer||0,s=t.getBounds().pad(e),o=t.getSize();if(0!==this.options.viewPortBuffer){const t=e+1;o.x=Math.ceil(o.x*t),o.y=Math.ceil(o.y*t)}const i=parseFloat(this.wmsParams.version),r=this.options.crs||t.options.crs,n=i>=1.3?"crs":"srs";if(r){const t=r.project(s.getNorthWest()),e=r.project(s.getSouthEast()),a={width:o.x,height:o.y};a[n]=r.code,a.bbox=(i>=1.3&&r===h.EPSG4326?[e.y,t.x,t.y,e.x]:[t.x,e.y,e.x,t.y]).join(","),p.extend(this.wmsParams,a)}}getImageUrl(){const t=p.getParamString(this.wmsParams,this._url,this.options.uppercase||!1);return this._url+t}}var gt=Object.defineProperty,Ot=Object.getOwnPropertySymbols,Pt=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable,Lt=(t,e,s)=>e in t?gt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ct=(t,e)=>{for(var s in e||(e={}))Pt.call(e,s)&&Lt(t,s,e[s]);if(Ot)for(var s of Ot(e))wt.call(e,s)&&Lt(t,s,e[s]);return t};function xt(t){return class extends t{constructor(...t){super(...t),this.options.setViewDelay&&(this._update=function(t,e=10){let s;function o(...i){o.clear(),s=setTimeout((()=>{s=null,t.apply(this,i)}),e)}return o.clear=function(){s&&(clearTimeout(s),s=null)},o}(((...t)=>{u.prototype._update.call(this,...t)}),this.options.setViewDelay))}createTile(t,e){const s=this.getTileUrl(t),o=document.createElement("img");return o.abort=dt(s,(t=>{o.src=t,e(null,o)}),this.options.headers),(this.options.crossOrigin||""===this.options.crossOrigin)&&(o.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),o.alt="",o.setAttribute("role","presentation"),o}_abortLoading(){const t=this._tiles,e=this._tileZoom;for(const s in t)if(t[s].coords.z!==e){const e=t[s].el;e.onload=p.falseFn,e.onerror=p.falseFn,e.complete||(e.abort&&e.abort(),e.src=p.emptyImageUrl,d.remove(e),delete t[s])}}}}const jt=xt(class extends m{constructor(t,e){super(t,e),Object.assign(this.options,e)}});var Mt=Object.defineProperty,St=Object.defineProperties,kt=Object.getOwnPropertyDescriptors,Et=Object.getOwnPropertySymbols,Tt=Object.prototype.hasOwnProperty,Zt=Object.prototype.propertyIsEnumerable,Bt=(t,e,s)=>e in t?Mt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,It=(t,e)=>{for(var s in e||(e={}))Tt.call(e,s)&&Bt(t,s,e[s]);if(Et)for(var s of Et(e))Zt.call(e,s)&&Bt(t,s,e[s]);return t};class zt extends Z{addLayer(t){if(this.options=Object.assign(this.options,t),t){const s=t,{url:o}=s,i=((t,e)=>{var s={};for(var o in t)Tt.call(t,o)&&e.indexOf(o)<0&&(s[o]=t[o]);if(null!=t&&Et)for(var o of Et(t))e.indexOf(o)<0&&Zt.call(t,o)&&(s[o]=t[o]);return s})(s,["url"]);if(o){const t=It({pane:this.pane,attribution:i.attribution,minZoom:i.minZoom,maxZoom:i.maxZoom},i.nativeOptions);let s;return i.subdomains&&(t.subdomains=i.subdomains),s=i.headers?new jt(o,(e=It({},t),St(e,kt({headers:i.headers,setViewDelay:i.setViewDelay})))):new m(o,t),s}}var e}updateLayer(){if(this.layer){const t=this.layer._url,e=(new Date).getTime(),s=t.includes("?")?"&":"?",o=t.replace(/(\?|&)timestamp=\d*/g,"")+s+`timestamp=${e}`;this.layer.setUrl(o),this.layer.redraw()}}}var At=Object.defineProperty,Ft=Object.defineProperties,Ut=Object.getOwnPropertyDescriptors,Dt=Object.getOwnPropertySymbols,Wt=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable,Nt=(t,e,s)=>e in t?At(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;const Vt=xt(class extends m.WMS{constructor(t,e){super(t,e)}});var $t=Object.defineProperty,Gt=Object.defineProperties,Ht=Object.getOwnPropertyDescriptors,qt=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Xt=Object.prototype.propertyIsEnumerable,Kt=(t,e,s)=>e in t?$t(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Qt=(t,e)=>{for(var s in e||(e={}))Jt.call(e,s)&&Kt(t,s,e[s]);if(qt)for(var s of qt(e))Xt.call(e,s)&&Kt(t,s,e[s]);return t};function Yt(t){return[[t[3],t[0]],[t[1],t[2]]]}var te=Object.defineProperty,ee=Object.getOwnPropertySymbols,se=Object.prototype.hasOwnProperty,oe=Object.prototype.propertyIsEnumerable,ie=(t,e,s)=>e in t?te(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,re=(t,e)=>{for(var s in e||(e={}))se.call(e,s)&&ie(t,s,e[s]);if(ee)for(var s of ee(e))oe.call(e,s)&&ie(t,s,e[s]);return t},ne=(t,e,s)=>(ie(t,"symbol"!=typeof e?e+"":e,s),s);const ae=class e{constructor(){ne(this,"options",{target:"map"}),ne(this,"layerAdapters",e.layerAdapters),ne(this,"controlAdapters",e.controlAdapters),ne(this,"emitter",new t),ne(this,"map"),ne(this,"_resizeObserver"),ne(this,"_unselectCb",[]),ne(this,"_universalEvents",["move","zoom","zoomend","zoomstart","moveend","movestart"]),ne(this,"_positionEvents",["mousemove","mouseout","mouseover"])}create(t){if(this.options=re({},t),this.options.target){const{zoom:t,center:e,maxZoom:s,minZoom:o,maxBounds:i,mapAdapterOptions:r}=this.options;this.map=this.options.map||new y(this.options.target,re({attributionControl:!1,zoomControl:!1,maxBounds:i?Yt(i):void 0,maxZoom:s,minZoom:o,center:e&&[e[1],e[0]],zoom:t},r)),this._updateMinZoomForBounds(o),this._watchSizeChangeToUpdateMinZoom();const n=this.map.createPane("order-0");this.map._addUnselectCb=t=>{this._addUnselectCb(t)},n.style.zIndex=String(0),this.emitter.emit("create",this),this._addMapListeners()}}destroy(){this.map&&this.map.remove(),this._stopWatchSizeChangeToUpdateMinZoom()}getContainer(){return this.map&&this.map.getContainer()}getControlContainer(){const t=this.map&&this.map._controlContainer;if(t)return t;throw new Error("Leaflet Map is not initialized yet")}setCursor(t){this.map&&(this.map.getContainer().style.cursor=t)}setView(t,e){const s=this.map;if(s)if(Array.isArray(t)){const s=t,[o,i]=s;this.map&&("number"==typeof e?this.map.setView([i,o],e,{animate:!1}):this.setCenter([o,i]))}else{const{zoom:e,center:o,maxBounds:i,bounds:r,minZoom:n,maxZoom:a}=t;if(o&&void 0!==e?this.setView(o,e):(void 0!==e&&this.setZoom(e),o&&this.setCenter(o)),r&&this.fitBounds(r),void 0!==i)if(i){const t=Yt(i);s.setMaxBounds(t),this._updateMinZoomForBounds()}else s.setMaxBounds(null),this._updateMinZoomForBounds();void 0!==a&&s.setMaxZoom(a),void 0!==n&&this._updateMinZoomForBounds(n)}}setCenter(t){const[e,s]=t;this.map&&this.map.panTo([s,e])}getCenter(){const t=this.map;if(t){const e=t.getBounds().getCenter();return[e.lng,e.lat]}}setZoom(t){this.map&&this.map.setZoom(t)}getZoom(){var t;return null!=(t=this.map&&this.map.getZoom())?t:void 0}getBounds(){if(!this.map)return;const t=this.map.getBounds(),e=t.getSouthWest(),s=t.getNorthEast();return[e.lng,e.lat,s.lng,s.lat]}fitBounds(t,e={}){if(this.map){const{maxZoom:s,offset:o,padding:i}=e,r={};s&&(r.maxZoom=s),i&&(r.padding=[i,i]),o&&(r.padding=o),this.map.fitBounds(Yt(t),r)}}getLayerAdapter(t){return e.layerAdapters[t]}createControl(t,e){return P(t,e,this)}createButtonControl(t){return function(t,e){const o=document.createElement("a"),i=t.title||"";o.href="#",o.title=i,o.setAttribute("role","button"),o.setAttribute("aria-label",i),t.addClass&&o.classList.add(t.addClass),s.disableClickPropagation(o),s.on(o,"click",s.stop),t.html instanceof HTMLElement?o.appendChild(t.html):"string"==typeof t.html&&(o.innerHTML=t.html);const r=e=>{e.stopPropagation(),t.onClick()};return P({onAdd:()=>(void 0!==t.onClick&&o.addEventListener("click",r),o),onRemove(){const e=o.parentNode;e&&e.removeChild(o),void 0!==t.onClick&&o.removeEventListener("click",r)}},{bar:!0},e)}(t,this)}addControl(t,e){if(t.options.position=e.replace("-",""),this.map)return this.map.addControl(t),t}removeControl(t){this.map&&this.map.removeControl(t)}removeLayer(t){t&&t.remove&&t.remove()}showLayer(t){this.map&&t.addTo(this.map)}hideLayer(t){t.remove()}setLayerOpacity(t,e){"setOpacity"in t&&t.setOpacity(e)}setLayerOrder(t,e,s){}onMapClick(t){const e=B(t);this.emitter.emit("preclick",e),this.emitter.emit("click",e)}locate(t,e){const s=this.map;if(s&&(s.locate(t),e)){const{locationfound:t,locationerror:o}=e,i=e=>{t({lngLat:[e.latlng.lng,e.latlng.lat]})};void 0!==t&&s.on("locationfound",i,this),o&&s.on("locationerror",o,this);return{stop:()=>{void 0!==t&&s.off("locationfound",i),o&&s.off("locationerror",o)}}}return{stop:()=>{}}}_addUnselectCb(t){for(const e of this._unselectCb)e();this._unselectCb.length=0,this._unselectCb.push(t)}_watchSizeChangeToUpdateMinZoom(){this._stopWatchSizeChangeToUpdateMinZoom();const t=this.getContainer();t&&this.map&&window.ResizeObserver&&(this._resizeObserver=new ResizeObserver((()=>{this._updateMinZoomForBounds()})),this._resizeObserver.observe(t))}_stopWatchSizeChangeToUpdateMinZoom(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=void 0)}_addMapListeners(){const t=this.map;if(t){t.on("click",(t=>{this.onMapClick(t)}));for(const e of this._universalEvents)t.on(e,(()=>this.emitter.emit(e,this)),t);for(const e of this._positionEvents)t.on(e,(t=>this.emitter.emit(e,B(t))),t)}}_updateMinZoomForBounds(t){var e;const s=this.map;if(s){t=null!=t?t:s.getMinZoom();const o=f(v(-90,-18e3),v(90,18e3)),i=null!=(e=s.options.maxBounds)?e:o;if(void 0!==i){s.setMinZoom(0);const e=s.getBoundsZoom(i,!0),o=t<e?e:t;s.options.minZoom=o,s.setMinZoom(o),s.getZoom()<o&&s.setZoom(o)}}}};ne(ae,"layerAdapters",{GEOJSON:class extends Z{constructor(t,e){super(t,e),ut(this,"layer"),ut(this,"selected",!1),ut(this,"type"),ut(this,"_layers",[]),ut(this,"_events"),ut(this,"paint"),ut(this,"selectedPaint"),ut(this,"_selectedLayers",[]),ut(this,"_filteredLayers",[]),ut(this,"_filterFun"),ut(this,"_openedPopup",[]),ut(this,"_paint"),ut(this,"$updateTooltip",b((()=>{this.updateTooltip()}),300)),ut(this,"$unselect",(()=>{this.unselect()})),this._events=new H(this),this._paint=new st(this)}addLayer(t){return Object.assign(this.options,t),this.paint=t.paint,this.layer=new a([],ht(ct({},t.nativeOptions),{pane:this.pane})),this.selectedPaint=t.selectedPaint,t.paint=this.paint,t.data&&this.addData(t.data),this._addMapListener(),this.layer}beforeRemove(){this._removeMapListener()}select(t){if(this.unselect(),t){const e=this._layers.filter(t);for(const t of e)this._selectLayer(t,"api")}else this.selected||(this.selected=!0,this.selectedPaint&&this._paint.setPaintEachLayer(this.selectedPaint))}unselect(t){if(t){this._layers.filter(t).forEach((t=>{this._unSelectLayer(t)}))}else if(this.selected){for(const t of this._openedPopup)this._removePopup(t[0]);this.paint&&this._paint.setPaintEachLayer(this.paint),this._selectedLayers.length=0,this.selected=!1}}getSelected(){return this._selectedLayers.map((t=>ct({target:this,feature:t.feature,layer:t},k(t.feature))))}getFiltered(){return this._filteredLayers}filter(t){this._filterFun=t;const e=this.layer,s=e&&e._map;if(e&&s){e.remove();const o=[];this._layers.forEach((({feature:s,layer:i})=>{if(i){!t||t(ct({target:this,feature:s,layer:i},k(s)))?(e.addLayer(i),o.push(ct({target:this,feature:s,layer:i},k(s)))):e.removeLayer(i)}})),this._filteredLayers=o,e.addTo(s)}return this._filteredLayers}cleanFilter(){this.filter()}getLayers(){return this._layers.map((({layer:t,feature:e})=>ct({feature:e,layer:t,visible:t&&!!t._map,target:this},k(e))))}clearLayer(t){this.unselect();const e=this.layer;if(e)if(t)for(let s=this._layers.length;s--;){const o=this._layers[s];if(o){const{feature:i,layer:r}=o;if(i&&r){t(i)&&(e.removeLayer(r),this._layers.splice(s,1))}}}else e.clearLayers(),this._layers=[]}setData(t){this.clearLayer(),this.addData(t)}addData(t){const e=this.options;let s;if(e){if(t){let o;if(e.type)o=e.type;else{const e=function(t){let e;e="FeatureCollection"===t.type?L(t.features.map((t=>t.geometry.type))):"GeometryCollection"===t.type?L(t.geometries.map((t=>t.type))):"Feature"===t.type?t.geometry.type:t.type;return e}(t);o=C[e]}if(this.type&&this.type!==o)return void console.warn("no other data type than layer can be added");this.type=o,t=function(t,e){if("FeatureCollection"===t.type)t.features=t.features.filter((t=>M(t.geometry.type,e)));else if("Feature"===t.type){if(!M(t.geometry.type,e))return!1}else"GeometryCollection"===t.type&&(t.geometries=t.geometries.filter((t=>M(t.type,e))));return t}(t,o),t&&(s=this._getGeoJsonOptions(e,o))}new o(t||void 0,s)}}openPopup(t,e){if(t){this._layers.filter(t).forEach((t=>{this._openPopup(t,e,"api")}))}}closePopup(t){(t?this._openedPopup.filter((e=>t(e[2]))):this._openedPopup).forEach((t=>{this._removePopup(t[0])}))}updateTooltip(t){t?this._updateTooltip(t):this.getLayers().forEach((t=>this._updateTooltip({feature:t.feature,layer:t.layer})))}getExtent(){return this.getBounds()}getBounds(){if(this.layer){const t=this.layer.getBounds();if(t.isValid())return w(t)}}setOpacity(t){this.options.opacity=t,this.setPaint(this.paint),this.setSelectedPaint(this.selectedPaint)}setPaint(t){if(t){this.paint=t;for(const e of this._layers)this._paint.setPaint(e,t)}}setSelectedPaint(t){if(t){this.selectedPaint=t;for(const e of this._selectedLayers)this._paint.setPaint(e,t)}}updatePaint(t){this.paint=ct(ct({},this.paint),t);for(const e of this._layers)this._paint.setPaint(e,this.paint)}updateSelectedPaint(t){this.selectedPaint=ct(ct({},this.selectedPaint),t);for(const e of this._selectedLayers)this._paint.setPaint(e,this.selectedPaint)}_getSelected(t){return this._selectedLayers.find((e=>e.layer===t))}_updateTooltip(t){const{feature:e,layer:s}=t,{label:o,labelField:i,labelOnHover:r}=this.options;if(s){let n;if(s.unbindTooltip(),e.properties&&i?n=e.properties[i]:o&&(n=o(ct(ct({target:this},t),k(e)))),n){const t=!r;s.bindTooltip(String(n),{permanent:t,sticky:!1})}}}_openPopup(t){return e=this,s=arguments,o=function*(t,e={},s,o){var i,r;const{feature:n,layer:a}=t,{minWidth:l,autoPan:p,maxWidth:c,closeButton:h}=ct({minWidth:300},e),u=null!=h?h:!this.options.selectOnHover;let d;const m=[],y=t=>{m.push(t)},f=()=>{d&&this._removePopup(d)};let v;if(v=e.createPopupContent?yield e.createPopupContent(ct({layer:a,feature:n,target:this,type:s,close:f,onClose:y},k(n))):e.popupContent,v&&a){const e={minWidth:l,autoPan:p,closeButton:u,closeOnClick:!1,autoClose:!1};if(_(c)&&(e.maxWidth=c),d=a.bindPopup(v,e),null==(r=null==(i=this.options.popupOptions)?void 0:i.unselectOnClose)||r){const t=a.getPopup();t&&t.once("remove",(()=>{f()}),this)}this._openedPopup.push([d,m,t]),d.openPopup(o)}},new Promise(((t,i)=>{var r=t=>{try{a(o.next(t))}catch(e){i(e)}},n=t=>{try{a(o.throw(t))}catch(e){i(e)}},a=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,n);a((o=o.apply(e,s)).next())}));var e,s,o}_removePopup(t){var e,s;if(this.map){t.closePopup().unbindPopup();const o=this._openedPopup.findIndex((e=>e[0]===t));if(-1!==o){const t=null==(s=null==(e=this.options.popupOptions)?void 0:e.unselectOnClose)||s,[,i,r]=this._openedPopup[o];for(const e of i)e(r);i.length=0,t&&this._unSelectLayer(r),this._openedPopup.splice(o,1)}}}_getGeoJsonOptions(t,e){const s=t.paint;let o={};return"function"==typeof s?"point"===e?o.pointToLayer=(t,e)=>{const o=s(t);return this._paint.createPaintToLayer(o)(t,e)}:o={style:t=>this._paint.preparePaint(t?ct(ct({},x),s(t)):ht(ct({},x),{type:"path"}))}:o=this._paint.createPaintOptions(s),o.onEachFeature=(t,e)=>{this._onEachFeature(t,e)},o}_onEachFeature(t,e){const s=this.layer;if(s){const o=ct({target:this,feature:t,layer:e},k(t));e.options.pane=this.pane,this._layers.push(o);let i=!0;if(this._filterFun&&(i=this._filterFun(o)),i){const{popup:i,popupOptions:r,selectable:n,interactive:a,selectOnHover:l}=this.options;e.options.interactive=!_(a)||a,s.addLayer(e),n&&(l?(e.on("mouseover",(()=>{this._selectLayer(o,"hover")})),e.on("mouseout",(()=>{this._unSelectLayer(o)}))):e.on("click",(t=>this._selectOnLayerClick(t)),this)),this._events.handleMouseEvents(e),setTimeout((()=>{i&&this._openPopup(ct({target:this,layer:e,feature:t},k(t)),r,"api"),this._updateTooltip({layer:e,feature:t})}))}}}_selectOnLayerClick(t){s.stopPropagation(t);const e=t.target,o=e.feature,i=ct({target:this,layer:e,feature:o},k(o)),r=this._getSelected(e);r?this.options&&this.options.unselectOnSecondClick&&this._unSelectLayer(r):this._selectLayer(i,"click",t.latlng)}_selectLayer(t,e,s){const{multiselect:o}=this.options;o||(this.map._addUnselectCb((()=>{this._unSelectLayer(t)})),this._selectedLayers.forEach((t=>this._unSelectLayer(t)))),this._selectedLayers.push(t),this.selected=!0;const{selectedPaint:i,popupOnSelect:r,popupOptions:n}=this.options;if(i&&t.layer&&this._paint.setPaint(t,i),r&&this._openPopup(t,n,e,s),this.options.onSelect){const s=t.feature?[t.feature]:[];this.options.onSelect(ct({type:e,layer:this,features:s},k(s)))}}_unSelectLayer(t){const e=this._selectedLayers.indexOf(t);-1!==e&&(this._selectedLayers.splice(e,1),this.options&&(this.options.paint&&this._paint.setPaint(t,this.options.paint),this.options.popupOnSelect&&t.layer&&this._removePopup(t.layer))),this.selected=this._selectedLayers.length>0}_addMapClickListener(){const t=this.map;if(t){const{unselectOnClick:e}=this.options;(null==e||e)&&t.on("click",this.$unselect)}}_removeMapClickListener(){this.map.off("zoomend",this.$updateTooltip),this.map.off("moveend",this.$updateTooltip),this.map.off("click",this.$unselect)}_addMapListener(){const t=this.map;if(t){const{label:e,labelField:s,labelOnHover:o}=this.options;this._addMapClickListener(),!s&&!e||o||(t.on("zoomend",this.$updateTooltip),t.on("moveend",this.$updateTooltip))}}_removeMapListener(){this._removeMapClickListener(),this.map.off("zoomend",this.$updateTooltip),this.map.off("moveend",this.$updateTooltip)}},IMAGE:class extends Z{constructor(){var t,e;super(...arguments),Lt(this,"symbol"!=typeof(t="layer")?t+"":t,e)}addLayer(t){const e=t&&t.url;if(e){const s=(t=Ct({transparent:!0},t)).updateWmsParams;if(this.layer=new bt(e,Ct(Ct(Ct({pane:this.pane,headers:t.headers,setViewDelay:t.setViewDelay},t),t.params),t.nativeOptions)),s){const t=this.layer.updateWmsParams;this.layer.updateWmsParams=function(e){t.call(this,e),this.wmsParams=s(this.wmsParams)}}return this.layer}}},TILE:zt,WMS:class extends Z{addLayer(t){Object.assign(this.options,t);const e=t,{url:s}=e,o=((t,e)=>{var s={};for(var o in t)Jt.call(t,o)&&e.indexOf(o)<0&&(s[o]=t[o]);if(null!=t&&qt)for(var o of qt(t))e.indexOf(o)<0&&Xt.call(t,o)&&(s[o]=t[o]);return s})(e,["url"]);if(s){const e=Qt({pane:this.pane,attribution:o.attribution,minZoom:o.minZoom,maxZoom:o.maxZoom,layers:t.layers,format:t.format,transparent:!0},t.nativeOptions);let r;return r=o.headers?new Vt(s,(i=Qt({},e),Gt(i,Ht({headers:o.headers})))):new m.WMS(s,e),r}var i}},OSM:class extends zt{addLayer(t){return super.addLayer((e=((t,e)=>{for(var s in e||(e={}))Wt.call(e,s)&&Nt(t,s,e[s]);if(Dt)for(var s of Dt(e))Rt.call(e,s)&&Nt(t,s,e[s]);return t})({name:"OpenStreetMap",attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'},t),Ft(e,Ut({url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}))));var e}}}),ne(ae,"controlAdapters",{ZOOM:e.Zoom,ATTRIBUTION:class extends e.Attribution{constructor(t){super(t);const e=t&&t.customAttribution;if(e){let t=[];Array.isArray(e)?t=e:e&&(t=[e]),t.forEach((t=>this.addAttribution(t)))}}}}),ne(ae,"Map",y);let le=ae;export{le as default};
|
|
1
|
+
import{EventEmitter as t}from"events";import{Control as e,DomEvent as s,GeoJSON as o,DivIcon as i,Marker as r,CircleMarker as n,FeatureGroup as a,ImageOverlay as l,Layer as p,Util as c,CRS as h,GridLayer as u,DomUtil as d,TileLayer as m,Map as y,latLngBounds as f,latLng as v}from"leaflet";import{defined as _,debounce as b}from"@nextgis/utils";import{isPaintCallback as g,isPaint as O}from"@nextgis/paint";import P from"@nextgis/queue";function w(t,o={},i){return new(e.extend({onAdd(){const e=document.createElement("div"),r=t.onAdd(i);return e.classList.add("leaflet-control"),o.bar&&e.classList.add("leaflet-bar"),o.addClass&&e.classList.add(o.addClass),o.margin||o.bar||(e.style.marginBottom="0px",e.style.marginTop="0px",e.style.marginLeft="0px",e.style.marginRight="0px"),r&&e.appendChild(r),s.disableClickPropagation(e),e},onRemove(){t.onRemove()}}))}function L(t){const e=t.getNorthEast(),s=t.getSouthWest();return[s.lng,s.lat,e.lng,e.lat]}function C(t){const e={};for(let o=0;o<t.length;o++)e[t[o]]=1+(e[t[o]]||0);let s="";for(const o in e){e[o]>(s?e[s]:0)&&(s=o)}return s}const x={Point:"point",LineString:"line",MultiPoint:"point",Polygon:"polygon",MultiLineString:"line",MultiPolygon:"polygon",GeometryCollection:"polygon"},j={stroke:!1,opacity:1},M={};for(const de in x){const t=x[de],e=M[t]||[];e.push(de),M[t]=e}function S(t,e){return-1!==(M[e]||[]).indexOf(t)}function k(t){const e=new o;return(Array.isArray(t)?t:[t]).forEach((t=>e.addData(t))),e.getBounds()}function E(t){return{getBounds:()=>function(t){return L(k(t))}(t),getCenter:()=>function(t){const{lat:e,lng:s}=k(t).getCenter();return[s,e]}(t)}}var T=Object.defineProperty,Z=(t,e,s)=>(((t,e,s)=>{e in t?T(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s})(t,"symbol"!=typeof e?e+"":e,s),s);class B{constructor(t,e){if(this.map=t,this.options=e,Z(this,"layer"),Z(this,"pane","order-0"),void 0!==e.order){const s="order-"+e.order;let o=t.getPane(s);o||(o=t.createPane(s)),o.style.zIndex=String(Math.round(100*e.order)),this.pane=s}}addLayer(t){Object.assign(this.options,t)}}function z(t){const e=t.containerPoint,s=t.latlng,{lat:o,lng:i}=s;return{latLng:s,lngLat:[i,o],pixel:{left:e.x,top:e.y},source:t}}var I=Object.defineProperty,A=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,D=(t,e,s)=>e in t?I(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;function W({layer:t,source:e}){const s=e.target.feature;return((t,e)=>{for(var s in e||(e={}))F.call(e,s)&&D(t,s,e[s]);if(A)for(var s of A(e))U.call(e,s)&&D(t,s,e[s]);return t})({layer:t,feature:s,event:z(e),source:e},E(s))}var R=Object.defineProperty,N=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable,G=(t,e,s)=>e in t?R(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,H=(t,e,s)=>(G(t,"symbol"!=typeof e?e+"":e,s),s);class q{constructor(t){H(this,"layer"),H(this,"_onclick"),H(this,"_mouseout"),H(this,"_mouseover"),this.layer=t}handleMouseEvents(t){const{onClick:e,onLayerClick:s,onMouseOut:o,onMouseOver:i}=this.layer.options,r=e||s;r&&(this._onclick=e=>{const s=!!this.layer._getSelected(t);r(((t,e)=>{for(var s in e||(e={}))V.call(e,s)&&G(t,s,e[s]);if(N)for(var s of N(e))$.call(e,s)&&G(t,s,e[s]);return t})({selected:s},this._createMouseEvent(e)))},t.on("click",this._onclick,this)),o&&(this._mouseout=t=>{o(this._createMouseEvent(t))},t.on("mouseout",this._mouseout,this)),i&&(this._mouseover=t=>{i(this._createMouseEvent(t))},t.on("mouseover",this._mouseover,this))}stopMouseEvents(t){this._mouseover&&t.off("mouseover",this._mouseover,this),this._mouseout&&t.off("mouseout",this._mouseout,this),this._onclick&&t.off("click",this._onclick,this)}_createMouseEvent(t){return W({layer:this.layer,source:t})}}var J=Object.defineProperty,X=Object.defineProperties,K=Object.getOwnPropertyDescriptors,Q=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,tt=Object.prototype.propertyIsEnumerable,et=(t,e,s)=>e in t?J(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,st=(t,e)=>{for(var s in e||(e={}))Y.call(e,s)&&et(t,s,e[s]);if(Q)for(var s of Q(e))tt.call(e,s)&&et(t,s,e[s]);return t};class ot{constructor(t){var e,s;et(this,"symbol"!=typeof(e="layer")?e+"":e,s),this.layer=t}setPaintEachLayer(t){this.layer._layers.forEach((e=>{this.setPaint(e,t)}))}setPaint(t,e){let s;const{layer:o,feature:i}=t;if(o&&i&&(g(e)?s=e(i):O(e)&&(s=e),s))if("point"===this.layer.type&&"icon"===s.type){const t=o,e=this._createDivIcon(s);setTimeout((()=>{t.setIcon(e)}),10)}else"setStyle"in o&&o.setStyle(this.preparePaint(s))}preparePaint(t){if("get-paint"!==t.type){const e="line"===this.layer.type?[["color","strokeColor"],["opacity","strokeOpacity"],["weight","weight"]]:[["color","strokeColor"],["opacity","strokeOpacity"],["stroke","stroke"],["fillColor","fillColor"],["fillOpacity","fillOpacity"],["fill","fill"],["weight","weight"]],s={};"radius"in t&&"number"==typeof t.radius&&(s.radius=t.radius);for(const[o,i]of e){const e=this.layer.options.opacity;let r=t[i];_(e)&&-1!==i.toLowerCase().indexOf("opacity")&&(r=Number(r)*e),void 0!==r&&Object.defineProperty(s,o,{enumerable:!0,value:r})}return s}return j}_createDivIcon(t){const e=t,{html:s,rotate:o,className:r}=e,n=((t,e)=>{var s={};for(var o in t)Y.call(t,o)&&e.indexOf(o)<0&&(s[o]=t[o]);if(null!=t&&Q)for(var o of Q(t))e.indexOf(o)<0&&tt.call(t,o)&&(s[o]=t[o]);return s})(e,["html","rotate","className"]),a=document.createElement("div");r&&(a.className=r),o&&(a.style.transform=`rotateZ(${o}deg)`),s&&(a.innerHTML=s);var l;return new i((l=st({className:""},n),X(l,K({html:a}))))}createPaintToLayer(t){if(t&&t.type)if("icon"===t.type){if(t.className||t.html)return(e,s)=>{const o=this._createDivIcon(t);return new r(s,{icon:o})}}else if("pin"===t.type)return(t,e)=>new r(e);return(e,s)=>new n(s,this.preparePaint(st(st({},j),t)))}createPaintOptions(t){const e={},s=this.preparePaint(t);return t&&(e.style=()=>s),"point"===this.layer.type?e.pointToLayer=this.createPaintToLayer(t):"line"===this.layer.type&&(s.stroke=!0),e}}var it=Object.defineProperty,rt=Object.defineProperties,nt=Object.getOwnPropertyDescriptors,at=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,pt=Object.prototype.propertyIsEnumerable,ct=(t,e,s)=>e in t?it(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ht=(t,e)=>{for(var s in e||(e={}))lt.call(e,s)&&ct(t,s,e[s]);if(at)for(var s of at(e))pt.call(e,s)&&ct(t,s,e[s]);return t},ut=(t,e)=>rt(t,nt(e)),dt=(t,e,s)=>(ct(t,"symbol"!=typeof e?e+"":e,s),s);function mt(t,e){let s=()=>{};return[new Promise(((o,i)=>{const r=new XMLHttpRequest;r.open("GET",t),r.responseType="arraybuffer";for(const t in e)r.setRequestHeader(t,e[t]);r.onload=function(){const t=new Uint8Array(this.response),e=new Blob([t],{type:"image/png"}),s=(window.URL||window.webkitURL).createObjectURL(e);o(s)},r.onerror=i,r.send(),s=()=>{r.abort(),o("")}})),s]}var yt=new P({concurrency:6,delay:200}),ft=Object.defineProperty,vt=(t,e,s)=>(((t,e,s)=>{e in t?ft(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s})(t,"symbol"!=typeof e?e+"":e,s),s);class _t extends l{constructor(t,e,s){super(t,e,s),vt(this,"_aborter")}cancelLoad(){this._aborter&&(this._aborter(),this._aborter=void 0)}_initImage(){super._initImage();const t=this.options.headers,e=this._image,s=e.src;e.src="",yt.add((()=>{const[o,i]=mt(s,t);return o.then((t=>{e.src=t})),this._aborter=i,o}))}}var bt=Object.defineProperty,gt=(t,e,s)=>(((t,e,s)=>{e in t?bt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s})(t,"symbol"!=typeof e?e+"":e,s),s);class Ot extends p{constructor(t,e){super(e),gt(this,"defaultWmsParams",{service:"WMS",request:"GetMap",version:"1.1.1",layers:"",styles:"",format:"image/jpeg",transparent:!1}),gt(this,"options",{crs:null,uppercase:!1,attribution:"",opacity:1,isBack:!1,minZoom:0,pane:"tilePane",headers:null,viewPortBuffer:0,setViewDelay:100}),gt(this,"wmsParams"),gt(this,"_url"),gt(this,"_currentUrl"),gt(this,"_currentOverlay"),gt(this,"_loadedOverlay"),this._url=t;const s={},o={};let i;for(i in e)i in this.options?o[i]=e[i]:s[i]=e[i];c.setOptions(this,o),this.wmsParams=c.extend({},this.defaultWmsParams,s)}setParams(t){c.extend(this.wmsParams,t),this.update()}getAttribution(){return this.options.attribution||""}onAdd(){return this.update(),this}onRemove(t){return this._currentOverlay&&(this._currentOverlay.cancelLoad(),t.removeLayer(this._currentOverlay),delete this._currentOverlay),this._currentUrl&&delete this._currentUrl,this}getEvents(){return{moveend:b(this.update,this.options.setViewDelay)}}update(){if(!this._map)return;this.updateWmsParams();const t=this.getImageUrl();if(this._currentUrl===t)return;this._currentUrl=t;const e=this.options.viewPortBuffer||0,s=this._map.getBounds().pad(e);this._loadedOverlay&&(this._loadedOverlay.cancelLoad(),this._loadedOverlay.off("load"),this._loadedOverlay=void 0);const o=new _t(t,s,{opacity:0,pane:this.options.pane,headers:this.options.headers});o.addTo(this._map),this._loadedOverlay=o,o.once("load",(()=>{this._map&&(o._url===this._currentUrl?(this._currentOverlay&&this._map.removeLayer(this._currentOverlay),this._loadedOverlay=void 0,this._currentOverlay=o,o.setOpacity(void 0!==this.options.opacity?this.options.opacity:1),!0===this.options.isBack&&o.bringToBack(),!1===this.options.isBack&&o.bringToFront(),void 0!==this.options.zIndex&&o.setZIndex(this.options.zIndex)):this._map.removeLayer(o))}),this);const{minZoom:i,maxZoom:r}=this.options;(i&&this._map.getZoom()<i||r&&this._map.getZoom()>r)&&this._map.removeLayer(o)}setOpacity(t){this.options.opacity=t,this._currentOverlay&&this._currentOverlay.setOpacity(t)}bringToBack(){this.options.isBack=!0,this._currentOverlay&&this._currentOverlay.bringToBack()}bringToFront(){this.options.isBack=!1,this._currentOverlay&&this._currentOverlay.bringToFront()}setZIndex(t){this.options.zIndex=t,this._currentOverlay&&this._currentOverlay.setZIndex(t)}updateWmsParams(t){t||(t=this._map);const e=this.options.viewPortBuffer||0,s=t.getBounds().pad(e),o=t.getSize();if(0!==this.options.viewPortBuffer){const t=e+1;o.x=Math.ceil(o.x*t),o.y=Math.ceil(o.y*t)}const i=parseFloat(this.wmsParams.version),r=this.options.crs||t.options.crs,n=i>=1.3?"crs":"srs";if(r){const t=r.project(s.getNorthWest()),e=r.project(s.getSouthEast()),a={width:o.x,height:o.y};a[n]=r.code,a.bbox=(i>=1.3&&r===h.EPSG4326?[e.y,t.x,t.y,e.x]:[t.x,e.y,e.x,t.y]).join(","),c.extend(this.wmsParams,a)}}getImageUrl(){const t=c.getParamString(this.wmsParams,this._url,this.options.uppercase||!1);return this._url+t}}var Pt=Object.defineProperty,wt=Object.getOwnPropertySymbols,Lt=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable,xt=(t,e,s)=>e in t?Pt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,jt=(t,e)=>{for(var s in e||(e={}))Lt.call(e,s)&&xt(t,s,e[s]);if(wt)for(var s of wt(e))Ct.call(e,s)&&xt(t,s,e[s]);return t},Mt=(t,e,s)=>(xt(t,"symbol"!=typeof e?e+"":e,s),s);class St extends B{constructor(){super(...arguments),Mt(this,"layer")}addLayer(t){const e=t&&t.url;if(e){const s=(t=jt({transparent:!0},t)).updateWmsParams;if(this.layer=new Ot(e,jt(jt(jt({pane:this.pane,headers:t.headers,setViewDelay:t.setViewDelay},t),t.params),t.nativeOptions)),s){const t=this.layer.updateWmsParams;this.layer.updateWmsParams=function(e){t.call(this,e),this.wmsParams=s(this.wmsParams)}}return this.layer}}}function kt(t){return class extends t{constructor(...t){super(...t),this.options.setViewDelay&&(this._update=function(t,e=10){let s;function o(...i){o.clear(),s=setTimeout((()=>{s=null,t.apply(this,i)}),e)}return o.clear=function(){s&&(clearTimeout(s),s=null)},o}(((...t)=>{u.prototype._update.call(this,...t)}),this.options.setViewDelay))}createTile(t,e){const s=this.getTileUrl(t),o=document.createElement("img"),[i,r]=mt(s,this.options.headers);return i.then((t=>{o.src=t,e(null,o)})),o.abort=r,(this.options.crossOrigin||""===this.options.crossOrigin)&&(o.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),o.alt="",o.setAttribute("role","presentation"),o}_abortLoading(){const t=this._tiles,e=this._tileZoom;for(const s in t)if(t[s].coords.z!==e){const e=t[s].el;e.onload=c.falseFn,e.onerror=c.falseFn,e.complete||(e.abort&&e.abort(),e.src=c.emptyImageUrl,d.remove(e),delete t[s])}}}}Mt(St,"queue",yt);const Et=kt(class extends m{constructor(t,e){super(t,e),Object.assign(this.options,e)}});var Tt=Object.defineProperty,Zt=Object.defineProperties,Bt=Object.getOwnPropertyDescriptors,zt=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,At=Object.prototype.propertyIsEnumerable,Ft=(t,e,s)=>e in t?Tt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ut=(t,e)=>{for(var s in e||(e={}))It.call(e,s)&&Ft(t,s,e[s]);if(zt)for(var s of zt(e))At.call(e,s)&&Ft(t,s,e[s]);return t};class Dt extends B{addLayer(t){if(this.options=Object.assign(this.options,t),t){const s=t,{url:o}=s,i=((t,e)=>{var s={};for(var o in t)It.call(t,o)&&e.indexOf(o)<0&&(s[o]=t[o]);if(null!=t&&zt)for(var o of zt(t))e.indexOf(o)<0&&At.call(t,o)&&(s[o]=t[o]);return s})(s,["url"]);if(o){const t=Ut({pane:this.pane,attribution:i.attribution,minZoom:i.minZoom,maxZoom:i.maxZoom},i.nativeOptions);let s;return i.subdomains&&(t.subdomains=i.subdomains),s=i.headers?new Et(o,(e=Ut({},t),Zt(e,Bt({headers:i.headers,setViewDelay:i.setViewDelay})))):new m(o,t),s}}var e}updateLayer(){if(this.layer){const t=this.layer._url,e=(new Date).getTime(),s=t.includes("?")?"&":"?",o=t.replace(/(\?|&)timestamp=\d*/g,"")+s+`timestamp=${e}`;this.layer.setUrl(o),this.layer.redraw()}}}var Wt=Object.defineProperty,Rt=Object.defineProperties,Nt=Object.getOwnPropertyDescriptors,Vt=Object.getOwnPropertySymbols,$t=Object.prototype.hasOwnProperty,Gt=Object.prototype.propertyIsEnumerable,Ht=(t,e,s)=>e in t?Wt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;const qt=kt(class extends m.WMS{constructor(t,e){super(t,e)}});var Jt=Object.defineProperty,Xt=Object.defineProperties,Kt=Object.getOwnPropertyDescriptors,Qt=Object.getOwnPropertySymbols,Yt=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable,ee=(t,e,s)=>e in t?Jt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,se=(t,e)=>{for(var s in e||(e={}))Yt.call(e,s)&&ee(t,s,e[s]);if(Qt)for(var s of Qt(e))te.call(e,s)&&ee(t,s,e[s]);return t};function oe(t){return[[t[3],t[0]],[t[1],t[2]]]}var ie=Object.defineProperty,re=Object.getOwnPropertySymbols,ne=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable,le=(t,e,s)=>e in t?ie(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,pe=(t,e)=>{for(var s in e||(e={}))ne.call(e,s)&&le(t,s,e[s]);if(re)for(var s of re(e))ae.call(e,s)&&le(t,s,e[s]);return t},ce=(t,e,s)=>(le(t,"symbol"!=typeof e?e+"":e,s),s);const he=class e{constructor(){ce(this,"options",{target:"map"}),ce(this,"layerAdapters",e.layerAdapters),ce(this,"controlAdapters",e.controlAdapters),ce(this,"emitter",new t),ce(this,"map"),ce(this,"_resizeObserver"),ce(this,"_unselectCb",[]),ce(this,"_universalEvents",["move","zoom","zoomend","zoomstart","moveend","movestart"]),ce(this,"_positionEvents",["mousemove","mouseout","mouseover"])}create(t){if(this.options=pe({},t),this.options.target){const{zoom:t,center:e,maxZoom:s,minZoom:o,maxBounds:i,mapAdapterOptions:r}=this.options;this.map=this.options.map||new y(this.options.target,pe({attributionControl:!1,zoomControl:!1,maxBounds:i?oe(i):void 0,maxZoom:s,minZoom:o,center:e&&[e[1],e[0]],zoom:t},r)),this._updateMinZoomForBounds(o),this._watchSizeChangeToUpdateMinZoom();const n=this.map.createPane("order-0");this.map._addUnselectCb=t=>{this._addUnselectCb(t)},n.style.zIndex=String(0),this.emitter.emit("create",this),this._addMapListeners()}}destroy(){this.map&&this.map.remove(),this._stopWatchSizeChangeToUpdateMinZoom()}getContainer(){return this.map&&this.map.getContainer()}getControlContainer(){const t=this.map&&this.map._controlContainer;if(t)return t;throw new Error("Leaflet Map is not initialized yet")}setCursor(t){this.map&&(this.map.getContainer().style.cursor=t)}setView(t,e){const s=this.map;if(s)if(Array.isArray(t)){const s=t,[o,i]=s;this.map&&("number"==typeof e?this.map.setView([i,o],e,{animate:!1}):this.setCenter([o,i]))}else{const{zoom:e,center:o,maxBounds:i,bounds:r,minZoom:n,maxZoom:a}=t;if(o&&void 0!==e?this.setView(o,e):(void 0!==e&&this.setZoom(e),o&&this.setCenter(o)),r&&this.fitBounds(r),void 0!==i)if(i){const t=oe(i);s.setMaxBounds(t),this._updateMinZoomForBounds()}else s.setMaxBounds(null),this._updateMinZoomForBounds();void 0!==a&&s.setMaxZoom(a),void 0!==n&&this._updateMinZoomForBounds(n)}}setCenter(t){const[e,s]=t;this.map&&this.map.panTo([s,e])}getCenter(){const t=this.map;if(t){const e=t.getBounds().getCenter();return[e.lng,e.lat]}}setZoom(t){this.map&&this.map.setZoom(t)}getZoom(){var t;return null!=(t=this.map&&this.map.getZoom())?t:void 0}getBounds(){if(!this.map)return;const t=this.map.getBounds(),e=t.getSouthWest(),s=t.getNorthEast();return[e.lng,e.lat,s.lng,s.lat]}fitBounds(t,e={}){if(this.map){const{maxZoom:s,offset:o,padding:i}=e,r={};s&&(r.maxZoom=s),i&&(r.padding=[i,i]),o&&(r.padding=o),this.map.fitBounds(oe(t),r)}}getLayerAdapter(t){return e.layerAdapters[t]}createControl(t,e){return w(t,e,this)}createButtonControl(t){return function(t,e){const o=document.createElement("a"),i=t.title||"";o.href="#",o.title=i,o.setAttribute("role","button"),o.setAttribute("aria-label",i),t.addClass&&o.classList.add(t.addClass),s.disableClickPropagation(o),s.on(o,"click",s.stop),t.html instanceof HTMLElement?o.appendChild(t.html):"string"==typeof t.html&&(o.innerHTML=t.html);const r=e=>{e.stopPropagation(),t.onClick()};return w({onAdd:()=>(void 0!==t.onClick&&o.addEventListener("click",r),o),onRemove(){const e=o.parentNode;e&&e.removeChild(o),void 0!==t.onClick&&o.removeEventListener("click",r)}},{bar:!0},e)}(t,this)}addControl(t,e){if(t.options.position=e.replace("-",""),this.map)return this.map.addControl(t),t}removeControl(t){this.map&&this.map.removeControl(t)}removeLayer(t){t&&t.remove&&t.remove()}showLayer(t){this.map&&t.addTo(this.map)}hideLayer(t){t.remove()}setLayerOpacity(t,e){"setOpacity"in t&&t.setOpacity(e)}setLayerOrder(t,e,s){}onMapClick(t){const e=z(t);this.emitter.emit("preclick",e),this.emitter.emit("click",e)}locate(t,e){const s=this.map;if(s&&(s.locate(t),e)){const{locationfound:t,locationerror:o}=e,i=e=>{t({lngLat:[e.latlng.lng,e.latlng.lat]})};void 0!==t&&s.on("locationfound",i,this),o&&s.on("locationerror",o,this);return{stop:()=>{void 0!==t&&s.off("locationfound",i),o&&s.off("locationerror",o)}}}return{stop:()=>{}}}_addUnselectCb(t){for(const e of this._unselectCb)e();this._unselectCb.length=0,this._unselectCb.push(t)}_watchSizeChangeToUpdateMinZoom(){this._stopWatchSizeChangeToUpdateMinZoom();const t=this.getContainer();t&&this.map&&window.ResizeObserver&&(this._resizeObserver=new ResizeObserver((()=>{this._updateMinZoomForBounds()})),this._resizeObserver.observe(t))}_stopWatchSizeChangeToUpdateMinZoom(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=void 0)}_addMapListeners(){const t=this.map;if(t){t.on("click",(t=>{this.onMapClick(t)}));for(const e of this._universalEvents)t.on(e,(()=>this.emitter.emit(e,this)),t);t.on("movestart",(()=>{St.queue.abort()})),t.on("zoomstart",(()=>{St.queue.abort()}));for(const e of this._positionEvents)t.on(e,(t=>this.emitter.emit(e,z(t))),t)}}_updateMinZoomForBounds(t){var e;const s=this.map;if(s){t=null!=t?t:s.getMinZoom();const o=f(v(-90,-18e3),v(90,18e3)),i=null!=(e=s.options.maxBounds)?e:o;if(void 0!==i){s.setMinZoom(0);const e=s.getBoundsZoom(i,!0),o=t<e?e:t;s.options.minZoom=o,s.setMinZoom(o),s.getZoom()<o&&s.setZoom(o)}}}};ce(he,"layerAdapters",{GEOJSON:class extends B{constructor(t,e){super(t,e),dt(this,"layer"),dt(this,"selected",!1),dt(this,"type"),dt(this,"_layers",[]),dt(this,"_events"),dt(this,"paint"),dt(this,"selectedPaint"),dt(this,"_selectedLayers",[]),dt(this,"_filteredLayers",[]),dt(this,"_filterFun"),dt(this,"_openedPopup",[]),dt(this,"_paint"),dt(this,"$updateTooltip",b((()=>{this.updateTooltip()}),300)),dt(this,"$unselect",(()=>{this.unselect()})),this._events=new q(this),this._paint=new ot(this)}addLayer(t){return Object.assign(this.options,t),this.paint=t.paint,this.layer=new a([],ut(ht({},t.nativeOptions),{pane:this.pane})),this.selectedPaint=t.selectedPaint,t.paint=this.paint,t.data&&this.addData(t.data),this._addMapListener(),this.layer}beforeRemove(){this._removeMapListener()}select(t){if(this.unselect(),t){const e=this._layers.filter(t);for(const t of e)this._selectLayer(t,"api")}else this.selected||(this.selected=!0,this.selectedPaint&&this._paint.setPaintEachLayer(this.selectedPaint))}unselect(t){if(t){this._layers.filter(t).forEach((t=>{this._unSelectLayer(t)}))}else if(this.selected){for(const t of this._openedPopup)this._removePopup(t[0]);this.paint&&this._paint.setPaintEachLayer(this.paint),this._selectedLayers.length=0,this.selected=!1}}getSelected(){return this._selectedLayers.map((t=>ht({target:this,feature:t.feature,layer:t},E(t.feature))))}getFiltered(){return this._filteredLayers}filter(t){this._filterFun=t;const e=this.layer,s=e&&e._map;if(e&&s){e.remove();const o=[];this._layers.forEach((({feature:s,layer:i})=>{if(i){!t||t(ht({target:this,feature:s,layer:i},E(s)))?(e.addLayer(i),o.push(ht({target:this,feature:s,layer:i},E(s)))):e.removeLayer(i)}})),this._filteredLayers=o,e.addTo(s)}return this._filteredLayers}cleanFilter(){this.filter()}getLayers(){return this._layers.map((({layer:t,feature:e})=>ht({feature:e,layer:t,visible:t&&!!t._map,target:this},E(e))))}clearLayer(t){this.unselect();const e=this.layer;if(e)if(t)for(let s=this._layers.length;s--;){const o=this._layers[s];if(o){const{feature:i,layer:r}=o;if(i&&r){t(i)&&(e.removeLayer(r),this._layers.splice(s,1))}}}else e.clearLayers(),this._layers=[]}setData(t){this.clearLayer(),this.addData(t)}addData(t){const e=this.options;let s;if(e){if(t){let o;if(e.type)o=e.type;else{const e=function(t){let e;e="FeatureCollection"===t.type?C(t.features.map((t=>t.geometry.type))):"GeometryCollection"===t.type?C(t.geometries.map((t=>t.type))):"Feature"===t.type?t.geometry.type:t.type;return e}(t);o=x[e]}if(this.type&&this.type!==o)return void console.warn("no other data type than layer can be added");this.type=o,t=function(t,e){if("FeatureCollection"===t.type)t.features=t.features.filter((t=>S(t.geometry.type,e)));else if("Feature"===t.type){if(!S(t.geometry.type,e))return!1}else"GeometryCollection"===t.type&&(t.geometries=t.geometries.filter((t=>S(t.type,e))));return t}(t,o),t&&(s=this._getGeoJsonOptions(e,o))}new o(t||void 0,s)}}openPopup(t,e){if(t){this._layers.filter(t).forEach((t=>{this._openPopup(t,e,"api")}))}}closePopup(t){(t?this._openedPopup.filter((e=>t(e[2]))):this._openedPopup).forEach((t=>{this._removePopup(t[0])}))}updateTooltip(t){t?this._updateTooltip(t):this.getLayers().forEach((t=>this._updateTooltip({feature:t.feature,layer:t.layer})))}getExtent(){return this.getBounds()}getBounds(){if(this.layer){const t=this.layer.getBounds();if(t.isValid())return L(t)}}setOpacity(t){this.options.opacity=t,this.setPaint(this.paint),this.setSelectedPaint(this.selectedPaint)}setPaint(t){if(t){this.paint=t;for(const e of this._layers)this._paint.setPaint(e,t)}}setSelectedPaint(t){if(t){this.selectedPaint=t;for(const e of this._selectedLayers)this._paint.setPaint(e,t)}}updatePaint(t){this.paint=ht(ht({},this.paint),t);for(const e of this._layers)this._paint.setPaint(e,this.paint)}updateSelectedPaint(t){this.selectedPaint=ht(ht({},this.selectedPaint),t);for(const e of this._selectedLayers)this._paint.setPaint(e,this.selectedPaint)}_getSelected(t){return this._selectedLayers.find((e=>e.layer===t))}_updateTooltip(t){const{feature:e,layer:s}=t,{label:o,labelField:i,labelOnHover:r}=this.options;if(s){let n;if(s.unbindTooltip(),e.properties&&i?n=e.properties[i]:o&&(n=o(ht(ht({target:this},t),E(e)))),n){const t=!r;s.bindTooltip(String(n),{permanent:t,sticky:!1})}}}_openPopup(t){return e=this,s=arguments,o=function*(t,e={},s,o){var i,r;const{feature:n,layer:a}=t,{minWidth:l,autoPan:p,maxWidth:c,closeButton:h}=ht({minWidth:300},e),u=null!=h?h:!this.options.selectOnHover;let d;const m=[],y=t=>{m.push(t)},f=()=>{d&&this._removePopup(d)};let v;if(v=e.createPopupContent?yield e.createPopupContent(ht({layer:a,feature:n,target:this,type:s,close:f,onClose:y},E(n))):e.popupContent,v&&a){const e={minWidth:l,autoPan:p,closeButton:u,closeOnClick:!1,autoClose:!1};if(_(c)&&(e.maxWidth=c),d=a.bindPopup(v,e),null==(r=null==(i=this.options.popupOptions)?void 0:i.unselectOnClose)||r){const t=a.getPopup();t&&t.once("remove",(()=>{f()}),this)}this._openedPopup.push([d,m,t]),d.openPopup(o)}},new Promise(((t,i)=>{var r=t=>{try{a(o.next(t))}catch(e){i(e)}},n=t=>{try{a(o.throw(t))}catch(e){i(e)}},a=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,n);a((o=o.apply(e,s)).next())}));var e,s,o}_removePopup(t){var e,s;if(this.map){t.closePopup().unbindPopup();const o=this._openedPopup.findIndex((e=>e[0]===t));if(-1!==o){const t=null==(s=null==(e=this.options.popupOptions)?void 0:e.unselectOnClose)||s,[,i,r]=this._openedPopup[o];for(const e of i)e(r);i.length=0,t&&this._unSelectLayer(r),this._openedPopup.splice(o,1)}}}_getGeoJsonOptions(t,e){const s=t.paint;let o={};return"function"==typeof s?"point"===e?o.pointToLayer=(t,e)=>{const o=s(t);return this._paint.createPaintToLayer(o)(t,e)}:o={style:t=>this._paint.preparePaint(t?ht(ht({},j),s(t)):ut(ht({},j),{type:"path"}))}:o=this._paint.createPaintOptions(s),o.onEachFeature=(t,e)=>{this._onEachFeature(t,e)},o}_onEachFeature(t,e){const s=this.layer;if(s){const o=ht({target:this,feature:t,layer:e},E(t));e.options.pane=this.pane,this._layers.push(o);let i=!0;if(this._filterFun&&(i=this._filterFun(o)),i){const{popup:i,popupOptions:r,selectable:n,interactive:a,selectOnHover:l}=this.options;e.options.interactive=!_(a)||a,s.addLayer(e),n&&(l?(e.on("mouseover",(()=>{this._selectLayer(o,"hover")})),e.on("mouseout",(()=>{this._unSelectLayer(o)}))):e.on("click",(t=>this._selectOnLayerClick(t)),this)),this._events.handleMouseEvents(e),setTimeout((()=>{i&&this._openPopup(ht({target:this,layer:e,feature:t},E(t)),r,"api"),this._updateTooltip({layer:e,feature:t})}))}}}_selectOnLayerClick(t){s.stopPropagation(t);const e=t.target,o=e.feature,i=ht({target:this,layer:e,feature:o},E(o)),r=this._getSelected(e);r?this.options&&this.options.unselectOnSecondClick&&this._unSelectLayer(r):this._selectLayer(i,"click",t.latlng)}_selectLayer(t,e,s){const{multiselect:o}=this.options;o||(this.map._addUnselectCb((()=>{this._unSelectLayer(t)})),this._selectedLayers.forEach((t=>this._unSelectLayer(t)))),this._selectedLayers.push(t),this.selected=!0;const{selectedPaint:i,popupOnSelect:r,popupOptions:n}=this.options;if(i&&t.layer&&this._paint.setPaint(t,i),r&&this._openPopup(t,n,e,s),this.options.onSelect){const s=t.feature?[t.feature]:[];this.options.onSelect(ht({type:e,layer:this,features:s},E(s)))}}_unSelectLayer(t){const e=this._selectedLayers.indexOf(t);-1!==e&&(this._selectedLayers.splice(e,1),this.options&&(this.options.paint&&this._paint.setPaint(t,this.options.paint),this.options.popupOnSelect&&t.layer&&this._removePopup(t.layer))),this.selected=this._selectedLayers.length>0}_addMapClickListener(){const t=this.map;if(t){const{unselectOnClick:e}=this.options;(null==e||e)&&t.on("click",this.$unselect)}}_removeMapClickListener(){this.map.off("zoomend",this.$updateTooltip),this.map.off("moveend",this.$updateTooltip),this.map.off("click",this.$unselect)}_addMapListener(){const t=this.map;if(t){const{label:e,labelField:s,labelOnHover:o}=this.options;this._addMapClickListener(),!s&&!e||o||(t.on("zoomend",this.$updateTooltip),t.on("moveend",this.$updateTooltip))}}_removeMapListener(){this._removeMapClickListener(),this.map.off("zoomend",this.$updateTooltip),this.map.off("moveend",this.$updateTooltip)}},IMAGE:St,TILE:Dt,WMS:class extends B{addLayer(t){Object.assign(this.options,t);const e=t,{url:s}=e,o=((t,e)=>{var s={};for(var o in t)Yt.call(t,o)&&e.indexOf(o)<0&&(s[o]=t[o]);if(null!=t&&Qt)for(var o of Qt(t))e.indexOf(o)<0&&te.call(t,o)&&(s[o]=t[o]);return s})(e,["url"]);if(s){const e=se({pane:this.pane,attribution:o.attribution,minZoom:o.minZoom,maxZoom:o.maxZoom,layers:t.layers,format:t.format,transparent:!0},t.nativeOptions);let r;return r=o.headers?new qt(s,(i=se({},e),Xt(i,Kt({headers:o.headers})))):new m.WMS(s,e),r}var i}},OSM:class extends Dt{addLayer(t){return super.addLayer((e=((t,e)=>{for(var s in e||(e={}))$t.call(e,s)&&Ht(t,s,e[s]);if(Vt)for(var s of Vt(e))Gt.call(e,s)&&Ht(t,s,e[s]);return t})({name:"OpenStreetMap",attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'},t),Rt(e,Nt({url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}))));var e}}}),ce(he,"controlAdapters",{ZOOM:e.Zoom,ATTRIBUTION:class extends e.Attribution{constructor(t){super(t);const e=t&&t.customAttribution;if(e){let t=[];Array.isArray(e)?t=e:e&&(t=[e]),t.forEach((t=>this.addAttribution(t)))}}}}),ce(he,"Map",y);let ue=he;export{ue as default};
|
|
2
2
|
//# sourceMappingURL=leaflet-map-adapter.esm-bundler.prod.js.map
|