UNPKG

rlayers

Version:

React Components for OpenLayers

1 lines 14.8 kB
"use strict";(self.webpackChunkrlayers=self.webpackChunkrlayers||[]).push([[4629],{4096(n,o,e){e.d(o,{A:()=>i});var t=e(1601),r=e.n(t),a=e(6314),l=e.n(a)()(r());l.push([n.id,':root,\n:host {\n --ol-background-color: white;\n --ol-accent-background-color: #F5F5F5;\n --ol-subtle-background-color: rgba(128, 128, 128, 0.25);\n --ol-partial-background-color: rgba(255, 255, 255, 0.75);\n --ol-foreground-color: #333333;\n --ol-subtle-foreground-color: #666666;\n --ol-brand-color: #00AAFF;\n}\n\n.ol-box {\n box-sizing: border-box;\n border-radius: 2px;\n border: 1.5px solid var(--ol-background-color);\n background-color: var(--ol-partial-background-color);\n}\n\n.ol-mouse-position {\n top: 8px;\n right: 8px;\n position: absolute;\n}\n\n.ol-scale-line {\n background: var(--ol-partial-background-color);\n border-radius: 4px;\n bottom: 8px;\n left: 8px;\n padding: 2px;\n position: absolute;\n}\n\n.ol-scale-line-inner {\n border: 1px solid var(--ol-subtle-foreground-color);\n border-top: none;\n color: var(--ol-foreground-color);\n font-size: 10px;\n text-align: center;\n margin: 1px;\n will-change: contents, width;\n transition: all 0.25s;\n}\n\n.ol-scale-bar {\n position: absolute;\n bottom: 8px;\n left: 8px;\n}\n\n.ol-scale-bar-inner {\n display: flex;\n}\n\n.ol-scale-step-marker {\n width: 1px;\n height: 15px;\n background-color: var(--ol-foreground-color);\n float: right;\n z-index: 10;\n}\n\n.ol-scale-step-text {\n position: absolute;\n bottom: -5px;\n font-size: 10px;\n z-index: 11;\n color: var(--ol-foreground-color);\n text-shadow: -1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);\n}\n\n.ol-scale-text {\n position: absolute;\n font-size: 12px;\n text-align: center;\n bottom: 25px;\n color: var(--ol-foreground-color);\n text-shadow: -1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);\n}\n\n.ol-scale-singlebar {\n position: relative;\n height: 10px;\n z-index: 9;\n box-sizing: border-box;\n border: 1px solid var(--ol-foreground-color);\n}\n\n.ol-scale-singlebar-even {\n background-color: var(--ol-subtle-foreground-color);\n}\n\n.ol-scale-singlebar-odd {\n background-color: var(--ol-background-color);\n}\n\n.ol-unsupported {\n display: none;\n}\n\n.ol-viewport,\n.ol-unselectable {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.ol-viewport canvas {\n all: unset;\n overflow: hidden;\n}\n\n.ol-viewport {\n touch-action: pan-x pan-y;\n}\n\n.ol-selectable {\n -webkit-touch-callout: default;\n -webkit-user-select: text;\n -moz-user-select: text;\n user-select: text;\n}\n\n.ol-grabbing {\n cursor: -webkit-grabbing;\n cursor: -moz-grabbing;\n cursor: grabbing;\n}\n\n.ol-grab {\n cursor: move;\n cursor: -webkit-grab;\n cursor: -moz-grab;\n cursor: grab;\n}\n\n.ol-control {\n position: absolute;\n background-color: var(--ol-subtle-background-color);\n border-radius: 4px;\n}\n\n.ol-zoom {\n top: .5em;\n left: .5em;\n}\n\n.ol-rotate {\n top: .5em;\n right: .5em;\n transition: opacity .25s linear, visibility 0s linear;\n}\n\n.ol-rotate.ol-hidden {\n opacity: 0;\n visibility: hidden;\n transition: opacity .25s linear, visibility 0s linear .25s;\n}\n\n.ol-zoom-extent {\n top: 4.643em;\n left: .5em;\n}\n\n.ol-full-screen {\n right: .5em;\n top: .5em;\n}\n\n.ol-control button {\n display: block;\n margin: 1px;\n padding: 0;\n color: var(--ol-subtle-foreground-color);\n font-weight: bold;\n text-decoration: none;\n font-size: inherit;\n text-align: center;\n height: 1.375em;\n width: 1.375em;\n line-height: .4em;\n background-color: var(--ol-background-color);\n border: none;\n border-radius: 2px;\n}\n\n.ol-control button::-moz-focus-inner {\n border: none;\n padding: 0;\n}\n\n.ol-zoom-extent button {\n line-height: 1.4em;\n}\n\n.ol-compass {\n display: block;\n font-weight: normal;\n will-change: transform;\n}\n\n.ol-touch .ol-control button {\n font-size: 1.5em;\n}\n\n.ol-touch .ol-zoom-extent {\n top: 5.5em;\n}\n\n.ol-control button:hover,\n.ol-control button:focus {\n text-decoration: none;\n outline: 1px solid var(--ol-subtle-foreground-color);\n color: var(--ol-foreground-color);\n}\n\n.ol-zoom .ol-zoom-in {\n border-radius: 2px 2px 0 0;\n}\n\n.ol-zoom .ol-zoom-out {\n border-radius: 0 0 2px 2px;\n}\n\n.ol-attribution {\n text-align: right;\n bottom: .5em;\n right: .5em;\n max-width: calc(100% - 1.3em);\n display: flex;\n flex-flow: row-reverse;\n align-items: center;\n}\n\n.ol-attribution a {\n color: var(--ol-subtle-foreground-color);\n text-decoration: none;\n}\n\n.ol-attribution ul {\n margin: 0;\n padding: 1px .5em;\n color: var(--ol-foreground-color);\n text-shadow: 0 0 2px var(--ol-background-color);\n font-size: 12px;\n}\n\n.ol-attribution li {\n display: inline;\n list-style: none;\n}\n\n.ol-attribution li:not(:last-child):after {\n content: " ";\n}\n\n.ol-attribution img {\n max-height: 2em;\n max-width: inherit;\n vertical-align: middle;\n}\n\n.ol-attribution button {\n flex-shrink: 0;\n}\n\n.ol-attribution.ol-collapsed ul {\n display: none;\n}\n\n.ol-attribution:not(.ol-collapsed) {\n background: var(--ol-partial-background-color);\n}\n\n.ol-attribution.ol-uncollapsible {\n bottom: 0;\n right: 0;\n border-radius: 4px 0 0;\n}\n\n.ol-attribution.ol-uncollapsible img {\n margin-top: -.2em;\n max-height: 1.6em;\n}\n\n.ol-attribution.ol-uncollapsible button {\n display: none;\n}\n\n.ol-zoomslider {\n top: 4.5em;\n left: .5em;\n height: 200px;\n}\n\n.ol-zoomslider button {\n position: relative;\n height: 10px;\n}\n\n.ol-touch .ol-zoomslider {\n top: 5.5em;\n}\n\n.ol-overviewmap {\n left: 0.5em;\n bottom: 0.5em;\n}\n\n.ol-overviewmap.ol-uncollapsible {\n bottom: 0;\n left: 0;\n border-radius: 0 4px 0 0;\n}\n\n.ol-overviewmap .ol-overviewmap-map,\n.ol-overviewmap button {\n display: block;\n}\n\n.ol-overviewmap .ol-overviewmap-map {\n border: 1px solid var(--ol-subtle-foreground-color);\n height: 150px;\n width: 150px;\n}\n\n.ol-overviewmap:not(.ol-collapsed) button {\n bottom: 0;\n left: 0;\n position: absolute;\n}\n\n.ol-overviewmap.ol-collapsed .ol-overviewmap-map,\n.ol-overviewmap.ol-uncollapsible button {\n display: none;\n}\n\n.ol-overviewmap:not(.ol-collapsed) {\n background: var(--ol-subtle-background-color);\n}\n\n.ol-overviewmap-box {\n border: 1.5px dotted var(--ol-subtle-foreground-color);\n}\n\n.ol-overviewmap .ol-overviewmap-box:hover {\n cursor: move;\n}\n\n.ol-overviewmap .ol-viewport:hover {\n cursor: pointer;\n}\n',""]);const i=l},4662(n,o,e){e.d(o,{A:()=>v});var t=e(8112),r=e(1217),a=e(6702),l=e(503),i=e(2871),s=e(4294),c=e(1064),u=e(3402),d=e(5286),p=e(6391),m=e(4778),b=e(8217);class g extends b.Ay{constructor(n){super(),n=n||{},this.dataProjection=new d.A({code:"",units:"tile-pixels"}),this.featureClass=n.featureClass?n.featureClass:m.Ay,this.geometryName_=n.geometryName,this.layerName_=n.layerName?n.layerName:"layer",this.layers_=n.layers?n.layers:null,this.idProperty_=n.idProperty,this.supportedMediaTypes=["application/vnd.mapbox-vector-tile","application/x-protobuf"]}readRawGeometry_(n,o,e,t){n.pos=o.geometry;const r=n.readVarint()+n.pos;let a=1,l=0,i=0,s=0,c=0,u=0;for(;n.pos<r;){if(!l){const o=n.readVarint();a=7&o,l=o>>3}if(l--,1===a||2===a)i+=n.readSVarint(),s+=n.readSVarint(),1===a&&c>u&&(t.push(c),u=c),e.push(i,s),c+=2;else{if(7!==a)throw new Error("Invalid command found in the PBF");c>u&&(e.push(e[u],e[u+1]),c+=2)}}c>u&&(t.push(c),u=c)}createFeature_(n,o,e){const t=o.type;if(0===t)return null;let d;const p=o.properties;let g;this.idProperty_?(g=p[this.idProperty_],delete p[this.idProperty_]):g=o.id,p[this.layerName_]=o.layer.name;const h=[],x=[];this.readRawGeometry_(n,o,h,x);const f=function(n,o){let e;return 1===n?e=1===o?"Point":"MultiPoint":2===n?e=1===o?"LineString":"MultiLineString":3===n&&(e="Polygon"),e}(t,x.length);if(this.featureClass===m.Ay)d=new this.featureClass(f,h,x,2,p,g),d.transform(e.dataProjection);else{let n;if("Polygon"==f){const o=(0,u.yJ)(h,x);n=o.length>1?new i.A(h,"XY",o):new c.Ay(h,"XY",x)}else n="Point"===f?new s.A(h,"XY"):"LineString"===f?new r.A(h,"XY"):"MultiPoint"===f?new l.A(h,"XY"):"MultiLineString"===f?new a.A(h,"XY",x):null;d=new(0,this.featureClass),this.geometryName_&&d.setGeometryName(this.geometryName_);const o=(0,b.hX)(n,!1,e);d.setGeometry(o),void 0!==g&&d.setId(g),d.setProperties(p,!0)}return d}getType(){return"arraybuffer"}readFeatures(n,o){const e=this.layers_;o=this.adaptOptions(o);const r=(0,p.Jt)(o.dataProjection);r.setWorldExtent(o.extent),o.dataProjection=r;const a=new t.A(n),l=a.readFields(h,{}),i=[];for(const n in l){if(e&&!e.includes(n))continue;const t=l[n],s=t?[0,0,t.extent,t.extent]:null;r.setExtent(s);for(let n=0,e=t.length;n<e;++n){const e=y(a,t,n),r=this.createFeature_(a,e,o);null!==r&&i.push(r)}}return i}readProjection(n){return this.dataProjection}setLayers(n){this.layers_=n}}function h(n,o,e){if(3===n){const n={keys:[],values:[],features:[]},t=e.readVarint()+e.pos;e.readFields(x,n,t),n.length=n.features.length,n.length&&(o[n.name]=n)}}function x(n,o,e){if(15===n)o.version=e.readVarint();else if(1===n)o.name=e.readString();else if(5===n)o.extent=e.readVarint();else if(2===n)o.features.push(e.pos);else if(3===n)o.keys.push(e.readString());else if(4===n){let t=null;const r=e.readVarint()+e.pos;for(;e.pos<r;)t=1==(n=e.readVarint()>>3)?e.readString():2===n?e.readFloat():3===n?e.readDouble():4===n?e.readVarint64():5===n?e.readVarint():6===n?e.readSVarint():7===n?e.readBoolean():null;o.values.push(t)}}function f(n,o,e){if(1==n)o.id=e.readVarint();else if(2==n){const n=e.readVarint()+e.pos;for(;e.pos<n;){const n=o.layer.keys[e.readVarint()],t=o.layer.values[e.readVarint()];o.properties[n]=t}}else 3==n?o.type=e.readVarint():4==n&&(o.geometry=e.pos)}function y(n,o,e){n.pos=o.features[e];const t=n.readVarint()+n.pos,r={layer:o,type:0,properties:{}};return n.readFields(f,r,t),r}const v=g},5042(n,o,e){e.d(o,{A:()=>s});var t=e(7896),r=e(702);const a={stamen_terrain:{extension:"png"},stamen_terrain_background:{extension:"png"},stamen_terrain_labels:{extension:"png"},stamen_terrain_lines:{extension:"png"},stamen_toner_background:{extension:"png"},stamen_toner:{extension:"png"},stamen_toner_labels:{extension:"png"},stamen_toner_lines:{extension:"png"},stamen_toner_lite:{extension:"png"},stamen_toner_dark:{extension:"png"},stamen_toner_blacklite:{extension:"png"},stamen_watercolor:{extension:"jpg"},alidade_smooth:{extension:"png"},alidade_smooth_dark:{extension:"png"},alidade_satellite:{extension:"png"},outdoors:{extension:"png"},osm_bright:{extension:"png"}},l={stamen_terrain:{minZoom:0,maxZoom:18,retina:!0},stamen_toner:{minZoom:0,maxZoom:20,retina:!0},stamen_toner_dark:{minZoom:0,maxZoom:20,retina:!0},stamen_toner_blacklite:{minZoom:0,maxZoom:20,retina:!0},stamen_watercolor:{minZoom:1,maxZoom:18,retina:!1}};class i extends r.A{constructor(n){const o=n.layer.indexOf("-"),e=-1==o?n.layer:n.layer.slice(0,o),r=l[e]||{minZoom:0,maxZoom:20,retina:!0},i=a[n.layer],s=n.apiKey?"?api_key="+n.apiKey:"",c=r.retina&&n.retina?"@2x":"",u=void 0!==n.url?n.url:"https://tiles.stadiamaps.com/tiles/"+n.layer+"/{z}/{x}/{y}"+c+"."+i.extension+s,d=['&copy; <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a>','&copy; <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a>',t.o];n.layer.startsWith("stamen_")&&d.splice(1,0,'&copy; <a href="https://stamen.com/" target="_blank">Stamen Design</a>'),super({attributions:d,cacheSize:n.cacheSize,crossOrigin:"anonymous",interpolate:n.interpolate,maxZoom:void 0!==n.maxZoom?n.maxZoom:r.maxZoom,minZoom:void 0!==n.minZoom?n.minZoom:r.minZoom,reprojectionErrorThreshold:n.reprojectionErrorThreshold,tileLoadFunction:n.tileLoadFunction,transition:n.transition,url:u,tilePixelRatio:c?2:1,wrapX:n.wrapX,zDirection:n.zDirection})}}const s=i},5045(n,o,e){var t=e(5072),r=e.n(t),a=e(7825),l=e.n(a),i=e(7659),s=e.n(i),c=e(5056),u=e.n(c),d=e(540),p=e.n(d),m=e(1113),b=e.n(m),g=e(4096),h={};h.styleTagTransform=b(),h.setAttributes=u(),h.insert=s().bind(null,"head"),h.domAPI=l(),h.insertStyleElement=p(),r()(g.A,h),g.A&&g.A.locals&&g.A.locals},8217(n,o,e){e.d(o,{Ay:()=>g,Bs:()=>f,hX:()=>h,te:()=>y});var t=e(6717),r=e(3402),a=e(4338),l=e(1217),i=e(6702),s=e(503),c=e(2871),u=e(4294),d=e(1064),p=e(6391),m=e(4778),b=e(4087);const g=class{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=t.A,this.supportedMediaTypes=null}getReadOptions(n,o){if(o){let e=o.dataProjection?(0,p.Jt)(o.dataProjection):this.readProjection(n);o.extent&&e&&"tile-pixels"===e.getUnits()&&(e=(0,p.Jt)(e),e.setWorldExtent(o.extent)),o={dataProjection:e,featureProjection:o.featureProjection}}return this.adaptOptions(o)}adaptOptions(n){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection,featureClass:this.featureClass},n)}getType(){return(0,b.b0)()}readFeature(n,o){return(0,b.b0)()}readFeatures(n,o){return(0,b.b0)()}readGeometry(n,o){return(0,b.b0)()}readProjection(n){return(0,b.b0)()}writeFeature(n,o){return(0,b.b0)()}writeFeatures(n,o){return(0,b.b0)()}writeGeometry(n,o){return(0,b.b0)()}};function h(n,o,e){const t=e?(0,p.Jt)(e.featureProjection):null,r=e?(0,p.Jt)(e.dataProjection):null;let a=n;if(t&&r&&!(0,p.tI)(t,r)){o&&(a=n.clone());const e=o?t:r,l=o?r:t;"tile-pixels"===e.getUnits()?a.transform(e,l):a.applyTransform((0,p.RG)(e,l))}if(o&&e&&void 0!==e.decimals){const o=Math.pow(10,e.decimals),t=function(n){for(let e=0,t=n.length;e<t;++e)n[e]=Math.round(n[e]*o)/o;return n};a===n&&(a=n.clone()),a.applyTransform(t)}return a}const x={Point:u.A,LineString:l.A,Polygon:d.Ay,MultiPoint:s.A,MultiLineString:i.A,MultiPolygon:c.A};function f(n,o){const e=n.geometry;if(!e)return[];if(Array.isArray(e))return e.map((o=>f({...n,geometry:o}))).flat();const t="MultiPolygon"===e.type?"Polygon":e.type;if("GeometryCollection"===t||"Circle"===t)throw new Error("Unsupported geometry type: "+t);const a=e.layout.length;return h(new m.Ay(t,"Polygon"===t?function(n,o,e){return Array.isArray(o[0])?((0,r.mb)(n,0,o,e)||(n=n.slice(),(0,r.NK)(n,0,o,e)),n):((0,r.PA)(n,0,o,e)||(n=n.slice(),(0,r.ug)(n,0,o,e)),n)}(e.flatCoordinates,e.ends,a):e.flatCoordinates,e.ends?.flat(),a,n.properties||{},n.id).enableSimplifyTransformed(),!1,o)}function y(n,o){if(!n)return null;if(Array.isArray(n)){const e=n.map((n=>y(n,o)));return new a.A(e)}return h(new(0,x[n.type])(n.flatCoordinates,n.layout||"XY",n.ends),!1,o)}}}]);