@defra/interactive-map 0.0.24-alpha → 0.0.25-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/index.css +1 -1
- package/docs/api/map-style-config.md +39 -2
- package/package.json +4 -3
- package/plugins/beta/draw-ml/dist/css/index.css +21 -1
- package/plugins/beta/scale-bar/dist/css/index.css +31 -1
- package/plugins/search/dist/css/index.css +250 -1
- package/providers/beta/openlayers/dist/esm/im-openlayers-provider.js +1 -1
- package/providers/beta/openlayers/dist/umd/im-openlayers-provider.js +1 -1
- package/providers/beta/openlayers/dist/umd/index.js +1 -1
- package/providers/beta/openlayers/src/appEvents.js +25 -36
- package/providers/beta/openlayers/src/appEvents.test.js +98 -121
- package/providers/beta/openlayers/src/mapEvents.test.js +1 -0
- package/providers/beta/openlayers/src/openlayersProvider.js +23 -8
- package/providers/beta/openlayers/src/openlayersProvider.test.js +60 -5
- package/providers/beta/openlayers/src/utils/spatial.js +18 -14
- package/providers/beta/openlayers/src/utils/spatial.test.js +4 -2
- package/providers/beta/openlayers/src/utils/tileLayers.js +133 -0
- package/providers/beta/openlayers/src/utils/tileLayers.test.js +251 -0
- package/providers/maplibre/dist/esm/im-maplibre-provider.js +1 -1
- package/providers/maplibre/dist/umd/im-maplibre-provider.js +1 -1
- package/providers/maplibre/src/utils/maplibreFixes.js +1 -1
- package/src/App/layout/layout.module.scss +1 -0
- package/src/types.js +11 -1
- package/webpack.dev.mjs +8 -4
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see im-maplibre-provider.js.LICENSE.txt */
|
|
2
|
-
"use strict";(this.webpackChunkdefra_DefraMap=this.webpackChunkdefra_DefraMap||[]).push([[772],{419(t,e,r){r.r(e),r.d(e,{default:()=>Ft});var n=400,o=["showKeyboardHelp","selectControl","moveLarge","nudgeMap","zoomLarge","nudgeZoom","highlightLabelAtCenter","highlightNextLabel"];function a(t){var e=t.getCanvas();e.removeAttribute("role"),e.setAttribute("tabindex",-1),e.removeAttribute("aria-label"),e.style.display="block",e.addEventListener("focus",function(t){e.blur(),t.relatedTarget&&t.relatedTarget.focus()})}function i(t){var e=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){if(("touchmove"===this.type||"touchstart"===this.type)&&!this.cancelable){var r=t.getCanvas();if(r&&(this.target===r||r.contains(this.target)))return}e.call(this)}}var l=function(t,e){var r=null,n=function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];clearTimeout(r),r=setTimeout(function(){t.apply(void 0,o)},e)};return n.cancel=function(){r&&(clearTimeout(r),r=null)},n};function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function s(t){var e=t.map,r=t.events,n=t.eventBus,o=t.getCenter,a=t.getZoom,i=t.getBounds,s=t.getResolution,c=[],f=[],h=function(){var t=a();return{center:o(),bounds:i(),resolution:s(),zoom:t,isAtMaxZoom:e.getMaxZoom()<=t,isAtMinZoom:e.getMinZoom()>=t}},p=function(t,e){return n.emit(t,e)},y=function(){return p(r.MAP_LOADED)};e.on("load",y),c.push(["load",y]),e.once("idle",function(){return p(r.MAP_FIRST_IDLE,h())});var d=function(){return p(r.MAP_MOVE_START)};e.on("movestart",d),c.push(["movestart",d]);var g=l(function(){p(r.MAP_MOVE_END,h())},500);e.on("moveend",g),c.push(["moveend",g]);var v,m,b=(v=function(){p(r.MAP_MOVE,h())},m=0,function(){var t=Date.now();t-m>=10&&(m=t,v.apply(void 0,arguments))});e.on("zoom",b),c.push(["zoom",b]);var M=function(){return p(r.MAP_RENDER)};e.on("render",M),c.push(["render",M]);var w=l(function(){p(r.MAP_DATA_CHANGE,h())},500),S=function(t){t.isSourceLoaded&&w()};e.on("styledata",w),e.on("sourcedata",S),c.push(["styledata",w],["sourcedata",S]);var P=function(){return p(r.MAP_STYLE_CHANGE)};e.on("style.load",P),c.push(["style.load",P]);var x=function(t){return p(r.MAP_CLICK,{point:t.point,coords:[t.lngLat.lng,t.lngLat.lat]})};return e.on("click",x),c.push(["click",x]),f.push(g,b,w),{remove:function(){f.forEach(function(t){return t.cancel()}),c.forEach(function(t){var r,n,o=(n=2,function(t){if(Array.isArray(t))return t}(r=t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,l=[],u=!0,s=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(t){s=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(r,n)||function(t,e){if(t){if("string"==typeof t)return u(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(t,e):void 0}}(r,n)||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.")}()),a=o[0],i=o[1];return e.off(a,i)})}}}function c(t){var e=t.mapProvider,r=t.map,n=t.events,o=t.eventBus,a=function(t){r.once("style.load",function(){o.emit(n.MAP_STYLE_CHANGE,{mapStyleId:t.id})}),r.setStyle(t.url,{diff:!1})},i=function(t){r.setPixelRatio(t)},l=function(t){var r=t.mapSize;e.mapSize=r};return o.on(n.MAP_SET_STYLE,a),o.on(n.MAP_SET_PIXEL_RATIO,i),o.on(n.MAP_SIZE_CHANGE,l),{remove:function(){o.off(n.MAP_SET_STYLE,a),o.off(n.MAP_SET_PIXEL_RATIO,i),o.off(n.MAP_SIZE_CHANGE,l)}}}let f=" ";class h{static get separator(){return f}static set separator(t){f=t}static parse(t){if(!isNaN(parseFloat(t))&&isFinite(t))return Number(t);const e=String(t).trim().replace(/^-/,"").replace(/[NSEW]$/i,"").split(/[^0-9.,]+/);if(""==e[e.length-1]&&e.splice(e.length-1),""==e)return NaN;let r=null;switch(e.length){case 3:r=e[0]/1+e[1]/60+e[2]/3600;break;case 2:r=e[0]/1+e[1]/60;break;case 1:r=e[0];break;default:return NaN}return/^-|[WS]$/i.test(t.trim())&&(r=-r),Number(r)}static toDms(t,e="d",r=void 0){if(isNaN(t))return null;if("string"==typeof t&&""==t.trim())return null;if("boolean"==typeof t)return null;if(t==1/0)return null;if(null==t)return null;if(void 0===r)switch(e){case"d":case"deg":r=4;break;case"dm":case"deg+min":r=2;break;case"dms":case"deg+min+sec":r=0;break;default:e="d",r=4}t=Math.abs(t);let n=null,o=null,a=null,i=null;switch(e){default:case"d":case"deg":o=t.toFixed(r),o<100&&(o="0"+o),o<10&&(o="0"+o),n=o+"°";break;case"dm":case"deg+min":o=Math.floor(t),a=(60*t%60).toFixed(r),60==a&&(a=(0).toFixed(r),o++),o=("000"+o).slice(-3),a<10&&(a="0"+a),n=o+"°"+h.separator+a+"′";break;case"dms":case"deg+min+sec":o=Math.floor(t),a=Math.floor(3600*t/60)%60,i=(3600*t%60).toFixed(r),60==i&&(i=(0).toFixed(r),a++),60==a&&(a=0,o++),o=("000"+o).slice(-3),a=("00"+a).slice(-2),i<10&&(i="0"+i),n=o+"°"+h.separator+a+"′"+h.separator+i+"″"}return n}static toLat(t,e,r){const n=h.toDms(h.wrap90(t),e,r);return null===n?"–":n.slice(1)+h.separator+(t<0?"S":"N")}static toLon(t,e,r){const n=h.toDms(h.wrap180(t),e,r);return null===n?"–":n+h.separator+(t<0?"W":"E")}static toBrng(t,e,r){const n=h.toDms(h.wrap360(t),e,r);return null===n?"–":n.replace("360","0")}static fromLocale(t){const e=123456.789.toLocaleString(),r={thousands:e.slice(3,4),decimal:e.slice(7,8)};return t.replace(r.thousands,"⁜").replace(r.decimal,".").replace("⁜",",")}static toLocale(t){const e=123456.789.toLocaleString(),r={thousands:e.slice(3,4),decimal:e.slice(7,8)};return t.replace(/,([0-9])/,"⁜$1").replace(".",r.decimal).replace("⁜",r.thousands)}static compassPoint(t,e=3){if(![1,2,3].includes(Number(e)))throw new RangeError(`invalid precision ‘${e}’`);t=h.wrap360(t);const r=4*2**(e-1);return["N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"][Math.round(t*r/360)%r*16/r]}static wrap90(t){if(-90<=t&&t<=90)return t;const e=t;return 1*Math.abs(((e-90)%360+360)%360-180)-90}static wrap180(t){if(-180<=t&&t<=180)return t;const e=360;return((360*t/e-180)%e+e)%e-180}static wrap360(t){if(0<=t&&t<360)return t;const e=360;return(360*t/e%e+e)%e}}Number.prototype.toRadians=function(){return this*Math.PI/180},Number.prototype.toDegrees=function(){return 180*this/Math.PI};const p=h,y=Math.PI;class d{constructor(t,e){if(isNaN(t))throw new TypeError(`invalid lat ‘${t}’`);if(isNaN(e))throw new TypeError(`invalid lon ‘${e}’`);this._lat=p.wrap90(Number(t)),this._lon=p.wrap180(Number(e))}get lat(){return this._lat}get latitude(){return this._lat}set lat(t){if(this._lat=isNaN(t)?p.wrap90(p.parse(t)):p.wrap90(Number(t)),isNaN(this._lat))throw new TypeError(`invalid lat ‘${t}’`)}set latitude(t){if(this._lat=isNaN(t)?p.wrap90(p.parse(t)):p.wrap90(Number(t)),isNaN(this._lat))throw new TypeError(`invalid latitude ‘${t}’`)}get lon(){return this._lon}get lng(){return this._lon}get longitude(){return this._lon}set lon(t){if(this._lon=isNaN(t)?p.wrap180(p.parse(t)):p.wrap180(Number(t)),isNaN(this._lon))throw new TypeError(`invalid lon ‘${t}’`)}set lng(t){if(this._lon=isNaN(t)?p.wrap180(p.parse(t)):p.wrap180(Number(t)),isNaN(this._lon))throw new TypeError(`invalid lng ‘${t}’`)}set longitude(t){if(this._lon=isNaN(t)?p.wrap180(p.parse(t)):p.wrap180(Number(t)),isNaN(this._lon))throw new TypeError(`invalid longitude ‘${t}’`)}static get metresToKm(){return.001}static get metresToMiles(){return 1/1609.344}static get metresToNauticalMiles(){return 1/1852}static parse(...t){if(0==t.length)throw new TypeError("invalid (empty) point");if(null===t[0]||null===t[1])throw new TypeError("invalid (null) point");let e,r;if(2==t.length&&([e,r]=t,e=p.wrap90(p.parse(e)),r=p.wrap180(p.parse(r)),isNaN(e)||isNaN(r)))throw new TypeError(`invalid point ‘${t.toString()}’`);if(1==t.length&&"string"==typeof t[0]&&([e,r]=t[0].split(","),e=p.wrap90(p.parse(e)),r=p.wrap180(p.parse(r)),isNaN(e)||isNaN(r)))throw new TypeError(`invalid point ‘${t[0]}’`);if(1==t.length&&"object"==typeof t[0]){const n=t[0];if("Point"==n.type&&Array.isArray(n.coordinates)?[r,e]=n.coordinates:(null!=n.latitude&&(e=n.latitude),null!=n.lat&&(e=n.lat),null!=n.longitude&&(r=n.longitude),null!=n.lng&&(r=n.lng),null!=n.lon&&(r=n.lon),e=p.wrap90(p.parse(e)),r=p.wrap180(p.parse(r))),isNaN(e)||isNaN(r))throw new TypeError(`invalid point ‘${JSON.stringify(t[0])}’`)}if(isNaN(e)||isNaN(r))throw new TypeError(`invalid point ‘${t.toString()}’`);return new d(e,r)}distanceTo(t,e=6371e3){if(t instanceof d||(t=d.parse(t)),isNaN(e))throw new TypeError(`invalid radius ‘${e}’`);const r=e,n=this.lat.toRadians(),o=this.lon.toRadians(),a=t.lat.toRadians(),i=a-n,l=t.lon.toRadians()-o,u=Math.sin(i/2)*Math.sin(i/2)+Math.cos(n)*Math.cos(a)*Math.sin(l/2)*Math.sin(l/2);return r*(2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u)))}initialBearingTo(t){if(t instanceof d||(t=d.parse(t)),this.equals(t))return NaN;const e=this.lat.toRadians(),r=t.lat.toRadians(),n=(t.lon-this.lon).toRadians(),o=Math.cos(e)*Math.sin(r)-Math.sin(e)*Math.cos(r)*Math.cos(n),a=Math.sin(n)*Math.cos(r),i=Math.atan2(a,o).toDegrees();return p.wrap360(i)}finalBearingTo(t){t instanceof d||(t=d.parse(t));const e=t.initialBearingTo(this)+180;return p.wrap360(e)}midpointTo(t){t instanceof d||(t=d.parse(t));const e=this.lat.toRadians(),r=this.lon.toRadians(),n=t.lat.toRadians(),o=(t.lon-this.lon).toRadians(),a=Math.cos(e),i=Math.sin(e),l={x:a+Math.cos(n)*Math.cos(o),y:0+Math.cos(n)*Math.sin(o),z:i+Math.sin(n)},u=Math.atan2(l.z,Math.sqrt(l.x*l.x+l.y*l.y)),s=r+Math.atan2(l.y,l.x),c=u.toDegrees(),f=s.toDegrees();return new d(c,f)}intermediatePointTo(t,e){if(t instanceof d||(t=d.parse(t)),this.equals(t))return new d(this.lat,this.lon);const r=this.lat.toRadians(),n=this.lon.toRadians(),o=t.lat.toRadians(),a=t.lon.toRadians(),i=o-r,l=a-n,u=Math.sin(i/2)*Math.sin(i/2)+Math.cos(r)*Math.cos(o)*Math.sin(l/2)*Math.sin(l/2),s=2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u)),c=Math.sin((1-e)*s)/Math.sin(s),f=Math.sin(e*s)/Math.sin(s),h=c*Math.cos(r)*Math.cos(n)+f*Math.cos(o)*Math.cos(a),p=c*Math.cos(r)*Math.sin(n)+f*Math.cos(o)*Math.sin(a),y=c*Math.sin(r)+f*Math.sin(o),g=Math.atan2(y,Math.sqrt(h*h+p*p)),v=Math.atan2(p,h),m=g.toDegrees(),b=v.toDegrees();return new d(m,b)}destinationPoint(t,e,r=6371e3){const n=t/r,o=Number(e).toRadians(),a=this.lat.toRadians(),i=this.lon.toRadians(),l=Math.sin(a)*Math.cos(n)+Math.cos(a)*Math.sin(n)*Math.cos(o),u=Math.asin(l),s=Math.sin(o)*Math.sin(n)*Math.cos(a),c=Math.cos(n)-Math.sin(a)*l,f=i+Math.atan2(s,c),h=u.toDegrees(),p=f.toDegrees();return new d(h,p)}static intersection(t,e,r,n){if(t instanceof d||(t=d.parse(t)),r instanceof d||(r=d.parse(r)),isNaN(e))throw new TypeError(`invalid brng1 ‘${e}’`);if(isNaN(n))throw new TypeError(`invalid brng2 ‘${n}’`);const o=t.lat.toRadians(),a=t.lon.toRadians(),i=r.lat.toRadians(),l=r.lon.toRadians(),u=Number(e).toRadians(),s=Number(n).toRadians(),c=i-o,f=l-a,h=2*Math.asin(Math.sqrt(Math.sin(c/2)*Math.sin(c/2)+Math.cos(o)*Math.cos(i)*Math.sin(f/2)*Math.sin(f/2)));if(Math.abs(h)<Number.EPSILON)return new d(t.lat,t.lon);const p=(Math.sin(i)-Math.sin(o)*Math.cos(h))/(Math.sin(h)*Math.cos(o)),g=(Math.sin(o)-Math.sin(i)*Math.cos(h))/(Math.sin(h)*Math.cos(i)),v=Math.acos(Math.min(Math.max(p,-1),1)),m=Math.acos(Math.min(Math.max(g,-1),1)),b=u-(Math.sin(l-a)>0?v:2*y-v),M=(Math.sin(l-a)>0?2*y-m:m)-s;if(0==Math.sin(b)&&0==Math.sin(M))return null;if(Math.sin(b)*Math.sin(M)<0)return null;const w=-Math.cos(b)*Math.cos(M)+Math.sin(b)*Math.sin(M)*Math.cos(h),S=Math.atan2(Math.sin(h)*Math.sin(b)*Math.sin(M),Math.cos(M)+Math.cos(b)*w),P=Math.asin(Math.min(Math.max(Math.sin(o)*Math.cos(S)+Math.cos(o)*Math.sin(S)*Math.cos(u),-1),1)),x=a+Math.atan2(Math.sin(u)*Math.sin(S)*Math.cos(o),Math.cos(S)-Math.sin(o)*Math.sin(P)),O=P.toDegrees(),E=x.toDegrees();return new d(O,E)}crossTrackDistanceTo(t,e,r=6371e3){t instanceof d||(t=d.parse(t)),e instanceof d||(e=d.parse(e));const n=r;if(this.equals(t))return 0;const o=t.distanceTo(this,n)/n,a=t.initialBearingTo(this).toRadians(),i=t.initialBearingTo(e).toRadians();return Math.asin(Math.sin(o)*Math.sin(a-i))*n}alongTrackDistanceTo(t,e,r=6371e3){t instanceof d||(t=d.parse(t)),e instanceof d||(e=d.parse(e));const n=r;if(this.equals(t))return 0;const o=t.distanceTo(this,n)/n,a=t.initialBearingTo(this).toRadians(),i=t.initialBearingTo(e).toRadians(),l=Math.asin(Math.sin(o)*Math.sin(a-i));return Math.acos(Math.cos(o)/Math.abs(Math.cos(l)))*Math.sign(Math.cos(i-a))*n}maxLatitude(t){const e=Number(t).toRadians(),r=this.lat.toRadians();return Math.acos(Math.abs(Math.sin(e)*Math.cos(r))).toDegrees()}static crossingParallels(t,e,r){if(t.equals(e))return null;const n=Number(r).toRadians(),o=t.lat.toRadians(),a=t.lon.toRadians(),i=e.lat.toRadians(),l=e.lon.toRadians()-a,u=Math.sin(o)*Math.cos(i)*Math.cos(n)*Math.sin(l),s=Math.sin(o)*Math.cos(i)*Math.cos(n)*Math.cos(l)-Math.cos(o)*Math.sin(i)*Math.cos(n),c=Math.cos(o)*Math.cos(i)*Math.sin(n)*Math.sin(l);if(c*c>u*u+s*s)return null;const f=Math.atan2(-s,u),h=Math.acos(c/Math.sqrt(u*u+s*s)),y=a+f+h,d=(a+f-h).toDegrees(),g=y.toDegrees();return{lon1:p.wrap180(d),lon2:p.wrap180(g)}}rhumbDistanceTo(t,e=6371e3){t instanceof d||(t=d.parse(t));const r=e,n=this.lat.toRadians(),o=t.lat.toRadians(),a=o-n;let i=Math.abs(t.lon-this.lon).toRadians();Math.abs(i)>y&&(i=i>0?-(2*y-i):2*y+i);const l=Math.log(Math.tan(o/2+y/4)/Math.tan(n/2+y/4)),u=Math.abs(l)>1e-11?a/l:Math.cos(n);return Math.sqrt(a*a+u*u*i*i)*r}rhumbBearingTo(t){if(t instanceof d||(t=d.parse(t)),this.equals(t))return NaN;const e=this.lat.toRadians(),r=t.lat.toRadians();let n=(t.lon-this.lon).toRadians();Math.abs(n)>y&&(n=n>0?-(2*y-n):2*y+n);const o=Math.log(Math.tan(r/2+y/4)/Math.tan(e/2+y/4)),a=Math.atan2(n,o).toDegrees();return p.wrap360(a)}rhumbDestinationPoint(t,e,r=6371e3){const n=this.lat.toRadians(),o=this.lon.toRadians(),a=Number(e).toRadians(),i=t/r,l=i*Math.cos(a);let u=n+l;Math.abs(u)>y/2&&(u=u>0?y-u:-y-u);const s=Math.log(Math.tan(u/2+y/4)/Math.tan(n/2+y/4)),c=Math.abs(s)>1e-11?l/s:Math.cos(n),f=o+i*Math.sin(a)/c,h=u.toDegrees(),p=f.toDegrees();return new d(h,p)}rhumbMidpointTo(t){t instanceof d||(t=d.parse(t));const e=this.lat.toRadians();let r=this.lon.toRadians();const n=t.lat.toRadians(),o=t.lon.toRadians();Math.abs(o-r)>y&&(r+=2*y);const a=(e+n)/2,i=Math.tan(y/4+e/2),l=Math.tan(y/4+n/2),u=Math.tan(y/4+a/2);let s=((o-r)*Math.log(u)+r*Math.log(l)-o*Math.log(i))/Math.log(l/i);isFinite(s)||(s=(r+o)/2);const c=a.toDegrees(),f=s.toDegrees();return new d(c,f)}static areaOf(t,e=6371e3){const r=e,n=t[0].equals(t[t.length-1]);n||t.push(t[0]);const o=t.length-1;let a=0;for(let e=0;e<o;e++){const r=t[e].lat.toRadians(),n=t[e+1].lat.toRadians(),o=(t[e+1].lon-t[e].lon).toRadians();a+=2*Math.atan2(Math.tan(o/2)*(Math.tan(r/2)+Math.tan(n/2)),1+Math.tan(r/2)*Math.tan(n/2))}(function(t){let e=0,r=t[0].initialBearingTo(t[1]);for(let n=0;n<t.length-1;n++){const o=t[n].initialBearingTo(t[n+1]),a=t[n].finalBearingTo(t[n+1]);e+=(o-r+540)%360-180,e+=(a-o+540)%360-180,r=a}return e+=(t[0].initialBearingTo(t[1])-r+540)%360-180,Math.abs(e)<90})(t)&&(a=Math.abs(a)-2*y);const i=Math.abs(a*r*r);return n||t.pop(),i}equals(t){return t instanceof d||(t=d.parse(t)),!(Math.abs(this.lat-t.lat)>Number.EPSILON||Math.abs(this.lon-t.lon)>Number.EPSILON)}toGeoJSON(){return{type:"Point",coordinates:[this.lon,this.lat]}}toString(t="d",e=void 0){if(!["d","dm","dms","n"].includes(t))throw new RangeError(`invalid format ‘${t}’`);return"n"==t?(null==e&&(e=4),`${this.lat.toFixed(e)},${this.lon.toFixed(e)}`):`${p.toLat(this.lat,t,e)}, ${p.toLon(this.lon,t,e)}`}}function g(t,e,r){if(null!==t)for(var n,o,a,i,l,u,s,c,f=0,h=0,p=t.type,y="FeatureCollection"===p,d="Feature"===p,v=y?t.features.length:1,m=0;m<v;m++){l=(c=!!(s=y?t.features[m].geometry:d?t.geometry:t)&&"GeometryCollection"===s.type)?s.geometries.length:1;for(var b=0;b<l;b++){var M=0,w=0;if(null!==(i=c?s.geometries[b]:s)){u=i.coordinates;var S=i.type;switch(f=!r||"Polygon"!==S&&"MultiPolygon"!==S?0:1,S){case null:break;case"Point":if(!1===e(u,h,m,M,w))return!1;h++,M++;break;case"LineString":case"MultiPoint":for(n=0;n<u.length;n++){if(!1===e(u[n],h,m,M,w))return!1;h++,"MultiPoint"===S&&M++}"LineString"===S&&M++;break;case"Polygon":case"MultiLineString":for(n=0;n<u.length;n++){for(o=0;o<u[n].length-f;o++){if(!1===e(u[n][o],h,m,M,w))return!1;h++}"MultiLineString"===S&&M++,"Polygon"===S&&w++}"Polygon"===S&&M++;break;case"MultiPolygon":for(n=0;n<u.length;n++){for(w=0,o=0;o<u[n].length;o++){for(a=0;a<u[n][o].length-f;a++){if(!1===e(u[n][o][a],h,m,M,w))return!1;h++}w++}M++}break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===g(i.geometries[n],e,r))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}var v=function(t,e={}){if(null!=t.bbox&&!0!==e.recompute)return t.bbox;const r=[1/0,1/0,-1/0,-1/0];return g(t,t=>{r[0]>t[0]&&(r[0]=t[0]),r[1]>t[1]&&(r[1]=t[1]),r[2]<t[0]&&(r[2]=t[0]),r[3]<t[1]&&(r[3]=t[1])}),r};function m(t){return function(t){if(Array.isArray(t))return w(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||M(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,l=[],u=!0,s=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(t){s=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(t,e)||M(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function M(t,e){if(t){if("string"==typeof t)return w(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?w(t,e):void 0}}function w(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var S=function(t,e){var r=b(t,2),n=r[0],o=r[1],a=b(e,2),i=a[0],l=a[1],u=new d(o,n),s=new d(l,i);return u.distanceTo(s)},P=function(t){var e=t/1609.344;if(e<.5)return"".concat(Math.round(t),"m");if(e<10){var r=Number.parseFloat(e.toFixed(1)),n=1===r?"mile":"miles";return"".concat(r," ").concat(n)}var o=Math.round(e);return"".concat(o," miles")},x=function(t){return v(t)};function O(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,l=[],u=!0,s=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(t){s=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(t,e)||function(t,e){if(t){if("string"==typeof t)return E(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?E(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function N(t){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},N(t)}function j(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function A(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?j(Object(r),!0).forEach(function(e){T(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function T(t,e,r){return(e=function(t){var e=function(t){if("object"!=N(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=N(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==N(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function I(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var L="highlighted-label";function k(t,e){if("number"==typeof t)return t;if(!Array.isArray(t)||"interpolate"!==t[0])return function(t,e){var r=t.stops;if(r.length<2)return r.length>0?r[0][1]:0;for(var n=r[0],o=r[r.length-1],a=1;a<r.length;a++){var i=r[a];if(i[0]>e){o=i,n=r[a-1];break}n=r[a-1],o=i}var l=O(n,2),u=l[0],s=l[1],c=O(o,2),f=c[0],h=c[1];return e<=u?s:e>=f?h:s+(e-u)/(f-u)*(h-s)}(t,e);var r,n=function(t){if(Array.isArray(t))return t}(r=t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||function(t,e){if(t){if("string"==typeof t)return I(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?I(t,e):void 0}}(r)||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.")}(),o=n[2],a=I(n).slice(3);if("zoom"!==o[0])throw new Error("Only zoom-based expressions supported");for(var i=0;i<a.length-2;i+=2){var l=a[i],u=a[i+1],s=a[i+2],c=a[i+3];if(e<=l)return u;if(e<=s)return u+(e-l)/(s-l)*(c-u)}return a[a.length-1]}function R(t,e){if(e.highlightLayerId&&t.getLayer(e.highlightLayerId)){try{t.removeLayer(e.highlightLayerId)}catch(t){}e.highlightLayerId=null,e.highlightedExpr=null}}function _(t,e,r){var n,o,a,i;if(null!=e&&null!==(n=e.feature)&&void 0!==n&&n.layer){R(t,r);var l=e.feature,u=e.layer;r.highlightLayerId="highlight-".concat(u.id);var s=l.id,c=l.type,f=l.properties,h=l.geometry;t.getSource(L).setData({id:s,type:c,properties:f,geometry:h}),r.highlightedExpr=u.layout["text-size"];var p=t.getZoom(),y=(o=u,a=1.5*k(r.highlightedExpr,p),i=r.isDarkStyle?{text:"#ffffff",halo:"#000000"}:{text:"#000000",halo:"#ffffff"},{id:"highlight-".concat(o.id),type:o.type,source:L,layout:A(A({},o.layout),{},{"text-size":a,"text-allow-overlap":!0,"text-ignore-placement":!0,"text-max-angle":90}),paint:A(A({},o.paint),{},{"text-color":i.text,"text-halo-color":i.halo,"text-halo-width":3,"text-halo-blur":1,"text-opacity":1})});t.addLayer(y),t.moveLayer(r.highlightLayerId)}}function D(t){t.getSource(L)||t.addSource(L,{type:"geojson",data:{type:"FeatureCollection",features:[]}})}function C(t){t.getStyle().layers.filter(function(t){var e;return"line"===(null===(e=t.layout)||void 0===e?void 0:e["symbol-placement"])}).forEach(function(e){return t.setLayoutProperty(e.id,"symbol-placement","line-center")})}function F(t,e,r,n){var o={isDarkStyle:"dark"===e,labels:[],currentPixel:null,highlightLayerId:null,highlightedExpr:null};function a(){var e=t.getStyle().layers.filter(function(t){return"symbol"===t.type}),r=t.queryRenderedFeatures({layers:e.map(function(t){return t.id})});o.labels=function(t,e,r){return e.flatMap(function(e){var n,o,a,i,l="string"==typeof(o=null===(n=e.layout)||void 0===n?void 0:n["text-field"])?null===(a=/^{(.+)}$/.exec(o))||void 0===a?void 0:a[1]:Array.isArray(o)?null===(i=o.find(function(t){return Array.isArray(t)&&"get"===t[0]}))||void 0===i?void 0:i[1]:null;return l?r.filter(function(t){var r;return t.layer.id===e.id&&(null===(r=t.properties)||void 0===r?void 0:r[l])}).map(function(r){return function(t,e,r,n){var o=function(t){var e=t.type,r=t.coordinates;if("Point"===e)return r;if("MultiPoint"===e)return r[0];if(e.includes("LineString")){var n="LineString"===e?r:r[0];return[(n[0][0]+n[n.length-1][0])/2,(n[0][1]+n[n.length-1][1])/2]}if(e.includes("Polygon")){var o="Polygon"===e?r[0]:r[0][0],a=o.reduce(function(t,e){return[t[0]+e[0],t[1]+e[1]]},[0,0]);return[a[0]/o.length,a[1]/o.length]}return null}(t.geometry);if(!o)return null;var a=n.project({lng:o[0],lat:o[1]});return{text:t.properties[r],x:a.x,y:a.y,feature:t,layer:e}}(r,e,l,t)}).filter(Boolean):[]})}(t,e,r)}function i(){if(a(),!o.labels.length)return null;var e=t.project(t.getCenter()),r=function(t,e){var r;return null===(r=t.reduce(function(t,r){var n=Math.pow(r.x-e.x,2)+Math.pow(r.y-e.y,2);return!t||n<t.dist?{label:r,dist:n}:t},null))||void 0===r?void 0:r.label}(o.labels,e);return o.currentPixel={x:r.x,y:r.y},_(t,r,o),"".concat(r.text," (").concat(r.layer.id,")")}return C(t),D(t),null==n||n.on(r.MAP_SET_STYLE,function(e){t.once("styledata",function(){return t.once("idle",function(){C(t),D(t),o.isDarkStyle="dark"===(null==e?void 0:e.mapColorScheme)})})}),t.on("zoom",function(){if(o.highlightLayerId&&o.highlightedExpr){var e=k(o.highlightedExpr,t.getZoom());t.setLayoutProperty(o.highlightLayerId,"text-size",1.5*e)}}),function(t){t.getStyle().layers.filter(function(t){return"symbol"===t.type}).forEach(function(e){t.setPaintProperty(e.id,"text-opacity",["case",["boolean",["feature-state","highlighted"],!1],0,1])})}(t),{refreshLabels:a,highlightNextLabel:function(e){if(a(),!o.labels.length)return null;if(!o.currentPixel)return i();var r=function(t,e){if(!e.currentPixel)return null;var r=e.labels.map(function(t,e){return{pixel:[t.x,t.y],index:e}}).filter(function(t){return t.pixel[0]!==e.currentPixel.x||t.pixel[1]!==e.currentPixel.y});if(!r.length)return null;var n=r.map(function(t){return t.pixel}),o=function(t,e,r){var n=b(e,2),o=n[0],a=n[1],i=r.filter(function(e){var r=b(e,2),n=r[0],i=r[1];return(n!==o||i!==a)&&function(t,e,r){switch(t){case"ArrowUp":return r<0&&Math.abs(r)>=Math.abs(e);case"ArrowDown":return r>0&&Math.abs(r)>=Math.abs(e);case"ArrowLeft":return e<0&&Math.abs(e)>Math.abs(r);case"ArrowRight":return e>0&&Math.abs(e)>Math.abs(r);default:return!1}}(t,n-o,i-a)});if(!i.length)return r.findIndex(function(t){return t[0]===o&&t[1]===a});var l=-1,u=1/0;return i.forEach(function(t){var e=t[0]-o,n=t[1]-a,i=e*e+n*n;i<u&&(u=i,l=r.indexOf(t))}),l}(t,[e.currentPixel.x,e.currentPixel.y],n);return(null==o||o<0||o>=r.length)&&(o=0),e.labels[r[o].index]}(e,o);return r?(o.currentPixel={x:r.x,y:r.y},_(t,r,o),"".concat(r.text," (").concat(r.layer.id,")")):null},highlightLabelAtCenter:i,clearHighlightedLabel:function(){return R(t,o)}}}function B(t){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},B(t)}function G(t){return function(t){if(Array.isArray(t))return q(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||z(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,l=[],u=!0,s=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(t){s=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(t,e)||z(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(t,e){if(t){if("string"==typeof t)return q(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?q(t,e):void 0}}function q(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function W(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Z(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?W(Object(r),!0).forEach(function(e){H(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):W(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function H(t,e,r){return(e=function(t){var e=function(t){if("object"!=B(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=B(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==B(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var U="icon-image",V="active-highlight",Y="active-highlight-inner",J="selected-highlight",K=function(t,e){var r,n;return null!==(r=null===(n=t._activeSymbolImageMap)||void 0===n?void 0:n[e])&&void 0!==r?r:null},X=function(t,e){var r,n;return null!==(r=null===(n=t._selectedSymbolImageMap)||void 0===n?void 0:n[e])&&void 0!==r?r:null},Q=function(t,e,r,n){e.forEach(function(e){if(!r.has(e)){var o="".concat(n,"-").concat(e);["".concat(o,"-fill"),"".concat(o,"-line"),"".concat(o,"-symbol")].forEach(function(e){t.getLayer(e)&&t.setFilter(e,["==","id",""])})}})},tt=function(t,e){var r="_".concat(e.replaceAll("-",""),"Sources");Q(t,t[r]||new Set,new Set,e),t[r]=new Set},et=function(t,e,r,n,o,a,i){t.getLayer(e)||t.addLayer(Z(Z({id:e,type:r,source:n},o&&{"source-layer":o}),{},{paint:a})),Object.entries(a).forEach(function(r){var n=$(r,2),o=n[0],a=n[1];t.setPaintProperty(e,o,a)}),t.setFilter(e,i),t.moveLayer(e)},rt=function(t,e,r,n,o,a){var i=r[e],l=i.ids,u=i.fillIds,s=i.idProperty,c=i.layerId,f=i.hasFillGeometry,h=t.getLayer(c),p=h.sourceLayer,y=f?"fill":h.type,d="".concat(o,"-").concat(e),g=n[c];if(g){var v=g.stroke,m=g.selectionStroke,b=g.strokeWidth,M=g.activeStrokeWidth,w=g.fill,S=o===J,P=function(t){return t===J||t===Y}(o),x=P?m:v,O=P?b:M,E=s?["get",s]:["id"],N=["in",E,["literal",G(l)]];"fill"===y&&function(t,e,r,n,o){var a=o.fill,i=o.lineColor,l=o.lineWidth,u=o.filter;if(o.isSelected){var s=["in",o.idExpression,["literal",G(o.fillIds)]];et(t,"".concat(e,"-fill"),"fill",r,n,{"fill-color":a},s)}et(t,"".concat(e,"-line"),"line",r,n,{"line-color":i,"line-width":l},u)}(t,d,e,p,{isSelected:S,idExpression:E,fillIds:u,fill:w,lineColor:x,lineWidth:O,filter:N}),"line"===y&&(t.getLayer("".concat(d,"-fill"))&&t.setFilter("".concat(d,"-fill"),["==","id",""]),et(t,"".concat(d,"-line"),"line",e,p,{"line-color":x,"line-width":O},N)),"symbol"===y&&function(t,e,r,n,o,a,i){var l=t.getLayoutProperty(o,U),u=i(t,l);u&&function(t,e,r,n,o,a,i){var l;t.getLayer(e)||t.addLayer(Z(Z({id:e,type:"symbol",source:r},n&&{"source-layer":n}),{},{layout:H(H(H({},U,a),"icon-anchor",null!==(l=t.getLayoutProperty(o,"icon-anchor"))&&void 0!==l?l:"center"),"icon-allow-overlap",!0)})),t.setLayoutProperty(e,U,a),t.setFilter(e,i),t.moveLayer(e)}(t,"".concat(e,"-symbol"),r,n,o,u,a)}(t,d,e,p,c,N,a)}},nt=function(t,e,r,n,o){var a=function(t,e){var r={};return null==e||e.forEach(function(e){var n=e.featureId,o=e.layerId,a=e.idProperty,i=e.geometry,l=t.getLayer(o);if(l){var u=l.source;r[u]||(r[u]={ids:new Set,fillIds:new Set,idProperty:a,layerId:o,hasFillGeometry:!1}),!i||"Polygon"!==i.type&&"MultiPolygon"!==i.type||(r[u].hasFillGeometry=!0,r[u].fillIds.add(n)),r[u].ids.add(n)}}),r}(t,e),i=new Set(Object.keys(a)),l="_".concat(n.replaceAll("-",""),"Sources"),u=t[l]||new Set;return Q(t,u,i,n),t[l]=i,i.forEach(function(e){return rt(t,e,a,r,n,o)}),a};function ot(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,l=[],u=!0,s=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(t){s=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(t,e)||function(t,e){if(t){if("string"==typeof t)return at(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?at(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function at(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var it=function(t,e,r){var n=Math.pow(e.x-r.x,2)+Math.pow(e.y-r.y,2);if(0===n)return Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2);var o=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return o=Math.max(0,Math.min(1,o)),Math.pow(t.x-(e.x+o*(r.x-e.x)),2)+Math.pow(t.y-(e.y+o*(r.y-e.y)),2)};function lt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var ut=function(t,e,r){var n=t.getCanvas();if(r&&t.off("mousemove",r),null==e||!e.length)return n.style.cursor="",null;var o=function(r){var o=e.filter(function(e){return t.getLayer(e)});if(0!==o.length){var a=function(t,e){var r,n=[],o=[],a=function(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return lt(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lt(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return i=t.done,t},e:function(t){l=!0,a=t},f:function(){try{i||null==r.return||r.return()}finally{if(l)throw a}}}}(e);try{for(a.s();!(r=a.n()).done;){var i=r.value;if("line"===t.getLayer(i).type){var l=i.endsWith("-stroke")?i.slice(0,-7):null;null!==l&&e.includes(l)||n.push(i)}else o.push(i)}}catch(t){a.e(t)}finally{a.f()}return{lineLayers:n,otherLayers:o}}(t,o),i=a.lineLayers,l=a.otherLayers,u=r.point,s=u.x,c=u.y,f=[[s-10,c-10],[s+10,c+10]],h=i.length>0&&t.queryRenderedFeatures(f,{layers:i}).length>0,p=l.length>0&&t.queryRenderedFeatures(r.point,{layers:l}).length>0;n.style.cursor=h||p?"pointer":""}else n.style.cursor=""};return t.on("mousemove",o),o};function st(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof l?n:l,s=Object.create(u.prototype);return ct(s,"_invoke",function(r,n,o){var a,l,u,s=0,c=o||[],f=!1,h={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,l=0,u=t,h.n=r,i}};function p(r,n){for(l=r,u=n,e=0;!f&&s&&!o&&e<c.length;e++){var o,a=c[e],p=h.p,y=a[2];r>3?(o=y===n)&&(u=a[(l=a[4])?5:(l=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(l=0,h.v=n,h.n=a[1]):p<y&&(o=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,h.n=y,l=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,y),l=c,u=y;(e=l<2?t:u)||!f;){a||(l?l<3?(l>1&&(h.n=-1),p(l,u)):h.n=u:h.v=u);try{if(s=2,a){if(l||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,l<2&&(l=0)}else 1===l&&(e=a.return)&&e.call(a),l<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),l=1);a=t}else if((e=(f=h.n<0)?u:r.call(n,h))!==i)break}catch(e){a=t,l=1,u=e}finally{s=1}}return{value:e,done:f}}}(r,o,a),!0),s}var i={};function l(){}function u(){}function s(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(ct(e={},n,function(){return this}),e),f=s.prototype=l.prototype=Object.create(c);function h(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,ct(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,ct(f,"constructor",s),ct(s,"constructor",u),u.displayName="GeneratorFunction",ct(s,o,"GeneratorFunction"),ct(f),ct(f,o,"Generator"),ct(f,n,function(){return this}),ct(f,"toString",function(){return"[object Generator]"}),(st=function(){return{w:a,m:h}})()}function ct(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}ct=function(t,e,r,n){function a(e,r){ct(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},ct(t,e,r,n)}function ft(t,e,r,n,o,a,i){try{var l=t[a](i),u=l.value}catch(t){return void r(t)}l.done?e(u):Promise.resolve(u).then(n,o)}function ht(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){ft(a,n,o,i,l,"next",t)}function l(t){ft(a,n,o,i,l,"throw",t)}i(void 0)})}}var pt=function(){var t=ht(st().m(function t(e,r,n,o){var a,i=arguments;return st().w(function(t){for(;;)switch(t.n){case 0:if(a=i.length>4&&void 0!==i[4]?i[4]:2,r.length){t.n=1;break}return t.a(2);case 1:return e._activeSymbolImageMap={},e._selectedSymbolImageMap={},t.n=2,Promise.all(r.flatMap(function(t){var r=o.getSymbolImageId(t,n,!1,a),i=o.getSymbolImageId(t,n,!0,a);return r&&i&&(e._activeSymbolImageMap[r]=i),["normal","active","selected"].map(function(){var l=ht(st().m(function l(u){var s,c;return st().w(function(l){for(;;)switch(l.n){case 0:if(s="active"===u?i:r,"selected"===u||s&&!e.hasImage(s)){l.n=1;break}return l.a(2);case 1:return l.n=2,o.rasteriseSymbolImage(t,n,u,a);case 2:(c=l.v)&&("selected"===u&&r&&(e._selectedSymbolImageMap[r]=c.imageId),e.hasImage(c.imageId)||e.addImage(c.imageId,c.imageData,{pixelRatio:a}));case 3:return l.a(2)}},l)}));return function(t){return l.apply(this,arguments)}}())}));case 2:return t.a(2)}},t)}));return function(e,r,n,o){return t.apply(this,arguments)}}(),yt=function(t){return Math.max(2,2*t)},dt=function(t,e,r){return t.replace(/\{\{foregroundColor\}\}/g,e||"black").replace(/\{\{backgroundColor\}\}/g,r||"transparent")};function gt(t){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt(t)}var vt=function(t,e){if(!t)return null;if("string"==typeof t)return t.trim();if("object"===gt(t)){if(e&&t[e])return t[e];var r=Object.values(t)[0];return null!=r?r:null}return null},mt=function(t,e,r){return new Promise(function(n,o){var a="data:image/svg+xml;charset=utf-8,".concat(encodeURIComponent(t)),i=new Image(e,r);i.onload=function(){var t=document.createElement("canvas");t.width=e,t.height=r;var o=t.getContext("2d");o.drawImage(i,0,0,e,r),n(o.getImageData(0,0,e,r))},i.onerror=function(){o(new Error("Failed to rasterise SVG: ".concat(t.slice(0,80))))},i.src=a})};function bt(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof l?n:l,s=Object.create(u.prototype);return Mt(s,"_invoke",function(r,n,o){var a,l,u,s=0,c=o||[],f=!1,h={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,l=0,u=t,h.n=r,i}};function p(r,n){for(l=r,u=n,e=0;!f&&s&&!o&&e<c.length;e++){var o,a=c[e],p=h.p,y=a[2];r>3?(o=y===n)&&(u=a[(l=a[4])?5:(l=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(l=0,h.v=n,h.n=a[1]):p<y&&(o=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,h.n=y,l=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,y),l=c,u=y;(e=l<2?t:u)||!f;){a||(l?l<3?(l>1&&(h.n=-1),p(l,u)):h.n=u:h.v=u);try{if(s=2,a){if(l||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,l<2&&(l=0)}else 1===l&&(e=a.return)&&e.call(a),l<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),l=1);a=t}else if((e=(f=h.n<0)?u:r.call(n,h))!==i)break}catch(e){a=t,l=1,u=e}finally{s=1}}return{value:e,done:f}}}(r,o,a),!0),s}var i={};function l(){}function u(){}function s(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(Mt(e={},n,function(){return this}),e),f=s.prototype=l.prototype=Object.create(c);function h(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,Mt(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,Mt(f,"constructor",s),Mt(s,"constructor",u),u.displayName="GeneratorFunction",Mt(s,o,"GeneratorFunction"),Mt(f),Mt(f,o,"Generator"),Mt(f,n,function(){return this}),Mt(f,"toString",function(){return"[object Generator]"}),(bt=function(){return{w:a,m:h}})()}function Mt(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Mt=function(t,e,r,n){function a(e,r){Mt(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},Mt(t,e,r,n)}function wt(t,e,r,n,o,a,i){try{var l=t[a](i),u=l.value}catch(t){return void r(t)}l.done?e(u):Promise.resolve(u).then(n,o)}function St(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){wt(a,n,o,i,l,"next",t)}function l(t){wt(a,n,o,i,l,"throw",t)}i(void 0)})}}var Pt=new Map,xt=function(){var t=St(bt().m(function t(e,r,n,o){var a,i,l,u,s,c,f,h,p,y;return bt().w(function(t){for(;;)switch(t.n){case 0:if(a=n.getPatternInnerContent(e)){t.n=1;break}return t.a(2,null);case 1:if(i=n.getPatternImageId(e,r,o)){t.n=2;break}return t.a(2,null);case 2:if(l=Pt.get(i)){t.n=4;break}return u=vt(e.fillPatternForegroundColor,r)||"black",s=vt(e.fillPatternBackgroundColor,r)||"transparent",c=dt(a,u,s),f='<rect width="16" height="16" fill="'.concat(s,'"/>'),h=yt(o),p=Math.round(8*h),y='<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(p,'" height="').concat(p,'" viewBox="0 0 16 16">').concat(f).concat(c,"</svg>"),t.n=3,mt(y,p,p);case 3:l=t.v,Pt.set(i,l);case 4:return t.a(2,{imageId:i,imageData:l})}},t)}));return function(e,r,n,o){return t.apply(this,arguments)}}(),Ot=function(){var t=St(bt().m(function t(e,r,n,o,a){var i,l;return bt().w(function(t){for(;;)switch(t.n){case 0:if(r.length){t.n=1;break}return t.a(2);case 1:return i=yt(a),l=r.reduce(function(t,r){var l=o.getPatternImageId(r,n,a);return!l||t[l]||e.hasImage(l)||(t[l]=St(bt().m(function t(){var l;return bt().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,xt(r,n,o,a);case 1:(l=t.v)&&e.addImage(l.imageId,l.imageData,{pixelRatio:i});case 2:return t.a(2)}},t)}))),t},{}),t.n=2,Promise.all(Object.values(l).map(function(t){return t()}));case 2:return t.a(2)}},t)}));return function(e,r,n,o,a){return t.apply(this,arguments)}}(),Et=["container","padding","mapStyle","mapSize","center","zoom","bounds","pixelRatio"];function Nt(t){return Nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nt(t)}function jt(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof l?n:l,s=Object.create(u.prototype);return At(s,"_invoke",function(r,n,o){var a,l,u,s=0,c=o||[],f=!1,h={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,l=0,u=t,h.n=r,i}};function p(r,n){for(l=r,u=n,e=0;!f&&s&&!o&&e<c.length;e++){var o,a=c[e],p=h.p,y=a[2];r>3?(o=y===n)&&(u=a[(l=a[4])?5:(l=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(l=0,h.v=n,h.n=a[1]):p<y&&(o=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,h.n=y,l=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,y),l=c,u=y;(e=l<2?t:u)||!f;){a||(l?l<3?(l>1&&(h.n=-1),p(l,u)):h.n=u:h.v=u);try{if(s=2,a){if(l||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,l<2&&(l=0)}else 1===l&&(e=a.return)&&e.call(a),l<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),l=1);a=t}else if((e=(f=h.n<0)?u:r.call(n,h))!==i)break}catch(e){a=t,l=1,u=e}finally{s=1}}return{value:e,done:f}}}(r,o,a),!0),s}var i={};function l(){}function u(){}function s(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(At(e={},n,function(){return this}),e),f=s.prototype=l.prototype=Object.create(c);function h(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,At(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,At(f,"constructor",s),At(s,"constructor",u),u.displayName="GeneratorFunction",At(s,o,"GeneratorFunction"),At(f),At(f,o,"Generator"),At(f,n,function(){return this}),At(f,"toString",function(){return"[object Generator]"}),(jt=function(){return{w:a,m:h}})()}function At(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}At=function(t,e,r,n){function a(e,r){At(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},At(t,e,r,n)}function Tt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function It(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Tt(Object(r),!0).forEach(function(e){Lt(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Tt(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function Lt(t,e,r){return(e=Ct(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function kt(t,e){if(null==t)return{};var r,n,o=function(t,e){if(null==t)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==e.indexOf(n))continue;r[n]=t[n]}return r}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n<a.length;n++)r=a[n],-1===e.indexOf(r)&&{}.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Rt(t,e,r,n,o,a,i){try{var l=t[a](i),u=l.value}catch(t){return void r(t)}l.done?e(u):Promise.resolve(u).then(n,o)}function _t(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){Rt(a,n,o,i,l,"next",t)}function l(t){Rt(a,n,o,i,l,"throw",t)}i(void 0)})}}function Dt(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,Ct(n.key),n)}}function Ct(t){var e=function(t){if("object"!=Nt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=Nt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Nt(e)?e:e+""}var Ft=function(){return t=function t(e){var r=e.mapFramework,n=e.mapProviderConfig,a=void 0===n?{}:n,i=e.events,l=e.eventBus;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.maplibreModule=r,this.events=i,this.eventBus=l,this.capabilities={supportedShortcuts:o,supportsMapSizes:!0},Object.assign(this,a)},e=[{key:"initMap",value:(u=_t(jt().m(function t(e){var r,n,o,l,u,f,h,p,y,d,g,v,m,b=this;return jt().w(function(t){for(;;)switch(t.n){case 0:r=e.container,n=e.padding,o=e.mapStyle,l=e.mapSize,u=e.center,f=e.zoom,h=e.bounds,p=e.pixelRatio,y=kt(e,Et),this.mapStyleId=null==o?void 0:o.id,this.mapSize=l,d=this.maplibreModule.Map,g=this.events,v=this.eventBus,(m=new d(It(It({},y),{},{container:r,style:null==o?void 0:o.url,pixelRatio:p,padding:n,center:u,zoom:f,fadeDuration:0,attributionControl:!1,dragRotate:!1,doubleClickZoom:!1}))).touchZoomRotate.disableRotation(),this.map=m,this.map.setPadding(n),h&&m.fitBounds(h,{duration:0}),i(m),a(m),s({map:m,events:g,eventBus:v,getCenter:this.getCenter.bind(this),getZoom:this.getZoom.bind(this),getBounds:this.getBounds.bind(this),getResolution:this.getResolution.bind(this)}),c({mapProvider:this,map:m,events:g,eventBus:v}),m.on("load",function(){b.labelNavigator=F(m,null==o?void 0:o.mapColorScheme,g,v)}),this.eventBus.emit(g.MAP_READY,{map:this.map,mapStyleId:this.mapStyleId,mapSize:this.mapSize,crs:this.crs});case 1:return t.a(2)}},t,this)})),function(t){return u.apply(this,arguments)})},{key:"destroyMap",value:function(){var t,e;this.setHoverCursor([]),null===(t=this.mapEvents)||void 0===t||t.remove(),null===(e=this.appEvents)||void 0===e||e.remove(),this.mapEvents=null,this.appEvents=null,this.map.remove()}},{key:"setHoverCursor",value:function(t){this.map&&(this._onHoverMove=ut(this.map,t,this._onHoverMove))}},{key:"setView",value:function(t){var e=t.center,r=t.zoom;this.map.flyTo({center:e||this.getCenter(),zoom:r||this.getZoom(),duration:this.map.isStyleLoaded()?n:0})}},{key:"zoomIn",value:function(t){this.map.easeTo({zoom:this.getZoom()+t,duration:n})}},{key:"zoomOut",value:function(t){this.map.easeTo({zoom:this.getZoom()-t,duration:n})}},{key:"panBy",value:function(t){this.map.panBy(t,{duration:n})}},{key:"fitToBounds",value:function(t){var e=Array.isArray(t)?t:x(t),r=this.map.isStyleLoaded()?n:0;this.map.fitBounds(e,{duration:r})}},{key:"setPadding",value:function(t){this.map.setPadding(t)}},{key:"updateHighlightedFeatures",value:function(t,e,r){return function(t){var e=t.LngLatBounds,r=t.map,n=t.selectedFeatures,o=t.activeFeatures,a=t.stylesMap;if(!r)return null;null!=o&&o.length?(nt(r,o,a,V,K),nt(r,o,a,Y,X)):(tt(r,V),tt(r,Y));var i={};null!=n&&n.length?i=nt(r,n,a,J,X):tt(r,J);var l=[];return Object.entries(i).forEach(function(t){var e=$(t,2)[1],n=e.ids,o=e.idProperty,a=e.layerId;l.push.apply(l,G(r.queryRenderedFeatures({layers:[a]}).filter(function(t){var e;return n.has(o?null===(e=t.properties)||void 0===e?void 0:e[o]:t.id)})))}),function(t,e){if(!e.length)return null;var r=new t;return e.forEach(function(t){var e=function(t){return"number"==typeof t[0]?r.extend(t):t.forEach(e)};e(t.geometry.coordinates)}),[r.getWest(),r.getSouth(),r.getEast(),r.getNorth()]}(e,l)}({LngLatBounds:this.maplibreModule.LngLatBounds,map:this.map,selectedFeatures:t,activeFeatures:e,stylesMap:r})}},{key:"highlightNextLabel",value:function(t){var e;return(null===(e=this.labelNavigator)||void 0===e?void 0:e.highlightNextLabel(t))||null}},{key:"highlightLabelAtCenter",value:function(){var t;return(null===(t=this.labelNavigator)||void 0===t?void 0:t.highlightLabelAtCenter())||null}},{key:"clearHighlightedLabel",value:function(){var t;return(null===(t=this.labelNavigator)||void 0===t?void 0:t.clearHighlightedLabel())||null}},{key:"getCenter",value:function(){var t=this.map.getCenter();return[Number(t.lng.toFixed(7)),Number(t.lat.toFixed(7))]}},{key:"getZoom",value:function(){return Number(this.map.getZoom().toFixed(7))}},{key:"getBounds",value:function(){return this.map.getBounds().toArray().flat(1)}},{key:"getFeaturesAtPoint",value:function(t,e){return function(t,e){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).radius,n=void 0===r?10:r,o=[[e.x-n,e.y-n],[e.x+n,e.y+n]],a=t.queryRenderedFeatures(o);if(0===a.length)return[];var i=new Set(t.queryRenderedFeatures([e.x,e.y]).map(function(t){var e,r=void 0===t.id?JSON.stringify(t.properties):t.id;return"".concat(null===(e=t.layer)||void 0===e?void 0:e.source,":").concat(r)})),l=[];a.forEach(function(t){!1===l.includes(t.layer.id)&&l.push(t.layer.id)});for(var u=new Set,s=[],c=a.length-1;c>=0;c--){var f,h=a[c],p=void 0===h.id?JSON.stringify(h.properties):h.id,y="".concat(null===(f=h.layer)||void 0===f?void 0:f.source,":").concat(p);!1===u.has(y)&&(u.add(y),s.push(h))}var d=t.unproject(e),g=[d.lng,d.lat],v=s.filter(function(t){var e=t.geometry.type;if(e.includes("Polygon"))return("Polygon"===e?[t.geometry.coordinates]:t.geometry.coordinates).some(function(t){return function(t,e){for(var r=ot(t,2),n=r[0],o=r[1],a=!1,i=0,l=e.length-1;i<e.length;l=i,i++){var u=ot(e[i],2),s=u[0],c=u[1],f=ot(e[l],2),h=f[0],p=f[1];c>o!=p>o&&n<(h-s)*(o-c)/(p-c)+s&&(a=!a)}return a}(g,t[0])});if("Point"===e||"MultiPoint"===e){var r,n=void 0===t.id?JSON.stringify(t.properties):t.id;return i.has("".concat(null===(r=t.layer)||void 0===r?void 0:r.source,":").concat(n))}return!0});return v.map(function(r){var n=0,o=r.geometry.type,a=function(t,e,r){var n=r.coordinates,o=r.type,a=1/0,i=function(e){return t.project(e)},l=function(t){for(var r=0;r<t.length-1;r++){var n=it(e,i(t[r]),i(t[r+1]));n<a&&(a=n)}};if("Point"===o){var u=i(n);a=Math.pow(e.x-u.x,2)+Math.pow(e.y-u.y,2)}else"LineString"===o||"MultiPoint"===o?"LineString"===o?l(n):n.forEach(function(t){var r=i(t),n=Math.pow(e.x-r.x,2)+Math.pow(e.y-r.y,2);n<a&&(a=n)}):"Polygon"===o||"MultiLineString"===o?n.forEach(l):"MultiPolygon"===o&&n.forEach(function(t){return t.forEach(l)});return a}(t,e,r.geometry);return n+=1e6*l.indexOf(r.layer.id),o.includes("Polygon")&&(n-=5e5),{f:r,score:n+=a}}).sort(function(t,e){return t.score-e.score}).map(function(t){return t.f})}(this.map,t,e)}},{key:"getVisibleFeatures",value:function(t){var e=this,r=t.filter(function(t){return e.map.getLayer(t)});return r.length?this.map.queryRenderedFeatures(void 0,{layers:r}):[]}},{key:"addSymbolsToMap",value:(l=_t(jt().m(function t(e,r,n){var o;return jt().w(function(t){for(;;)if(0===t.n)return o=this.map.getPixelRatio()||1,t.a(2,pt(this.map,e,r,n,o))},t,this)})),function(t,e,r){return l.apply(this,arguments)})},{key:"addPatternsToMap",value:(r=_t(jt().m(function t(e,r,n){var o;return jt().w(function(t){for(;;)if(0===t.n)return o=this.map.getPixelRatio()||1,t.a(2,Ot(this.map,e,r,n,o))},t,this)})),function(t,e,n){return r.apply(this,arguments)})},{key:"getAreaDimensions",value:function(){return function(t){var e,r,n,o;if(t&&"function"==typeof t.getWest)e=t.getWest(),r=t.getSouth(),n=t.getEast(),o=t.getNorth();else{if(!Array.isArray(t)||2!==t.length)return"";var a=b(t,2),i=b(a[0],2);e=i[0],r=i[1];var l=b(a[1],2);n=l[0],o=l[1]}var u=S([e,r],[n,r]),s=S([e,r],[e,o]),c=P(u),f=P(s);return"".concat(f," by ").concat(c)}((t=this.maplibreModule.LngLatBounds,e=this.map,r=e.getContainer().getBoundingClientRect(),n=r.width,o=r.height,a=e.getPadding(),i=[a.left,o-a.bottom],l=[n-a.right,a.top],new t(e.unproject(i),e.unproject(l))));var t,e,r,n,o,a,i,l}},{key:"getCardinalMove",value:function(t,e){return function(t,e){var r=b(t,2),n=r[0],o=r[1],a=b(e,2),i=a[0],l=a[1],u=l-o,s=i-n,c=[];if(Math.abs(u)>1e-4){var f=Math.round(S([n,o],[n,l]));c.push("".concat(u>0?"north":"south"," ").concat(P(f)))}if(Math.abs(s)>1e-4){var h=Math.round(S([n,o],[i,o]));c.push("".concat(s>0?"east":"west"," ").concat(P(h)))}return c.join(", ")}(t,e)}},{key:"getResolution",value:function(){return t=this.map.getCenter(),e=this.map.getZoom(),r=t.lat,n=Math.pow(2,e),40075016.686*Math.cos(r*Math.PI/180)/(512*n);var t,e,r,n}},{key:"mapToScreen",value:function(t){return this.map.project(t)}},{key:"screenToMap",value:function(t){var e=this.map.unproject([t.x,t.y]);return[e.lng,e.lat]}},{key:"isGeometryObscured",value:function(t,e){return function(t,e,r){var n=r.getContainer().getBoundingClientRect(),o=b(x(t),4),a=o[0],i=o[1],l=o[2],u=o[3],s=[r.project([a,i]),r.project([a,u]),r.project([l,i]),r.project([l,u])],c=Math.min.apply(Math,m(s.map(function(t){return t.x}))),f=Math.max.apply(Math,m(s.map(function(t){return t.x}))),h=Math.min.apply(Math,m(s.map(function(t){return t.y}))),p=Math.max.apply(Math,m(s.map(function(t){return t.y}))),y=e.left-n.left,d=e.top-n.top,g=e.right-n.left,v=e.bottom-n.top;return c<g&&f>y&&h<v&&p>d}(t,e,this.map)}}],e&&Dt(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,r,l,u}()}}]);
|
|
2
|
+
"use strict";(this.webpackChunkdefra_DefraMap=this.webpackChunkdefra_DefraMap||[]).push([[772],{419(t,e,r){r.r(e),r.d(e,{default:()=>Ft});var n=400,o=["showKeyboardHelp","selectControl","moveLarge","nudgeMap","zoomLarge","nudgeZoom","highlightLabelAtCenter","highlightNextLabel"];function a(t){var e=t.getCanvas();e.removeAttribute("role"),e.setAttribute("tabindex",-1),e.removeAttribute("aria-label"),e.style.display="block",e.addEventListener("focus",function(t){e.blur(),t.relatedTarget&&t.relatedTarget.focus({preventScroll:!0})})}function i(t){var e=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){if(("touchmove"===this.type||"touchstart"===this.type)&&!this.cancelable){var r=t.getCanvas();if(r&&(this.target===r||r.contains(this.target)))return}e.call(this)}}var l=function(t,e){var r=null,n=function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];clearTimeout(r),r=setTimeout(function(){t.apply(void 0,o)},e)};return n.cancel=function(){r&&(clearTimeout(r),r=null)},n};function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function s(t){var e=t.map,r=t.events,n=t.eventBus,o=t.getCenter,a=t.getZoom,i=t.getBounds,s=t.getResolution,c=[],f=[],h=function(){var t=a();return{center:o(),bounds:i(),resolution:s(),zoom:t,isAtMaxZoom:e.getMaxZoom()<=t,isAtMinZoom:e.getMinZoom()>=t}},p=function(t,e){return n.emit(t,e)},y=function(){return p(r.MAP_LOADED)};e.on("load",y),c.push(["load",y]),e.once("idle",function(){return p(r.MAP_FIRST_IDLE,h())});var d=function(){return p(r.MAP_MOVE_START)};e.on("movestart",d),c.push(["movestart",d]);var g=l(function(){p(r.MAP_MOVE_END,h())},500);e.on("moveend",g),c.push(["moveend",g]);var v,m,b=(v=function(){p(r.MAP_MOVE,h())},m=0,function(){var t=Date.now();t-m>=10&&(m=t,v.apply(void 0,arguments))});e.on("zoom",b),c.push(["zoom",b]);var M=function(){return p(r.MAP_RENDER)};e.on("render",M),c.push(["render",M]);var w=l(function(){p(r.MAP_DATA_CHANGE,h())},500),S=function(t){t.isSourceLoaded&&w()};e.on("styledata",w),e.on("sourcedata",S),c.push(["styledata",w],["sourcedata",S]);var P=function(){return p(r.MAP_STYLE_CHANGE)};e.on("style.load",P),c.push(["style.load",P]);var x=function(t){return p(r.MAP_CLICK,{point:t.point,coords:[t.lngLat.lng,t.lngLat.lat]})};return e.on("click",x),c.push(["click",x]),f.push(g,b,w),{remove:function(){f.forEach(function(t){return t.cancel()}),c.forEach(function(t){var r,n,o=(n=2,function(t){if(Array.isArray(t))return t}(r=t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,l=[],u=!0,s=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(t){s=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(r,n)||function(t,e){if(t){if("string"==typeof t)return u(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(t,e):void 0}}(r,n)||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.")}()),a=o[0],i=o[1];return e.off(a,i)})}}}function c(t){var e=t.mapProvider,r=t.map,n=t.events,o=t.eventBus,a=function(t){r.once("style.load",function(){o.emit(n.MAP_STYLE_CHANGE,{mapStyleId:t.id})}),r.setStyle(t.url,{diff:!1})},i=function(t){r.setPixelRatio(t)},l=function(t){var r=t.mapSize;e.mapSize=r};return o.on(n.MAP_SET_STYLE,a),o.on(n.MAP_SET_PIXEL_RATIO,i),o.on(n.MAP_SIZE_CHANGE,l),{remove:function(){o.off(n.MAP_SET_STYLE,a),o.off(n.MAP_SET_PIXEL_RATIO,i),o.off(n.MAP_SIZE_CHANGE,l)}}}let f=" ";class h{static get separator(){return f}static set separator(t){f=t}static parse(t){if(!isNaN(parseFloat(t))&&isFinite(t))return Number(t);const e=String(t).trim().replace(/^-/,"").replace(/[NSEW]$/i,"").split(/[^0-9.,]+/);if(""==e[e.length-1]&&e.splice(e.length-1),""==e)return NaN;let r=null;switch(e.length){case 3:r=e[0]/1+e[1]/60+e[2]/3600;break;case 2:r=e[0]/1+e[1]/60;break;case 1:r=e[0];break;default:return NaN}return/^-|[WS]$/i.test(t.trim())&&(r=-r),Number(r)}static toDms(t,e="d",r=void 0){if(isNaN(t))return null;if("string"==typeof t&&""==t.trim())return null;if("boolean"==typeof t)return null;if(t==1/0)return null;if(null==t)return null;if(void 0===r)switch(e){case"d":case"deg":r=4;break;case"dm":case"deg+min":r=2;break;case"dms":case"deg+min+sec":r=0;break;default:e="d",r=4}t=Math.abs(t);let n=null,o=null,a=null,i=null;switch(e){default:case"d":case"deg":o=t.toFixed(r),o<100&&(o="0"+o),o<10&&(o="0"+o),n=o+"°";break;case"dm":case"deg+min":o=Math.floor(t),a=(60*t%60).toFixed(r),60==a&&(a=(0).toFixed(r),o++),o=("000"+o).slice(-3),a<10&&(a="0"+a),n=o+"°"+h.separator+a+"′";break;case"dms":case"deg+min+sec":o=Math.floor(t),a=Math.floor(3600*t/60)%60,i=(3600*t%60).toFixed(r),60==i&&(i=(0).toFixed(r),a++),60==a&&(a=0,o++),o=("000"+o).slice(-3),a=("00"+a).slice(-2),i<10&&(i="0"+i),n=o+"°"+h.separator+a+"′"+h.separator+i+"″"}return n}static toLat(t,e,r){const n=h.toDms(h.wrap90(t),e,r);return null===n?"–":n.slice(1)+h.separator+(t<0?"S":"N")}static toLon(t,e,r){const n=h.toDms(h.wrap180(t),e,r);return null===n?"–":n+h.separator+(t<0?"W":"E")}static toBrng(t,e,r){const n=h.toDms(h.wrap360(t),e,r);return null===n?"–":n.replace("360","0")}static fromLocale(t){const e=123456.789.toLocaleString(),r={thousands:e.slice(3,4),decimal:e.slice(7,8)};return t.replace(r.thousands,"⁜").replace(r.decimal,".").replace("⁜",",")}static toLocale(t){const e=123456.789.toLocaleString(),r={thousands:e.slice(3,4),decimal:e.slice(7,8)};return t.replace(/,([0-9])/,"⁜$1").replace(".",r.decimal).replace("⁜",r.thousands)}static compassPoint(t,e=3){if(![1,2,3].includes(Number(e)))throw new RangeError(`invalid precision ‘${e}’`);t=h.wrap360(t);const r=4*2**(e-1);return["N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"][Math.round(t*r/360)%r*16/r]}static wrap90(t){if(-90<=t&&t<=90)return t;const e=t;return 1*Math.abs(((e-90)%360+360)%360-180)-90}static wrap180(t){if(-180<=t&&t<=180)return t;const e=360;return((360*t/e-180)%e+e)%e-180}static wrap360(t){if(0<=t&&t<360)return t;const e=360;return(360*t/e%e+e)%e}}Number.prototype.toRadians=function(){return this*Math.PI/180},Number.prototype.toDegrees=function(){return 180*this/Math.PI};const p=h,y=Math.PI;class d{constructor(t,e){if(isNaN(t))throw new TypeError(`invalid lat ‘${t}’`);if(isNaN(e))throw new TypeError(`invalid lon ‘${e}’`);this._lat=p.wrap90(Number(t)),this._lon=p.wrap180(Number(e))}get lat(){return this._lat}get latitude(){return this._lat}set lat(t){if(this._lat=isNaN(t)?p.wrap90(p.parse(t)):p.wrap90(Number(t)),isNaN(this._lat))throw new TypeError(`invalid lat ‘${t}’`)}set latitude(t){if(this._lat=isNaN(t)?p.wrap90(p.parse(t)):p.wrap90(Number(t)),isNaN(this._lat))throw new TypeError(`invalid latitude ‘${t}’`)}get lon(){return this._lon}get lng(){return this._lon}get longitude(){return this._lon}set lon(t){if(this._lon=isNaN(t)?p.wrap180(p.parse(t)):p.wrap180(Number(t)),isNaN(this._lon))throw new TypeError(`invalid lon ‘${t}’`)}set lng(t){if(this._lon=isNaN(t)?p.wrap180(p.parse(t)):p.wrap180(Number(t)),isNaN(this._lon))throw new TypeError(`invalid lng ‘${t}’`)}set longitude(t){if(this._lon=isNaN(t)?p.wrap180(p.parse(t)):p.wrap180(Number(t)),isNaN(this._lon))throw new TypeError(`invalid longitude ‘${t}’`)}static get metresToKm(){return.001}static get metresToMiles(){return 1/1609.344}static get metresToNauticalMiles(){return 1/1852}static parse(...t){if(0==t.length)throw new TypeError("invalid (empty) point");if(null===t[0]||null===t[1])throw new TypeError("invalid (null) point");let e,r;if(2==t.length&&([e,r]=t,e=p.wrap90(p.parse(e)),r=p.wrap180(p.parse(r)),isNaN(e)||isNaN(r)))throw new TypeError(`invalid point ‘${t.toString()}’`);if(1==t.length&&"string"==typeof t[0]&&([e,r]=t[0].split(","),e=p.wrap90(p.parse(e)),r=p.wrap180(p.parse(r)),isNaN(e)||isNaN(r)))throw new TypeError(`invalid point ‘${t[0]}’`);if(1==t.length&&"object"==typeof t[0]){const n=t[0];if("Point"==n.type&&Array.isArray(n.coordinates)?[r,e]=n.coordinates:(null!=n.latitude&&(e=n.latitude),null!=n.lat&&(e=n.lat),null!=n.longitude&&(r=n.longitude),null!=n.lng&&(r=n.lng),null!=n.lon&&(r=n.lon),e=p.wrap90(p.parse(e)),r=p.wrap180(p.parse(r))),isNaN(e)||isNaN(r))throw new TypeError(`invalid point ‘${JSON.stringify(t[0])}’`)}if(isNaN(e)||isNaN(r))throw new TypeError(`invalid point ‘${t.toString()}’`);return new d(e,r)}distanceTo(t,e=6371e3){if(t instanceof d||(t=d.parse(t)),isNaN(e))throw new TypeError(`invalid radius ‘${e}’`);const r=e,n=this.lat.toRadians(),o=this.lon.toRadians(),a=t.lat.toRadians(),i=a-n,l=t.lon.toRadians()-o,u=Math.sin(i/2)*Math.sin(i/2)+Math.cos(n)*Math.cos(a)*Math.sin(l/2)*Math.sin(l/2);return r*(2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u)))}initialBearingTo(t){if(t instanceof d||(t=d.parse(t)),this.equals(t))return NaN;const e=this.lat.toRadians(),r=t.lat.toRadians(),n=(t.lon-this.lon).toRadians(),o=Math.cos(e)*Math.sin(r)-Math.sin(e)*Math.cos(r)*Math.cos(n),a=Math.sin(n)*Math.cos(r),i=Math.atan2(a,o).toDegrees();return p.wrap360(i)}finalBearingTo(t){t instanceof d||(t=d.parse(t));const e=t.initialBearingTo(this)+180;return p.wrap360(e)}midpointTo(t){t instanceof d||(t=d.parse(t));const e=this.lat.toRadians(),r=this.lon.toRadians(),n=t.lat.toRadians(),o=(t.lon-this.lon).toRadians(),a=Math.cos(e),i=Math.sin(e),l={x:a+Math.cos(n)*Math.cos(o),y:0+Math.cos(n)*Math.sin(o),z:i+Math.sin(n)},u=Math.atan2(l.z,Math.sqrt(l.x*l.x+l.y*l.y)),s=r+Math.atan2(l.y,l.x),c=u.toDegrees(),f=s.toDegrees();return new d(c,f)}intermediatePointTo(t,e){if(t instanceof d||(t=d.parse(t)),this.equals(t))return new d(this.lat,this.lon);const r=this.lat.toRadians(),n=this.lon.toRadians(),o=t.lat.toRadians(),a=t.lon.toRadians(),i=o-r,l=a-n,u=Math.sin(i/2)*Math.sin(i/2)+Math.cos(r)*Math.cos(o)*Math.sin(l/2)*Math.sin(l/2),s=2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u)),c=Math.sin((1-e)*s)/Math.sin(s),f=Math.sin(e*s)/Math.sin(s),h=c*Math.cos(r)*Math.cos(n)+f*Math.cos(o)*Math.cos(a),p=c*Math.cos(r)*Math.sin(n)+f*Math.cos(o)*Math.sin(a),y=c*Math.sin(r)+f*Math.sin(o),g=Math.atan2(y,Math.sqrt(h*h+p*p)),v=Math.atan2(p,h),m=g.toDegrees(),b=v.toDegrees();return new d(m,b)}destinationPoint(t,e,r=6371e3){const n=t/r,o=Number(e).toRadians(),a=this.lat.toRadians(),i=this.lon.toRadians(),l=Math.sin(a)*Math.cos(n)+Math.cos(a)*Math.sin(n)*Math.cos(o),u=Math.asin(l),s=Math.sin(o)*Math.sin(n)*Math.cos(a),c=Math.cos(n)-Math.sin(a)*l,f=i+Math.atan2(s,c),h=u.toDegrees(),p=f.toDegrees();return new d(h,p)}static intersection(t,e,r,n){if(t instanceof d||(t=d.parse(t)),r instanceof d||(r=d.parse(r)),isNaN(e))throw new TypeError(`invalid brng1 ‘${e}’`);if(isNaN(n))throw new TypeError(`invalid brng2 ‘${n}’`);const o=t.lat.toRadians(),a=t.lon.toRadians(),i=r.lat.toRadians(),l=r.lon.toRadians(),u=Number(e).toRadians(),s=Number(n).toRadians(),c=i-o,f=l-a,h=2*Math.asin(Math.sqrt(Math.sin(c/2)*Math.sin(c/2)+Math.cos(o)*Math.cos(i)*Math.sin(f/2)*Math.sin(f/2)));if(Math.abs(h)<Number.EPSILON)return new d(t.lat,t.lon);const p=(Math.sin(i)-Math.sin(o)*Math.cos(h))/(Math.sin(h)*Math.cos(o)),g=(Math.sin(o)-Math.sin(i)*Math.cos(h))/(Math.sin(h)*Math.cos(i)),v=Math.acos(Math.min(Math.max(p,-1),1)),m=Math.acos(Math.min(Math.max(g,-1),1)),b=u-(Math.sin(l-a)>0?v:2*y-v),M=(Math.sin(l-a)>0?2*y-m:m)-s;if(0==Math.sin(b)&&0==Math.sin(M))return null;if(Math.sin(b)*Math.sin(M)<0)return null;const w=-Math.cos(b)*Math.cos(M)+Math.sin(b)*Math.sin(M)*Math.cos(h),S=Math.atan2(Math.sin(h)*Math.sin(b)*Math.sin(M),Math.cos(M)+Math.cos(b)*w),P=Math.asin(Math.min(Math.max(Math.sin(o)*Math.cos(S)+Math.cos(o)*Math.sin(S)*Math.cos(u),-1),1)),x=a+Math.atan2(Math.sin(u)*Math.sin(S)*Math.cos(o),Math.cos(S)-Math.sin(o)*Math.sin(P)),O=P.toDegrees(),E=x.toDegrees();return new d(O,E)}crossTrackDistanceTo(t,e,r=6371e3){t instanceof d||(t=d.parse(t)),e instanceof d||(e=d.parse(e));const n=r;if(this.equals(t))return 0;const o=t.distanceTo(this,n)/n,a=t.initialBearingTo(this).toRadians(),i=t.initialBearingTo(e).toRadians();return Math.asin(Math.sin(o)*Math.sin(a-i))*n}alongTrackDistanceTo(t,e,r=6371e3){t instanceof d||(t=d.parse(t)),e instanceof d||(e=d.parse(e));const n=r;if(this.equals(t))return 0;const o=t.distanceTo(this,n)/n,a=t.initialBearingTo(this).toRadians(),i=t.initialBearingTo(e).toRadians(),l=Math.asin(Math.sin(o)*Math.sin(a-i));return Math.acos(Math.cos(o)/Math.abs(Math.cos(l)))*Math.sign(Math.cos(i-a))*n}maxLatitude(t){const e=Number(t).toRadians(),r=this.lat.toRadians();return Math.acos(Math.abs(Math.sin(e)*Math.cos(r))).toDegrees()}static crossingParallels(t,e,r){if(t.equals(e))return null;const n=Number(r).toRadians(),o=t.lat.toRadians(),a=t.lon.toRadians(),i=e.lat.toRadians(),l=e.lon.toRadians()-a,u=Math.sin(o)*Math.cos(i)*Math.cos(n)*Math.sin(l),s=Math.sin(o)*Math.cos(i)*Math.cos(n)*Math.cos(l)-Math.cos(o)*Math.sin(i)*Math.cos(n),c=Math.cos(o)*Math.cos(i)*Math.sin(n)*Math.sin(l);if(c*c>u*u+s*s)return null;const f=Math.atan2(-s,u),h=Math.acos(c/Math.sqrt(u*u+s*s)),y=a+f+h,d=(a+f-h).toDegrees(),g=y.toDegrees();return{lon1:p.wrap180(d),lon2:p.wrap180(g)}}rhumbDistanceTo(t,e=6371e3){t instanceof d||(t=d.parse(t));const r=e,n=this.lat.toRadians(),o=t.lat.toRadians(),a=o-n;let i=Math.abs(t.lon-this.lon).toRadians();Math.abs(i)>y&&(i=i>0?-(2*y-i):2*y+i);const l=Math.log(Math.tan(o/2+y/4)/Math.tan(n/2+y/4)),u=Math.abs(l)>1e-11?a/l:Math.cos(n);return Math.sqrt(a*a+u*u*i*i)*r}rhumbBearingTo(t){if(t instanceof d||(t=d.parse(t)),this.equals(t))return NaN;const e=this.lat.toRadians(),r=t.lat.toRadians();let n=(t.lon-this.lon).toRadians();Math.abs(n)>y&&(n=n>0?-(2*y-n):2*y+n);const o=Math.log(Math.tan(r/2+y/4)/Math.tan(e/2+y/4)),a=Math.atan2(n,o).toDegrees();return p.wrap360(a)}rhumbDestinationPoint(t,e,r=6371e3){const n=this.lat.toRadians(),o=this.lon.toRadians(),a=Number(e).toRadians(),i=t/r,l=i*Math.cos(a);let u=n+l;Math.abs(u)>y/2&&(u=u>0?y-u:-y-u);const s=Math.log(Math.tan(u/2+y/4)/Math.tan(n/2+y/4)),c=Math.abs(s)>1e-11?l/s:Math.cos(n),f=o+i*Math.sin(a)/c,h=u.toDegrees(),p=f.toDegrees();return new d(h,p)}rhumbMidpointTo(t){t instanceof d||(t=d.parse(t));const e=this.lat.toRadians();let r=this.lon.toRadians();const n=t.lat.toRadians(),o=t.lon.toRadians();Math.abs(o-r)>y&&(r+=2*y);const a=(e+n)/2,i=Math.tan(y/4+e/2),l=Math.tan(y/4+n/2),u=Math.tan(y/4+a/2);let s=((o-r)*Math.log(u)+r*Math.log(l)-o*Math.log(i))/Math.log(l/i);isFinite(s)||(s=(r+o)/2);const c=a.toDegrees(),f=s.toDegrees();return new d(c,f)}static areaOf(t,e=6371e3){const r=e,n=t[0].equals(t[t.length-1]);n||t.push(t[0]);const o=t.length-1;let a=0;for(let e=0;e<o;e++){const r=t[e].lat.toRadians(),n=t[e+1].lat.toRadians(),o=(t[e+1].lon-t[e].lon).toRadians();a+=2*Math.atan2(Math.tan(o/2)*(Math.tan(r/2)+Math.tan(n/2)),1+Math.tan(r/2)*Math.tan(n/2))}(function(t){let e=0,r=t[0].initialBearingTo(t[1]);for(let n=0;n<t.length-1;n++){const o=t[n].initialBearingTo(t[n+1]),a=t[n].finalBearingTo(t[n+1]);e+=(o-r+540)%360-180,e+=(a-o+540)%360-180,r=a}return e+=(t[0].initialBearingTo(t[1])-r+540)%360-180,Math.abs(e)<90})(t)&&(a=Math.abs(a)-2*y);const i=Math.abs(a*r*r);return n||t.pop(),i}equals(t){return t instanceof d||(t=d.parse(t)),!(Math.abs(this.lat-t.lat)>Number.EPSILON||Math.abs(this.lon-t.lon)>Number.EPSILON)}toGeoJSON(){return{type:"Point",coordinates:[this.lon,this.lat]}}toString(t="d",e=void 0){if(!["d","dm","dms","n"].includes(t))throw new RangeError(`invalid format ‘${t}’`);return"n"==t?(null==e&&(e=4),`${this.lat.toFixed(e)},${this.lon.toFixed(e)}`):`${p.toLat(this.lat,t,e)}, ${p.toLon(this.lon,t,e)}`}}function g(t,e,r){if(null!==t)for(var n,o,a,i,l,u,s,c,f=0,h=0,p=t.type,y="FeatureCollection"===p,d="Feature"===p,v=y?t.features.length:1,m=0;m<v;m++){l=(c=!!(s=y?t.features[m].geometry:d?t.geometry:t)&&"GeometryCollection"===s.type)?s.geometries.length:1;for(var b=0;b<l;b++){var M=0,w=0;if(null!==(i=c?s.geometries[b]:s)){u=i.coordinates;var S=i.type;switch(f=!r||"Polygon"!==S&&"MultiPolygon"!==S?0:1,S){case null:break;case"Point":if(!1===e(u,h,m,M,w))return!1;h++,M++;break;case"LineString":case"MultiPoint":for(n=0;n<u.length;n++){if(!1===e(u[n],h,m,M,w))return!1;h++,"MultiPoint"===S&&M++}"LineString"===S&&M++;break;case"Polygon":case"MultiLineString":for(n=0;n<u.length;n++){for(o=0;o<u[n].length-f;o++){if(!1===e(u[n][o],h,m,M,w))return!1;h++}"MultiLineString"===S&&M++,"Polygon"===S&&w++}"Polygon"===S&&M++;break;case"MultiPolygon":for(n=0;n<u.length;n++){for(w=0,o=0;o<u[n].length;o++){for(a=0;a<u[n][o].length-f;a++){if(!1===e(u[n][o][a],h,m,M,w))return!1;h++}w++}M++}break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===g(i.geometries[n],e,r))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}var v=function(t,e={}){if(null!=t.bbox&&!0!==e.recompute)return t.bbox;const r=[1/0,1/0,-1/0,-1/0];return g(t,t=>{r[0]>t[0]&&(r[0]=t[0]),r[1]>t[1]&&(r[1]=t[1]),r[2]<t[0]&&(r[2]=t[0]),r[3]<t[1]&&(r[3]=t[1])}),r};function m(t){return function(t){if(Array.isArray(t))return w(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||M(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,l=[],u=!0,s=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(t){s=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(t,e)||M(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function M(t,e){if(t){if("string"==typeof t)return w(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?w(t,e):void 0}}function w(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var S=function(t,e){var r=b(t,2),n=r[0],o=r[1],a=b(e,2),i=a[0],l=a[1],u=new d(o,n),s=new d(l,i);return u.distanceTo(s)},P=function(t){var e=t/1609.344;if(e<.5)return"".concat(Math.round(t),"m");if(e<10){var r=Number.parseFloat(e.toFixed(1)),n=1===r?"mile":"miles";return"".concat(r," ").concat(n)}var o=Math.round(e);return"".concat(o," miles")},x=function(t){return v(t)};function O(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,l=[],u=!0,s=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(t){s=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(t,e)||function(t,e){if(t){if("string"==typeof t)return E(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?E(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function N(t){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},N(t)}function j(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function A(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?j(Object(r),!0).forEach(function(e){T(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function T(t,e,r){return(e=function(t){var e=function(t){if("object"!=N(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=N(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==N(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function I(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var L="highlighted-label";function k(t,e){if("number"==typeof t)return t;if(!Array.isArray(t)||"interpolate"!==t[0])return function(t,e){var r=t.stops;if(r.length<2)return r.length>0?r[0][1]:0;for(var n=r[0],o=r[r.length-1],a=1;a<r.length;a++){var i=r[a];if(i[0]>e){o=i,n=r[a-1];break}n=r[a-1],o=i}var l=O(n,2),u=l[0],s=l[1],c=O(o,2),f=c[0],h=c[1];return e<=u?s:e>=f?h:s+(e-u)/(f-u)*(h-s)}(t,e);var r,n=function(t){if(Array.isArray(t))return t}(r=t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||function(t,e){if(t){if("string"==typeof t)return I(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?I(t,e):void 0}}(r)||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.")}(),o=n[2],a=I(n).slice(3);if("zoom"!==o[0])throw new Error("Only zoom-based expressions supported");for(var i=0;i<a.length-2;i+=2){var l=a[i],u=a[i+1],s=a[i+2],c=a[i+3];if(e<=l)return u;if(e<=s)return u+(e-l)/(s-l)*(c-u)}return a[a.length-1]}function R(t,e){if(e.highlightLayerId&&t.getLayer(e.highlightLayerId)){try{t.removeLayer(e.highlightLayerId)}catch(t){}e.highlightLayerId=null,e.highlightedExpr=null}}function _(t,e,r){var n,o,a,i;if(null!=e&&null!==(n=e.feature)&&void 0!==n&&n.layer){R(t,r);var l=e.feature,u=e.layer;r.highlightLayerId="highlight-".concat(u.id);var s=l.id,c=l.type,f=l.properties,h=l.geometry;t.getSource(L).setData({id:s,type:c,properties:f,geometry:h}),r.highlightedExpr=u.layout["text-size"];var p=t.getZoom(),y=(o=u,a=1.5*k(r.highlightedExpr,p),i=r.isDarkStyle?{text:"#ffffff",halo:"#000000"}:{text:"#000000",halo:"#ffffff"},{id:"highlight-".concat(o.id),type:o.type,source:L,layout:A(A({},o.layout),{},{"text-size":a,"text-allow-overlap":!0,"text-ignore-placement":!0,"text-max-angle":90}),paint:A(A({},o.paint),{},{"text-color":i.text,"text-halo-color":i.halo,"text-halo-width":3,"text-halo-blur":1,"text-opacity":1})});t.addLayer(y),t.moveLayer(r.highlightLayerId)}}function D(t){t.getSource(L)||t.addSource(L,{type:"geojson",data:{type:"FeatureCollection",features:[]}})}function C(t){t.getStyle().layers.filter(function(t){var e;return"line"===(null===(e=t.layout)||void 0===e?void 0:e["symbol-placement"])}).forEach(function(e){return t.setLayoutProperty(e.id,"symbol-placement","line-center")})}function F(t,e,r,n){var o={isDarkStyle:"dark"===e,labels:[],currentPixel:null,highlightLayerId:null,highlightedExpr:null};function a(){var e=t.getStyle().layers.filter(function(t){return"symbol"===t.type}),r=t.queryRenderedFeatures({layers:e.map(function(t){return t.id})});o.labels=function(t,e,r){return e.flatMap(function(e){var n,o,a,i,l="string"==typeof(o=null===(n=e.layout)||void 0===n?void 0:n["text-field"])?null===(a=/^{(.+)}$/.exec(o))||void 0===a?void 0:a[1]:Array.isArray(o)?null===(i=o.find(function(t){return Array.isArray(t)&&"get"===t[0]}))||void 0===i?void 0:i[1]:null;return l?r.filter(function(t){var r;return t.layer.id===e.id&&(null===(r=t.properties)||void 0===r?void 0:r[l])}).map(function(r){return function(t,e,r,n){var o=function(t){var e=t.type,r=t.coordinates;if("Point"===e)return r;if("MultiPoint"===e)return r[0];if(e.includes("LineString")){var n="LineString"===e?r:r[0];return[(n[0][0]+n[n.length-1][0])/2,(n[0][1]+n[n.length-1][1])/2]}if(e.includes("Polygon")){var o="Polygon"===e?r[0]:r[0][0],a=o.reduce(function(t,e){return[t[0]+e[0],t[1]+e[1]]},[0,0]);return[a[0]/o.length,a[1]/o.length]}return null}(t.geometry);if(!o)return null;var a=n.project({lng:o[0],lat:o[1]});return{text:t.properties[r],x:a.x,y:a.y,feature:t,layer:e}}(r,e,l,t)}).filter(Boolean):[]})}(t,e,r)}function i(){if(a(),!o.labels.length)return null;var e=t.project(t.getCenter()),r=function(t,e){var r;return null===(r=t.reduce(function(t,r){var n=Math.pow(r.x-e.x,2)+Math.pow(r.y-e.y,2);return!t||n<t.dist?{label:r,dist:n}:t},null))||void 0===r?void 0:r.label}(o.labels,e);return o.currentPixel={x:r.x,y:r.y},_(t,r,o),"".concat(r.text," (").concat(r.layer.id,")")}return C(t),D(t),null==n||n.on(r.MAP_SET_STYLE,function(e){t.once("styledata",function(){return t.once("idle",function(){C(t),D(t),o.isDarkStyle="dark"===(null==e?void 0:e.mapColorScheme)})})}),t.on("zoom",function(){if(o.highlightLayerId&&o.highlightedExpr){var e=k(o.highlightedExpr,t.getZoom());t.setLayoutProperty(o.highlightLayerId,"text-size",1.5*e)}}),function(t){t.getStyle().layers.filter(function(t){return"symbol"===t.type}).forEach(function(e){t.setPaintProperty(e.id,"text-opacity",["case",["boolean",["feature-state","highlighted"],!1],0,1])})}(t),{refreshLabels:a,highlightNextLabel:function(e){if(a(),!o.labels.length)return null;if(!o.currentPixel)return i();var r=function(t,e){if(!e.currentPixel)return null;var r=e.labels.map(function(t,e){return{pixel:[t.x,t.y],index:e}}).filter(function(t){return t.pixel[0]!==e.currentPixel.x||t.pixel[1]!==e.currentPixel.y});if(!r.length)return null;var n=r.map(function(t){return t.pixel}),o=function(t,e,r){var n=b(e,2),o=n[0],a=n[1],i=r.filter(function(e){var r=b(e,2),n=r[0],i=r[1];return(n!==o||i!==a)&&function(t,e,r){switch(t){case"ArrowUp":return r<0&&Math.abs(r)>=Math.abs(e);case"ArrowDown":return r>0&&Math.abs(r)>=Math.abs(e);case"ArrowLeft":return e<0&&Math.abs(e)>Math.abs(r);case"ArrowRight":return e>0&&Math.abs(e)>Math.abs(r);default:return!1}}(t,n-o,i-a)});if(!i.length)return r.findIndex(function(t){return t[0]===o&&t[1]===a});var l=-1,u=1/0;return i.forEach(function(t){var e=t[0]-o,n=t[1]-a,i=e*e+n*n;i<u&&(u=i,l=r.indexOf(t))}),l}(t,[e.currentPixel.x,e.currentPixel.y],n);return(null==o||o<0||o>=r.length)&&(o=0),e.labels[r[o].index]}(e,o);return r?(o.currentPixel={x:r.x,y:r.y},_(t,r,o),"".concat(r.text," (").concat(r.layer.id,")")):null},highlightLabelAtCenter:i,clearHighlightedLabel:function(){return R(t,o)}}}function B(t){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},B(t)}function G(t){return function(t){if(Array.isArray(t))return q(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||z(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,l=[],u=!0,s=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(t){s=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(t,e)||z(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(t,e){if(t){if("string"==typeof t)return q(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?q(t,e):void 0}}function q(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function W(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Z(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?W(Object(r),!0).forEach(function(e){H(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):W(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function H(t,e,r){return(e=function(t){var e=function(t){if("object"!=B(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=B(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==B(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var U="icon-image",V="active-highlight",Y="active-highlight-inner",J="selected-highlight",K=function(t,e){var r,n;return null!==(r=null===(n=t._activeSymbolImageMap)||void 0===n?void 0:n[e])&&void 0!==r?r:null},X=function(t,e){var r,n;return null!==(r=null===(n=t._selectedSymbolImageMap)||void 0===n?void 0:n[e])&&void 0!==r?r:null},Q=function(t,e,r,n){e.forEach(function(e){if(!r.has(e)){var o="".concat(n,"-").concat(e);["".concat(o,"-fill"),"".concat(o,"-line"),"".concat(o,"-symbol")].forEach(function(e){t.getLayer(e)&&t.setFilter(e,["==","id",""])})}})},tt=function(t,e){var r="_".concat(e.replaceAll("-",""),"Sources");Q(t,t[r]||new Set,new Set,e),t[r]=new Set},et=function(t,e,r,n,o,a,i){t.getLayer(e)||t.addLayer(Z(Z({id:e,type:r,source:n},o&&{"source-layer":o}),{},{paint:a})),Object.entries(a).forEach(function(r){var n=$(r,2),o=n[0],a=n[1];t.setPaintProperty(e,o,a)}),t.setFilter(e,i),t.moveLayer(e)},rt=function(t,e,r,n,o,a){var i=r[e],l=i.ids,u=i.fillIds,s=i.idProperty,c=i.layerId,f=i.hasFillGeometry,h=t.getLayer(c),p=h.sourceLayer,y=f?"fill":h.type,d="".concat(o,"-").concat(e),g=n[c];if(g){var v=g.stroke,m=g.selectionStroke,b=g.strokeWidth,M=g.activeStrokeWidth,w=g.fill,S=o===J,P=function(t){return t===J||t===Y}(o),x=P?m:v,O=P?b:M,E=s?["get",s]:["id"],N=["in",E,["literal",G(l)]];"fill"===y&&function(t,e,r,n,o){var a=o.fill,i=o.lineColor,l=o.lineWidth,u=o.filter;if(o.isSelected){var s=["in",o.idExpression,["literal",G(o.fillIds)]];et(t,"".concat(e,"-fill"),"fill",r,n,{"fill-color":a},s)}et(t,"".concat(e,"-line"),"line",r,n,{"line-color":i,"line-width":l},u)}(t,d,e,p,{isSelected:S,idExpression:E,fillIds:u,fill:w,lineColor:x,lineWidth:O,filter:N}),"line"===y&&(t.getLayer("".concat(d,"-fill"))&&t.setFilter("".concat(d,"-fill"),["==","id",""]),et(t,"".concat(d,"-line"),"line",e,p,{"line-color":x,"line-width":O},N)),"symbol"===y&&function(t,e,r,n,o,a,i){var l=t.getLayoutProperty(o,U),u=i(t,l);u&&function(t,e,r,n,o,a,i){var l;t.getLayer(e)||t.addLayer(Z(Z({id:e,type:"symbol",source:r},n&&{"source-layer":n}),{},{layout:H(H(H({},U,a),"icon-anchor",null!==(l=t.getLayoutProperty(o,"icon-anchor"))&&void 0!==l?l:"center"),"icon-allow-overlap",!0)})),t.setLayoutProperty(e,U,a),t.setFilter(e,i),t.moveLayer(e)}(t,"".concat(e,"-symbol"),r,n,o,u,a)}(t,d,e,p,c,N,a)}},nt=function(t,e,r,n,o){var a=function(t,e){var r={};return null==e||e.forEach(function(e){var n=e.featureId,o=e.layerId,a=e.idProperty,i=e.geometry,l=t.getLayer(o);if(l){var u=l.source;r[u]||(r[u]={ids:new Set,fillIds:new Set,idProperty:a,layerId:o,hasFillGeometry:!1}),!i||"Polygon"!==i.type&&"MultiPolygon"!==i.type||(r[u].hasFillGeometry=!0,r[u].fillIds.add(n)),r[u].ids.add(n)}}),r}(t,e),i=new Set(Object.keys(a)),l="_".concat(n.replaceAll("-",""),"Sources"),u=t[l]||new Set;return Q(t,u,i,n),t[l]=i,i.forEach(function(e){return rt(t,e,a,r,n,o)}),a};function ot(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,l=[],u=!0,s=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(t){s=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(t,e)||function(t,e){if(t){if("string"==typeof t)return at(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?at(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function at(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var it=function(t,e,r){var n=Math.pow(e.x-r.x,2)+Math.pow(e.y-r.y,2);if(0===n)return Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2);var o=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return o=Math.max(0,Math.min(1,o)),Math.pow(t.x-(e.x+o*(r.x-e.x)),2)+Math.pow(t.y-(e.y+o*(r.y-e.y)),2)};function lt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var ut=function(t,e,r){var n=t.getCanvas();if(r&&t.off("mousemove",r),null==e||!e.length)return n.style.cursor="",null;var o=function(r){var o=e.filter(function(e){return t.getLayer(e)});if(0!==o.length){var a=function(t,e){var r,n=[],o=[],a=function(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return lt(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lt(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return i=t.done,t},e:function(t){l=!0,a=t},f:function(){try{i||null==r.return||r.return()}finally{if(l)throw a}}}}(e);try{for(a.s();!(r=a.n()).done;){var i=r.value;if("line"===t.getLayer(i).type){var l=i.endsWith("-stroke")?i.slice(0,-7):null;null!==l&&e.includes(l)||n.push(i)}else o.push(i)}}catch(t){a.e(t)}finally{a.f()}return{lineLayers:n,otherLayers:o}}(t,o),i=a.lineLayers,l=a.otherLayers,u=r.point,s=u.x,c=u.y,f=[[s-10,c-10],[s+10,c+10]],h=i.length>0&&t.queryRenderedFeatures(f,{layers:i}).length>0,p=l.length>0&&t.queryRenderedFeatures(r.point,{layers:l}).length>0;n.style.cursor=h||p?"pointer":""}else n.style.cursor=""};return t.on("mousemove",o),o};function st(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof l?n:l,s=Object.create(u.prototype);return ct(s,"_invoke",function(r,n,o){var a,l,u,s=0,c=o||[],f=!1,h={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,l=0,u=t,h.n=r,i}};function p(r,n){for(l=r,u=n,e=0;!f&&s&&!o&&e<c.length;e++){var o,a=c[e],p=h.p,y=a[2];r>3?(o=y===n)&&(u=a[(l=a[4])?5:(l=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(l=0,h.v=n,h.n=a[1]):p<y&&(o=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,h.n=y,l=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,y),l=c,u=y;(e=l<2?t:u)||!f;){a||(l?l<3?(l>1&&(h.n=-1),p(l,u)):h.n=u:h.v=u);try{if(s=2,a){if(l||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,l<2&&(l=0)}else 1===l&&(e=a.return)&&e.call(a),l<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),l=1);a=t}else if((e=(f=h.n<0)?u:r.call(n,h))!==i)break}catch(e){a=t,l=1,u=e}finally{s=1}}return{value:e,done:f}}}(r,o,a),!0),s}var i={};function l(){}function u(){}function s(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(ct(e={},n,function(){return this}),e),f=s.prototype=l.prototype=Object.create(c);function h(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,ct(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,ct(f,"constructor",s),ct(s,"constructor",u),u.displayName="GeneratorFunction",ct(s,o,"GeneratorFunction"),ct(f),ct(f,o,"Generator"),ct(f,n,function(){return this}),ct(f,"toString",function(){return"[object Generator]"}),(st=function(){return{w:a,m:h}})()}function ct(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}ct=function(t,e,r,n){function a(e,r){ct(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},ct(t,e,r,n)}function ft(t,e,r,n,o,a,i){try{var l=t[a](i),u=l.value}catch(t){return void r(t)}l.done?e(u):Promise.resolve(u).then(n,o)}function ht(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){ft(a,n,o,i,l,"next",t)}function l(t){ft(a,n,o,i,l,"throw",t)}i(void 0)})}}var pt=function(){var t=ht(st().m(function t(e,r,n,o){var a,i=arguments;return st().w(function(t){for(;;)switch(t.n){case 0:if(a=i.length>4&&void 0!==i[4]?i[4]:2,r.length){t.n=1;break}return t.a(2);case 1:return e._activeSymbolImageMap={},e._selectedSymbolImageMap={},t.n=2,Promise.all(r.flatMap(function(t){var r=o.getSymbolImageId(t,n,!1,a),i=o.getSymbolImageId(t,n,!0,a);return r&&i&&(e._activeSymbolImageMap[r]=i),["normal","active","selected"].map(function(){var l=ht(st().m(function l(u){var s,c;return st().w(function(l){for(;;)switch(l.n){case 0:if(s="active"===u?i:r,"selected"===u||s&&!e.hasImage(s)){l.n=1;break}return l.a(2);case 1:return l.n=2,o.rasteriseSymbolImage(t,n,u,a);case 2:(c=l.v)&&("selected"===u&&r&&(e._selectedSymbolImageMap[r]=c.imageId),e.hasImage(c.imageId)||e.addImage(c.imageId,c.imageData,{pixelRatio:a}));case 3:return l.a(2)}},l)}));return function(t){return l.apply(this,arguments)}}())}));case 2:return t.a(2)}},t)}));return function(e,r,n,o){return t.apply(this,arguments)}}(),yt=function(t){return Math.max(2,2*t)},dt=function(t,e,r){return t.replace(/\{\{foregroundColor\}\}/g,e||"black").replace(/\{\{backgroundColor\}\}/g,r||"transparent")};function gt(t){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt(t)}var vt=function(t,e){if(!t)return null;if("string"==typeof t)return t.trim();if("object"===gt(t)){if(e&&t[e])return t[e];var r=Object.values(t)[0];return null!=r?r:null}return null},mt=function(t,e,r){return new Promise(function(n,o){var a="data:image/svg+xml;charset=utf-8,".concat(encodeURIComponent(t)),i=new Image(e,r);i.onload=function(){var t=document.createElement("canvas");t.width=e,t.height=r;var o=t.getContext("2d");o.drawImage(i,0,0,e,r),n(o.getImageData(0,0,e,r))},i.onerror=function(){o(new Error("Failed to rasterise SVG: ".concat(t.slice(0,80))))},i.src=a})};function bt(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof l?n:l,s=Object.create(u.prototype);return Mt(s,"_invoke",function(r,n,o){var a,l,u,s=0,c=o||[],f=!1,h={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,l=0,u=t,h.n=r,i}};function p(r,n){for(l=r,u=n,e=0;!f&&s&&!o&&e<c.length;e++){var o,a=c[e],p=h.p,y=a[2];r>3?(o=y===n)&&(u=a[(l=a[4])?5:(l=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(l=0,h.v=n,h.n=a[1]):p<y&&(o=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,h.n=y,l=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,y),l=c,u=y;(e=l<2?t:u)||!f;){a||(l?l<3?(l>1&&(h.n=-1),p(l,u)):h.n=u:h.v=u);try{if(s=2,a){if(l||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,l<2&&(l=0)}else 1===l&&(e=a.return)&&e.call(a),l<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),l=1);a=t}else if((e=(f=h.n<0)?u:r.call(n,h))!==i)break}catch(e){a=t,l=1,u=e}finally{s=1}}return{value:e,done:f}}}(r,o,a),!0),s}var i={};function l(){}function u(){}function s(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(Mt(e={},n,function(){return this}),e),f=s.prototype=l.prototype=Object.create(c);function h(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,Mt(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,Mt(f,"constructor",s),Mt(s,"constructor",u),u.displayName="GeneratorFunction",Mt(s,o,"GeneratorFunction"),Mt(f),Mt(f,o,"Generator"),Mt(f,n,function(){return this}),Mt(f,"toString",function(){return"[object Generator]"}),(bt=function(){return{w:a,m:h}})()}function Mt(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Mt=function(t,e,r,n){function a(e,r){Mt(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},Mt(t,e,r,n)}function wt(t,e,r,n,o,a,i){try{var l=t[a](i),u=l.value}catch(t){return void r(t)}l.done?e(u):Promise.resolve(u).then(n,o)}function St(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){wt(a,n,o,i,l,"next",t)}function l(t){wt(a,n,o,i,l,"throw",t)}i(void 0)})}}var Pt=new Map,xt=function(){var t=St(bt().m(function t(e,r,n,o){var a,i,l,u,s,c,f,h,p,y;return bt().w(function(t){for(;;)switch(t.n){case 0:if(a=n.getPatternInnerContent(e)){t.n=1;break}return t.a(2,null);case 1:if(i=n.getPatternImageId(e,r,o)){t.n=2;break}return t.a(2,null);case 2:if(l=Pt.get(i)){t.n=4;break}return u=vt(e.fillPatternForegroundColor,r)||"black",s=vt(e.fillPatternBackgroundColor,r)||"transparent",c=dt(a,u,s),f='<rect width="16" height="16" fill="'.concat(s,'"/>'),h=yt(o),p=Math.round(8*h),y='<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(p,'" height="').concat(p,'" viewBox="0 0 16 16">').concat(f).concat(c,"</svg>"),t.n=3,mt(y,p,p);case 3:l=t.v,Pt.set(i,l);case 4:return t.a(2,{imageId:i,imageData:l})}},t)}));return function(e,r,n,o){return t.apply(this,arguments)}}(),Ot=function(){var t=St(bt().m(function t(e,r,n,o,a){var i,l;return bt().w(function(t){for(;;)switch(t.n){case 0:if(r.length){t.n=1;break}return t.a(2);case 1:return i=yt(a),l=r.reduce(function(t,r){var l=o.getPatternImageId(r,n,a);return!l||t[l]||e.hasImage(l)||(t[l]=St(bt().m(function t(){var l;return bt().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,xt(r,n,o,a);case 1:(l=t.v)&&e.addImage(l.imageId,l.imageData,{pixelRatio:i});case 2:return t.a(2)}},t)}))),t},{}),t.n=2,Promise.all(Object.values(l).map(function(t){return t()}));case 2:return t.a(2)}},t)}));return function(e,r,n,o,a){return t.apply(this,arguments)}}(),Et=["container","padding","mapStyle","mapSize","center","zoom","bounds","pixelRatio"];function Nt(t){return Nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nt(t)}function jt(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof l?n:l,s=Object.create(u.prototype);return At(s,"_invoke",function(r,n,o){var a,l,u,s=0,c=o||[],f=!1,h={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,l=0,u=t,h.n=r,i}};function p(r,n){for(l=r,u=n,e=0;!f&&s&&!o&&e<c.length;e++){var o,a=c[e],p=h.p,y=a[2];r>3?(o=y===n)&&(u=a[(l=a[4])?5:(l=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(l=0,h.v=n,h.n=a[1]):p<y&&(o=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,h.n=y,l=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,y),l=c,u=y;(e=l<2?t:u)||!f;){a||(l?l<3?(l>1&&(h.n=-1),p(l,u)):h.n=u:h.v=u);try{if(s=2,a){if(l||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,l<2&&(l=0)}else 1===l&&(e=a.return)&&e.call(a),l<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),l=1);a=t}else if((e=(f=h.n<0)?u:r.call(n,h))!==i)break}catch(e){a=t,l=1,u=e}finally{s=1}}return{value:e,done:f}}}(r,o,a),!0),s}var i={};function l(){}function u(){}function s(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(At(e={},n,function(){return this}),e),f=s.prototype=l.prototype=Object.create(c);function h(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,At(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=s,At(f,"constructor",s),At(s,"constructor",u),u.displayName="GeneratorFunction",At(s,o,"GeneratorFunction"),At(f),At(f,o,"Generator"),At(f,n,function(){return this}),At(f,"toString",function(){return"[object Generator]"}),(jt=function(){return{w:a,m:h}})()}function At(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}At=function(t,e,r,n){function a(e,r){At(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},At(t,e,r,n)}function Tt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function It(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Tt(Object(r),!0).forEach(function(e){Lt(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Tt(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function Lt(t,e,r){return(e=Ct(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function kt(t,e){if(null==t)return{};var r,n,o=function(t,e){if(null==t)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==e.indexOf(n))continue;r[n]=t[n]}return r}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n<a.length;n++)r=a[n],-1===e.indexOf(r)&&{}.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Rt(t,e,r,n,o,a,i){try{var l=t[a](i),u=l.value}catch(t){return void r(t)}l.done?e(u):Promise.resolve(u).then(n,o)}function _t(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){Rt(a,n,o,i,l,"next",t)}function l(t){Rt(a,n,o,i,l,"throw",t)}i(void 0)})}}function Dt(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,Ct(n.key),n)}}function Ct(t){var e=function(t){if("object"!=Nt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=Nt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Nt(e)?e:e+""}var Ft=function(){return t=function t(e){var r=e.mapFramework,n=e.mapProviderConfig,a=void 0===n?{}:n,i=e.events,l=e.eventBus;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.maplibreModule=r,this.events=i,this.eventBus=l,this.capabilities={supportedShortcuts:o,supportsMapSizes:!0},Object.assign(this,a)},e=[{key:"initMap",value:(u=_t(jt().m(function t(e){var r,n,o,l,u,f,h,p,y,d,g,v,m,b=this;return jt().w(function(t){for(;;)switch(t.n){case 0:r=e.container,n=e.padding,o=e.mapStyle,l=e.mapSize,u=e.center,f=e.zoom,h=e.bounds,p=e.pixelRatio,y=kt(e,Et),this.mapStyleId=null==o?void 0:o.id,this.mapSize=l,d=this.maplibreModule.Map,g=this.events,v=this.eventBus,(m=new d(It(It({},y),{},{container:r,style:null==o?void 0:o.url,pixelRatio:p,padding:n,center:u,zoom:f,fadeDuration:0,attributionControl:!1,dragRotate:!1,doubleClickZoom:!1}))).touchZoomRotate.disableRotation(),this.map=m,this.map.setPadding(n),h&&m.fitBounds(h,{duration:0}),i(m),a(m),s({map:m,events:g,eventBus:v,getCenter:this.getCenter.bind(this),getZoom:this.getZoom.bind(this),getBounds:this.getBounds.bind(this),getResolution:this.getResolution.bind(this)}),c({mapProvider:this,map:m,events:g,eventBus:v}),m.on("load",function(){b.labelNavigator=F(m,null==o?void 0:o.mapColorScheme,g,v)}),this.eventBus.emit(g.MAP_READY,{map:this.map,mapStyleId:this.mapStyleId,mapSize:this.mapSize,crs:this.crs});case 1:return t.a(2)}},t,this)})),function(t){return u.apply(this,arguments)})},{key:"destroyMap",value:function(){var t,e;this.setHoverCursor([]),null===(t=this.mapEvents)||void 0===t||t.remove(),null===(e=this.appEvents)||void 0===e||e.remove(),this.mapEvents=null,this.appEvents=null,this.map.remove()}},{key:"setHoverCursor",value:function(t){this.map&&(this._onHoverMove=ut(this.map,t,this._onHoverMove))}},{key:"setView",value:function(t){var e=t.center,r=t.zoom;this.map.flyTo({center:e||this.getCenter(),zoom:r||this.getZoom(),duration:this.map.isStyleLoaded()?n:0})}},{key:"zoomIn",value:function(t){this.map.easeTo({zoom:this.getZoom()+t,duration:n})}},{key:"zoomOut",value:function(t){this.map.easeTo({zoom:this.getZoom()-t,duration:n})}},{key:"panBy",value:function(t){this.map.panBy(t,{duration:n})}},{key:"fitToBounds",value:function(t){var e=Array.isArray(t)?t:x(t),r=this.map.isStyleLoaded()?n:0;this.map.fitBounds(e,{duration:r})}},{key:"setPadding",value:function(t){this.map.setPadding(t)}},{key:"updateHighlightedFeatures",value:function(t,e,r){return function(t){var e=t.LngLatBounds,r=t.map,n=t.selectedFeatures,o=t.activeFeatures,a=t.stylesMap;if(!r)return null;null!=o&&o.length?(nt(r,o,a,V,K),nt(r,o,a,Y,X)):(tt(r,V),tt(r,Y));var i={};null!=n&&n.length?i=nt(r,n,a,J,X):tt(r,J);var l=[];return Object.entries(i).forEach(function(t){var e=$(t,2)[1],n=e.ids,o=e.idProperty,a=e.layerId;l.push.apply(l,G(r.queryRenderedFeatures({layers:[a]}).filter(function(t){var e;return n.has(o?null===(e=t.properties)||void 0===e?void 0:e[o]:t.id)})))}),function(t,e){if(!e.length)return null;var r=new t;return e.forEach(function(t){var e=function(t){return"number"==typeof t[0]?r.extend(t):t.forEach(e)};e(t.geometry.coordinates)}),[r.getWest(),r.getSouth(),r.getEast(),r.getNorth()]}(e,l)}({LngLatBounds:this.maplibreModule.LngLatBounds,map:this.map,selectedFeatures:t,activeFeatures:e,stylesMap:r})}},{key:"highlightNextLabel",value:function(t){var e;return(null===(e=this.labelNavigator)||void 0===e?void 0:e.highlightNextLabel(t))||null}},{key:"highlightLabelAtCenter",value:function(){var t;return(null===(t=this.labelNavigator)||void 0===t?void 0:t.highlightLabelAtCenter())||null}},{key:"clearHighlightedLabel",value:function(){var t;return(null===(t=this.labelNavigator)||void 0===t?void 0:t.clearHighlightedLabel())||null}},{key:"getCenter",value:function(){var t=this.map.getCenter();return[Number(t.lng.toFixed(7)),Number(t.lat.toFixed(7))]}},{key:"getZoom",value:function(){return Number(this.map.getZoom().toFixed(7))}},{key:"getBounds",value:function(){return this.map.getBounds().toArray().flat(1)}},{key:"getFeaturesAtPoint",value:function(t,e){return function(t,e){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).radius,n=void 0===r?10:r,o=[[e.x-n,e.y-n],[e.x+n,e.y+n]],a=t.queryRenderedFeatures(o);if(0===a.length)return[];var i=new Set(t.queryRenderedFeatures([e.x,e.y]).map(function(t){var e,r=void 0===t.id?JSON.stringify(t.properties):t.id;return"".concat(null===(e=t.layer)||void 0===e?void 0:e.source,":").concat(r)})),l=[];a.forEach(function(t){!1===l.includes(t.layer.id)&&l.push(t.layer.id)});for(var u=new Set,s=[],c=a.length-1;c>=0;c--){var f,h=a[c],p=void 0===h.id?JSON.stringify(h.properties):h.id,y="".concat(null===(f=h.layer)||void 0===f?void 0:f.source,":").concat(p);!1===u.has(y)&&(u.add(y),s.push(h))}var d=t.unproject(e),g=[d.lng,d.lat],v=s.filter(function(t){var e=t.geometry.type;if(e.includes("Polygon"))return("Polygon"===e?[t.geometry.coordinates]:t.geometry.coordinates).some(function(t){return function(t,e){for(var r=ot(t,2),n=r[0],o=r[1],a=!1,i=0,l=e.length-1;i<e.length;l=i,i++){var u=ot(e[i],2),s=u[0],c=u[1],f=ot(e[l],2),h=f[0],p=f[1];c>o!=p>o&&n<(h-s)*(o-c)/(p-c)+s&&(a=!a)}return a}(g,t[0])});if("Point"===e||"MultiPoint"===e){var r,n=void 0===t.id?JSON.stringify(t.properties):t.id;return i.has("".concat(null===(r=t.layer)||void 0===r?void 0:r.source,":").concat(n))}return!0});return v.map(function(r){var n=0,o=r.geometry.type,a=function(t,e,r){var n=r.coordinates,o=r.type,a=1/0,i=function(e){return t.project(e)},l=function(t){for(var r=0;r<t.length-1;r++){var n=it(e,i(t[r]),i(t[r+1]));n<a&&(a=n)}};if("Point"===o){var u=i(n);a=Math.pow(e.x-u.x,2)+Math.pow(e.y-u.y,2)}else"LineString"===o||"MultiPoint"===o?"LineString"===o?l(n):n.forEach(function(t){var r=i(t),n=Math.pow(e.x-r.x,2)+Math.pow(e.y-r.y,2);n<a&&(a=n)}):"Polygon"===o||"MultiLineString"===o?n.forEach(l):"MultiPolygon"===o&&n.forEach(function(t){return t.forEach(l)});return a}(t,e,r.geometry);return n+=1e6*l.indexOf(r.layer.id),o.includes("Polygon")&&(n-=5e5),{f:r,score:n+=a}}).sort(function(t,e){return t.score-e.score}).map(function(t){return t.f})}(this.map,t,e)}},{key:"getVisibleFeatures",value:function(t){var e=this,r=t.filter(function(t){return e.map.getLayer(t)});return r.length?this.map.queryRenderedFeatures(void 0,{layers:r}):[]}},{key:"addSymbolsToMap",value:(l=_t(jt().m(function t(e,r,n){var o;return jt().w(function(t){for(;;)if(0===t.n)return o=this.map.getPixelRatio()||1,t.a(2,pt(this.map,e,r,n,o))},t,this)})),function(t,e,r){return l.apply(this,arguments)})},{key:"addPatternsToMap",value:(r=_t(jt().m(function t(e,r,n){var o;return jt().w(function(t){for(;;)if(0===t.n)return o=this.map.getPixelRatio()||1,t.a(2,Ot(this.map,e,r,n,o))},t,this)})),function(t,e,n){return r.apply(this,arguments)})},{key:"getAreaDimensions",value:function(){return function(t){var e,r,n,o;if(t&&"function"==typeof t.getWest)e=t.getWest(),r=t.getSouth(),n=t.getEast(),o=t.getNorth();else{if(!Array.isArray(t)||2!==t.length)return"";var a=b(t,2),i=b(a[0],2);e=i[0],r=i[1];var l=b(a[1],2);n=l[0],o=l[1]}var u=S([e,r],[n,r]),s=S([e,r],[e,o]),c=P(u),f=P(s);return"".concat(f," by ").concat(c)}((t=this.maplibreModule.LngLatBounds,e=this.map,r=e.getContainer().getBoundingClientRect(),n=r.width,o=r.height,a=e.getPadding(),i=[a.left,o-a.bottom],l=[n-a.right,a.top],new t(e.unproject(i),e.unproject(l))));var t,e,r,n,o,a,i,l}},{key:"getCardinalMove",value:function(t,e){return function(t,e){var r=b(t,2),n=r[0],o=r[1],a=b(e,2),i=a[0],l=a[1],u=l-o,s=i-n,c=[];if(Math.abs(u)>1e-4){var f=Math.round(S([n,o],[n,l]));c.push("".concat(u>0?"north":"south"," ").concat(P(f)))}if(Math.abs(s)>1e-4){var h=Math.round(S([n,o],[i,o]));c.push("".concat(s>0?"east":"west"," ").concat(P(h)))}return c.join(", ")}(t,e)}},{key:"getResolution",value:function(){return t=this.map.getCenter(),e=this.map.getZoom(),r=t.lat,n=Math.pow(2,e),40075016.686*Math.cos(r*Math.PI/180)/(512*n);var t,e,r,n}},{key:"mapToScreen",value:function(t){return this.map.project(t)}},{key:"screenToMap",value:function(t){var e=this.map.unproject([t.x,t.y]);return[e.lng,e.lat]}},{key:"isGeometryObscured",value:function(t,e){return function(t,e,r){var n=r.getContainer().getBoundingClientRect(),o=b(x(t),4),a=o[0],i=o[1],l=o[2],u=o[3],s=[r.project([a,i]),r.project([a,u]),r.project([l,i]),r.project([l,u])],c=Math.min.apply(Math,m(s.map(function(t){return t.x}))),f=Math.max.apply(Math,m(s.map(function(t){return t.x}))),h=Math.min.apply(Math,m(s.map(function(t){return t.y}))),p=Math.max.apply(Math,m(s.map(function(t){return t.y}))),y=e.left-n.left,d=e.top-n.top,g=e.right-n.left,v=e.bottom-n.top;return c<g&&f>y&&h<v&&p>d}(t,e,this.map)}}],e&&Dt(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,r,l,u}()}}]);
|
package/src/types.js
CHANGED
|
@@ -403,8 +403,18 @@
|
|
|
403
403
|
* Falls back to `#0b0c0c` (light) or `#ffffff` (dark).
|
|
404
404
|
* Injected as the `--map-overlay-foreground-color` CSS custom property.
|
|
405
405
|
*
|
|
406
|
+
* @property {'raster' | 'ogc-vt'} [type]
|
|
407
|
+
* Tile layer type. Controls how the map provider constructs the basemap source. Omit (or leave
|
|
408
|
+
* undefined) for the default Mapbox GL vector tile path. The OpenLayers provider supports all
|
|
409
|
+
* three types, enabling raster, standard vector tile, and OGC vector tile basemaps:
|
|
410
|
+
* - `'raster'` — XYZ raster tile source; `url` should be a tile URL template.
|
|
411
|
+
* - `'ogc-vt'` — OGC API - Tiles vector tile source; `url` should point to an OGC style endpoint
|
|
412
|
+
* that returns a Mapbox GL style document. **Currently only supported by the OpenLayers provider.**
|
|
413
|
+
*
|
|
406
414
|
* @property {string} url
|
|
407
|
-
* URL
|
|
415
|
+
* URL for the style. For the default vector tile path and `'ogc-vt'`, this should be a URL that
|
|
416
|
+
* returns a Mapbox GL style document (Mapbox Style Specification). For `'raster'`, this should
|
|
417
|
+
* be an XYZ tile URL template with `{x}`, `{y}`, `{z}` placeholders.
|
|
408
418
|
*/
|
|
409
419
|
|
|
410
420
|
/**
|
package/webpack.dev.mjs
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
draw: path.join(__dirname, 'demo/js/draw.js'),
|
|
22
22
|
farming: path.join(__dirname, 'demo/js/farming.js'),
|
|
23
23
|
planning: path.join(__dirname, 'demo/js/planning.js'),
|
|
24
|
+
'planning-ol': path.join(__dirname, 'demo/js/planning-ol.js'),
|
|
24
25
|
gep: path.join(__dirname, 'demo/js/gep.js')
|
|
25
26
|
},
|
|
26
27
|
output: {
|
|
@@ -57,10 +58,10 @@ export default {
|
|
|
57
58
|
new webpack.DefinePlugin({
|
|
58
59
|
'process.env': {
|
|
59
60
|
// OS Open Zoomstack
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
OZS_OUTDOOR_URL: JSON.stringify(process.env.OZS_OUTDOOR_URL),
|
|
62
|
+
OZS_NIGHT_URL: JSON.stringify(process.env.OZS_NIGHT_URL),
|
|
63
|
+
OZS_DEUTERANOPIA_URL: JSON.stringify(process.env.OZS_DEUTERANOPIA_URL),
|
|
64
|
+
OZS_TRITANOPIA_URL: JSON.stringify(process.env.OZS_TRITANOPIA_URL),
|
|
64
65
|
// OS Vector Tile API (3857)
|
|
65
66
|
VTS_OUTDOOR_URL: JSON.stringify(process.env.VTS_OUTDOOR_URL),
|
|
66
67
|
VTS_DARK_URL: JSON.stringify(process.env.VTS_DARK_URL),
|
|
@@ -69,6 +70,9 @@ export default {
|
|
|
69
70
|
VTS_OUTDOOR_URL_27700: JSON.stringify(process.env.VTS_OUTDOOR_URL_27700),
|
|
70
71
|
VTS_DARK_URL_27700: JSON.stringify(process.env.VTS_DARK_URL_27700),
|
|
71
72
|
VTS_BLACK_AND_WHITE_URL_27700: JSON.stringify(process.env.VTS_BLACK_AND_WHITE_URL_27700),
|
|
73
|
+
// OS NGD Tiles API (OGC, 27700)
|
|
74
|
+
NGD_OUTDOOR_URL_27700: JSON.stringify(process.env.NGD_OUTDOOR_URL_27700),
|
|
75
|
+
NGD_BLACK_AND_WHITE_URL_27700: JSON.stringify(process.env.NGD_BLACK_AND_WHITE_URL_27700),
|
|
72
76
|
// Aerial photography
|
|
73
77
|
AERIAL_URL: JSON.stringify(process.env.AERIAL_URL),
|
|
74
78
|
// OS Maps API (27700 raster)
|