solid-map-gl 1.1.27 → 1.1.28
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/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createComponent,insert,effect,classList,style,template}from"solid-js/web";import{useTransition,createSignal,createContext,useContext,createUniqueId,onMount,onCleanup,createEffect,on,untrack}from"solid-js";import mapboxgl from"mapbox-gl";const mapEvents=["onMouseDown","onMouseUp","onMouseOver","onMouseOut","onMouseMove","onMouseEnter","onMouseLeave","onPreClick","onClick","onDblClick","onContextMenu","onTouchStart","onTouchEnd","onTouchCancel","onWheel","onResize","onRemove","onTouchMove","onMoveStart","onMove","onMoveEnd","onDragStart","onDrag","onDragEnd","onZoomStart","onZoom","onZoomEnd","onRotateStart","onRotate","onRotatEnd","onPitchStart","onPitch","onPitchEnd","onBoxZoomStart","onBoxZoomEnd","onBoxZoomCancel","onWebglContextLost","onWebglContextRestored","onLoad","onRender","onIdle","onError","onData","onStyleData","onSourceData","onDataLoading","onStyleDataLoading","onSourceDataLoading","onStyleImageMissing"],layerEvents=["onMouseDown","onMouseUp","onMouseOver","onMouseOut","onMouseMove","onMouseEnter","onMouseLeave","onClick","onDblClick","onContextMenu","onTouchStart","onTouchEnd","onTouchCancel"],_tmpl$$2=template("<section><div></div></section>",4),[pending,start]=useTransition(),[transitionType,setTransitionType]=createSignal("flyTo"),MapContext=createContext(),useMap=()=>useContext(MapContext),MapGL=r=>{var e;let a,n,i,t=(r.id=r.id||createUniqueId(),onMount(()=>{var e;(a=new mapboxgl.Map({...r.options,style:(null==(e=r.options)?void 0:e.style)||{version:8,sources:{},layers:[]},container:n,interactive:!!r.onViewportChange,bounds:null==(e=r.viewport)?void 0:e.bounds,center:null==(e=r.viewport)?void 0:e.center,zoom:(null==(e=r.viewport)?void 0:e.zoom)||null,pitch:(null==(e=r.viewport)?void 0:e.pitch)||null,bearing:(null==(e=r.viewport)?void 0:e.bearing)||null,fitBoundsOptions:{padding:null==(e=r.viewport)?void 0:e.padding}})).container=i}),onCleanup(()=>a.remove()),createEffect(()=>mapEvents.forEach(t=>{if(r[t]){const e=t.slice(2).toLowerCase(),o=e=>r[t](e);a.on(e,o),onCleanup(()=>a.off(e,o))}})),createEffect(()=>a.showTileBoundaries=r.showTileBoundaries),createEffect(()=>a.showTerrainWireframe=r.showTerrainWireframe),createEffect(()=>a.showPadding=r.showPadding),createEffect(()=>a.showCollisionBoxes=r.showCollisionBoxes),createEffect(()=>a.showOverdrawInspector=r.showOverdrawInspector),createEffect(()=>a.getCanvas().style.cursor=r.cursorStyle),createEffect(on(()=>r.options.style,()=>{const o=a.getStyle(),t=o.layers.filter(e=>e.id.startsWith("cl-")),n=Object.keys(o.sources).filter(e=>e.startsWith("cl-")).reduce((e,t)=>({...e,[t]:o.sources[t]}),{});a.setStyle(r.options.style),a.once("styledata",()=>{var e=a.getStyle();a.setStyle({...e,sources:{...e.sources,...n},layers:[...e.layers,...t]})})},{defer:!0})),createEffect(on(()=>r.options.projection,()=>a.setProjection(r.options.projection),{defer:!0})),createEffect(()=>setTransitionType(r.transitionType)),createEffect(()=>{var e;const t={id:null,center:a.getCenter(),zoom:a.getZoom(),pitch:a.getPitch(),bearing:a.getBearing(),padding:null==(e=r.viewport)?void 0:e.padding,bounds:null==(e=r.viewport)?void 0:e.bounds},o=e=>{e.originalEvent&&r.onViewportChange({...t,id:r.id}),setTransitionType("jumpTo")},n=e=>{e.originalEvent&&r.onViewportChange(t),setTransitionType(r.transitionType)};a.on("move",o).on("moveend",n),onCleanup(()=>a.off("move",o).off("moveend",n))}),createEffect(e=>{var t;return(null==(t=r.viewport)?void 0:t.bounds)!=e&&r.onViewportChange({...r.viewport,...a.cameraForBounds(null==(t=r.viewport)?void 0:t.bounds,{padding:null==(e=r.viewport)?void 0:e.padding})}),null==(t=r.viewport)?void 0:t.bounds},null==(e=r.viewport)?void 0:e.bounds),createEffect(()=>{var e;if(r.id!==(null==(e=r.viewport)?void 0:e.id)){var t={...r.viewport,padding:(null==(e=r.viewport)?void 0:e.padding)||0};switch(untrack(transitionType)){case"easeTo":a.stop().easeTo(t);case"jumpTo":a.stop().jumpTo(t);default:a.stop().flyTo(t)}}}),0);return createEffect(()=>{r.triggerResize&&(t=0,window.requestAnimationFrame(function e(){t<15&&(t++,window.requestAnimationFrame(e),start(()=>a.resize()))}))}),createComponent(MapContext.Provider,{value:()=>a,get children(){const e=_tmpl$$2.cloneNode(!0),a=e.firstChild,t=i,o=("function"==typeof t?t(e):i=e,e.style.setProperty("height","100%"),e.style.setProperty("width","100%"),insert(e,()=>r.children,a),n);return"function"==typeof o?o(a):n=a,effect(e=>{var t=r.class||"",o=r.classList,n={height:"100%",width:"100%",...r.style};return t!==e._v$&&(a.className=e._v$=t),e._v$2=classList(a,o,e._v$2),e._v$3=style(a,n,e._v$3),e},{_v$:void 0,_v$2:void 0,_v$3:void 0}),e}})},SourceContext=createContext(),useSource=()=>useContext(SourceContext),SourceComponent=t=>{const o=useMap();return t.id=t.id||createUniqueId(),onMount(async()=>{o().isStyleLoaded()||await o().once("styledata"),o().getSource(t.id)||o().addSource(t.id,t.source)}),onCleanup(()=>{o().getStyle().layers.forEach(e=>e.source===t.id&&o().removeLayer(e.id)),o().getSource(t.id)&&o().removeSource(t.id)}),createEffect(async()=>{("geojson"===t.source.type||t.source.data)&&o().style&&o().getSource(t.id)&&o().getSource(t.id).setData(t.source.data)}),createComponent(SourceContext.Provider,{get value(){return{id:t.id}},get children(){return t.children}})},diff=(n={},a={})=>{return[...new Set([...Object.keys(n),...Object.keys(a)])].reduce((e,t)=>{var o=n[t];return o!==a[t]&&e.push([t,o]),e},[])},Layer=n=>{const a=useMap(),t=useSource();return n.id=n.id||createUniqueId(),onMount(async()=>{a().isStyleLoaded()||await a().once("styledata"),a().getLayer(n.id)||a().addLayer(n.layer||{...n.style,id:n.id,source:t.id,metadata:{smg:{beforeType:n.beforeType,beforeId:n.beforeId}}},n.beforeType?a().getStyle().layers.find(e=>e.type===n.beforeType).id:n.beforeId)}),onCleanup(()=>a().removeLayer(n.id)),createEffect(()=>layerEvents.forEach(t=>{if(n[t]){const e=t.slice(2).toLowerCase(),o=e=>n[t](e);a().on(e,n.id,o),onCleanup(()=>a().off(e,n.id,o))}})),createEffect(e=>{if(n.style&&a().style&&a().getSource(t.id)&&a().getLayer(n.id))return n.style.layout!==(null==e?void 0:e.layout)&&diff(n.style.layout,null==e?void 0:e.layout).forEach(([e,t])=>a().setLayoutProperty(n.id,e,t,{validate:!1})),n.style.paint!==(null==e?void 0:e.paint)&&diff(n.style.paint,null==e?void 0:e.paint).forEach(([e,t])=>a().setPaintProperty(n.id,e,t,{validate:!1})),n.style.minzoom===(null==e?void 0:e.minzoom)&&n.style.maxzoom===(null==e?void 0:e.maxzoom)||a().setLayerZoomRange(n.id,n.style.minzoom,n.style.maxzoom),n.style.filter!==(null==e?void 0:e.filter)&&a().setFilter(n.id,n.style.filter,{validate:!1}),n.style},n.style),createEffect(e=>{if(void 0!==n.visible&&n.visible!==e&&a().getSource(t.id)&&a().getLayer(n.id))return a().setLayoutProperty(n.id,"visibility",n.visible?"visible":"none",{validate:!1}),n.visible},n.visible),createEffect(async()=>{n.filter&&(a().isStyleLoaded()||await a().once("styledata"),a().setFilter(n.id,n.filter))}),createEffect(async()=>{n.featureState&&n.featureState.id&&(a().isStyleLoaded()||await a().once("styledata"),a().removeFeatureState({source:t.id,sourceLayer:n.style["source-layer"]}),a().setFeatureState({source:t.id,sourceLayer:n.style["source-layer"],id:n.featureState.id},n.featureState.state))}),n.children},Fog=e=>{const t=useMap();return onMount(async()=>{t().isStyleLoaded()||await t().once("styledata"),t().setFog(e.style)}),onCleanup(()=>t().setFog(null)),createEffect(async()=>{void 0!==e.visible&&(t().isStyleLoaded()||await t().once("styledata"),t().setFog(e.visible?e.style:null))}),e.children},Sky=e=>{const t=useMap(),o="_sky";return onMount(async()=>{t().isStyleLoaded()||await t().once("styledata"),t().getLayer(o)||t().addLayer({...e.style,id:o})}),onCleanup(()=>t().getLayer(o)&&t().removeLayer(o)),createEffect(async()=>{void 0!==e.visible&&(t().isStyleLoaded()||await t().once("styledata"),t().setLayoutProperty(o,"visibility",e.visible?"visible":"none"))}),e.children},Terrain=e=>{const t=useMap(),o=useSource();return onMount(async()=>{t().isStyleLoaded()||await t().once("styledata"),t().setTerrain({...e.style,source:o.id})}),onCleanup(()=>t().setTerrain(null)),createEffect(async()=>{void 0!==e.visible&&(t().isStyleLoaded()||await t().once("styledata"),t().setTerrain(e.visible?e.style:null))}),e.children},Control=o=>{const n=useMap(),[e,t]=createSignal(null);return onMount(()=>{var e=((e,t)=>{if(o.custom)return new o.custom(t);switch(e){case"navigation":return new mapboxgl.NavigationControl(t);case"scale":return new mapboxgl.ScaleControl(t);case"attribution":return new mapboxgl.AttributionControl(t);case"geolocate":return new mapboxgl.GeolocateControl(t);case"fullscreen":return new mapboxgl.FullscreenControl(t||{container:n().container});default:throw new Error("Unknown control type: "+e)}})(o.type,o.options);e&&n().addControl(e,o.position),t(e)}),onCleanup(()=>n().removeControl(e())),o.children},_tmpl$$1=template("<div></div>",2),Marker=t=>{const o=useMap();let n=null;return onMount(async()=>{var e;n=new mapboxgl.Marker(t.options).setLngLat(t.lnglat).setPopup(t.children?(new mapboxgl.Popup).setDOMContent((e=_tmpl$$1.cloneNode(!0),insert(e,()=>t.children),e)):null).addTo(o())}),onCleanup(()=>n.remove()),createEffect(()=>n.setLngLat(t.lnglat)),[]},_tmpl$=template("<div></div>",2),Popup=t=>{const o=useMap();let n=null;return onMount(async()=>{var e;n=new mapboxgl.Popup(t.options).setLngLat(t.lnglat).setDOMContent((e=_tmpl$.cloneNode(!0),insert(e,()=>t.children),e)).addTo(o())}),onCleanup(()=>n.remove()),createEffect(()=>n.setLngLat(t.lnglat)),createEffect(()=>n.setDOMContent((()=>{var e=_tmpl$.cloneNode(!0);return insert(e,()=>t.children),e})())),[]},Image=o=>{const n=useMap();return onMount(async()=>{n().isStyleLoaded()||await n().once("styledata"),o.url?n().loadImage(o.url,(e,t)=>{if(e)throw e;n().hasImage(o.id)||n().addImage(o.id,t)}):n().hasImage(o.id)||n().addImage(o.id,o.image,o.options)}),onCleanup(()=>n().hasImage(o.id)&&n().removeImage(o.id)),createEffect(async()=>{o.image&&o.url||(o.url?n().loadImage(o.url,(e,t)=>{if(e)throw e;n().hasImage(o.id)||n().updateImage(o.id,t)}):n().style&&n().hasImage(o.id)&&n().updateImage(o.id,o.image))}),[]};export{Control,Fog,Image,Layer,Marker,Popup,Sky,SourceComponent as Source,Terrain,MapGL as default,useMap};
|
|
1
|
+
import{createComponent,insert,effect,classList,style,template}from"solid-js/web";import{useTransition,createSignal,createContext,useContext,createUniqueId,onMount,onCleanup,createEffect,on,untrack}from"solid-js";import mapboxgl from"mapbox-gl";const mapEvents=["onMouseDown","onMouseUp","onMouseOver","onMouseOut","onMouseMove","onMouseEnter","onMouseLeave","onPreClick","onClick","onDblClick","onContextMenu","onTouchStart","onTouchEnd","onTouchCancel","onWheel","onResize","onRemove","onTouchMove","onMoveStart","onMove","onMoveEnd","onDragStart","onDrag","onDragEnd","onZoomStart","onZoom","onZoomEnd","onRotateStart","onRotate","onRotatEnd","onPitchStart","onPitch","onPitchEnd","onBoxZoomStart","onBoxZoomEnd","onBoxZoomCancel","onWebglContextLost","onWebglContextRestored","onLoad","onRender","onIdle","onError","onData","onStyleData","onSourceData","onDataLoading","onStyleDataLoading","onSourceDataLoading","onStyleImageMissing"],layerEvents=["onMouseDown","onMouseUp","onMouseOver","onMouseOut","onMouseMove","onMouseEnter","onMouseLeave","onClick","onDblClick","onContextMenu","onTouchStart","onTouchEnd","onTouchCancel"],_tmpl$$2=template("<section></section>",2),_tmpl$2=template("<div></div>",2),[pending,start]=useTransition(),[transitionType,setTransitionType]=createSignal("flyTo"),MapContext=createContext(),useMap=()=>useContext(MapContext),MapGL=r=>{var e;let a,t,o,n=(r.id=r.id||createUniqueId(),onMount(()=>{var e;(a=new mapboxgl.Map({...r.options,style:(null==(e=r.options)?void 0:e.style)||{version:8,sources:{},layers:[]},container:t,interactive:!!r.onViewportChange,bounds:null==(e=r.viewport)?void 0:e.bounds,center:null==(e=r.viewport)?void 0:e.center,zoom:(null==(e=r.viewport)?void 0:e.zoom)||null,pitch:(null==(e=r.viewport)?void 0:e.pitch)||null,bearing:(null==(e=r.viewport)?void 0:e.bearing)||null,fitBoundsOptions:{padding:null==(e=r.viewport)?void 0:e.padding}})).container=o}),onCleanup(()=>a.remove()),createEffect(()=>mapEvents.forEach(t=>{if(r[t]){const e=t.slice(2).toLowerCase(),o=e=>r[t](e);a.on(e,o),onCleanup(()=>a.off(e,o))}})),createEffect(()=>a.showTileBoundaries=r.showTileBoundaries),createEffect(()=>a.showTerrainWireframe=r.showTerrainWireframe),createEffect(()=>a.showPadding=r.showPadding),createEffect(()=>a.showCollisionBoxes=r.showCollisionBoxes),createEffect(()=>a.showOverdrawInspector=r.showOverdrawInspector),createEffect(()=>a.getCanvas().style.cursor=r.cursorStyle),createEffect(on(()=>r.options.style,()=>{const o=a.getStyle(),t=o.layers.filter(e=>e.id.startsWith("cl-")),n=Object.keys(o.sources).filter(e=>e.startsWith("cl-")).reduce((e,t)=>({...e,[t]:o.sources[t]}),{});a.setStyle(r.options.style),a.once("styledata",()=>{var e=a.getStyle();a.setStyle({...e,sources:{...e.sources,...n},layers:[...e.layers,...t]})})},{defer:!0})),createEffect(on(()=>r.options.projection,()=>a.setProjection(r.options.projection),{defer:!0})),createEffect(()=>setTransitionType(r.transitionType)),createEffect(()=>{var e;const t={id:null,center:a.getCenter(),zoom:a.getZoom(),pitch:a.getPitch(),bearing:a.getBearing(),padding:null==(e=r.viewport)?void 0:e.padding,bounds:null==(e=r.viewport)?void 0:e.bounds},o=e=>{e.originalEvent&&r.onViewportChange&&r.onViewportChange({...t,id:r.id}),setTransitionType("jumpTo")},n=e=>{e.originalEvent&&r.onViewportChange&&r.onViewportChange(t),setTransitionType(r.transitionType)};a.on("move",o).on("moveend",n),onCleanup(()=>a.off("move",o).off("moveend",n))}),createEffect(e=>{var t;return(null==(t=r.viewport)?void 0:t.bounds)!=e&&r.onViewportChange({...r.viewport,...a.cameraForBounds(null==(t=r.viewport)?void 0:t.bounds,{padding:null==(e=r.viewport)?void 0:e.padding})}),null==(t=r.viewport)?void 0:t.bounds},null==(e=r.viewport)?void 0:e.bounds),createEffect(()=>{var e;if(r.id!==(null==(e=r.viewport)?void 0:e.id)){var t={...r.viewport,padding:(null==(e=r.viewport)?void 0:e.padding)||0};switch(untrack(transitionType)){case"easeTo":a.stop().easeTo(t);case"jumpTo":a.stop().jumpTo(t);default:a.stop().flyTo(t)}}}),0);return createEffect(()=>{r.triggerResize&&(n=0,window.requestAnimationFrame(function e(){n<15&&(n++,window.requestAnimationFrame(e),start(()=>a.resize()))}))}),createComponent(MapContext.Provider,{value:()=>a,get children(){return[(()=>{const e=_tmpl$$2.cloneNode(!0),t=o;return"function"==typeof t?t(e):o=e,e.style.setProperty("position","absolute"),e.style.setProperty("z-index","1"),insert(e,()=>r.children),e})(),(()=>{const a=_tmpl$2.cloneNode(!0),e=t;return"function"==typeof e?e(a):t=a,effect(e=>{var t=r.class||"",o=r.classList,n={height:"100%",width:"100%",...r.style};return t!==e._v$&&(a.className=e._v$=t),e._v$2=classList(a,o,e._v$2),e._v$3=style(a,n,e._v$3),e},{_v$:void 0,_v$2:void 0,_v$3:void 0}),a})()]}})},SourceContext=createContext(),useSource=()=>useContext(SourceContext),SourceComponent=t=>{const o=useMap();return t.id=t.id||createUniqueId(),onMount(async()=>{o().isStyleLoaded()||await o().once("styledata"),o().getSource(t.id)||o().addSource(t.id,t.source)}),onCleanup(()=>{o().getStyle().layers.forEach(e=>e.source===t.id&&o().removeLayer(e.id)),o().getSource(t.id)&&o().removeSource(t.id)}),createEffect(async()=>{("geojson"===t.source.type||t.source.data)&&o().style&&o().getSource(t.id)&&o().getSource(t.id).setData(t.source.data)}),createComponent(SourceContext.Provider,{get value(){return{id:t.id}},get children(){return t.children}})},diff=(n={},a={})=>{return[...new Set([...Object.keys(n),...Object.keys(a)])].reduce((e,t)=>{var o=n[t];return o!==a[t]&&e.push([t,o]),e},[])},Layer=n=>{const a=useMap(),t=useSource();return n.id=n.id||createUniqueId(),onMount(async()=>{a().isStyleLoaded()||await a().once("styledata"),a().getLayer(n.id)||a().addLayer(n.customLayer||{...n.style,id:n.id,source:t.id,metadata:{smg:{beforeType:n.beforeType,beforeId:n.beforeId}}},n.beforeType?a().getStyle().layers.find(e=>e.type===n.beforeType).id:n.beforeId)}),onCleanup(()=>a().removeLayer(n.id)),createEffect(()=>layerEvents.forEach(t=>{if(n[t]){const e=t.slice(2).toLowerCase(),o=e=>n[t](e);a().on(e,n.id,o),onCleanup(()=>a().off(e,n.id,o))}})),createEffect(e=>{if(n.style&&a().style&&a().getSource(t.id)&&a().getLayer(n.id))return n.style.layout!==(null==e?void 0:e.layout)&&diff(n.style.layout,null==e?void 0:e.layout).forEach(([e,t])=>a().setLayoutProperty(n.id,e,t,{validate:!1})),n.style.paint!==(null==e?void 0:e.paint)&&diff(n.style.paint,null==e?void 0:e.paint).forEach(([e,t])=>a().setPaintProperty(n.id,e,t,{validate:!1})),n.style.minzoom===(null==e?void 0:e.minzoom)&&n.style.maxzoom===(null==e?void 0:e.maxzoom)||a().setLayerZoomRange(n.id,n.style.minzoom,n.style.maxzoom),n.style.filter!==(null==e?void 0:e.filter)&&a().setFilter(n.id,n.style.filter,{validate:!1}),n.style},n.style),createEffect(e=>{if(void 0!==n.visible&&n.visible!==e&&a().getSource(t.id)&&a().getLayer(n.id))return a().setLayoutProperty(n.id,"visibility",n.visible?"visible":"none",{validate:!1}),n.visible},n.visible),createEffect(async()=>{n.filter&&(a().isStyleLoaded()||await a().once("styledata"),a().setFilter(n.id,n.filter))}),createEffect(async()=>{n.featureState&&n.featureState.id&&(a().isStyleLoaded()||await a().once("styledata"),a().removeFeatureState({source:t.id,sourceLayer:n.style["source-layer"]}),a().setFeatureState({source:t.id,sourceLayer:n.style["source-layer"],id:n.featureState.id},n.featureState.state))}),n.children},Fog=e=>{const t=useMap();return onMount(async()=>{t().isStyleLoaded()||await t().once("styledata"),t().setFog(e.style)}),onCleanup(()=>t().setFog(null)),createEffect(async()=>{void 0!==e.visible&&(t().isStyleLoaded()||await t().once("styledata"),t().setFog(e.visible?e.style:null))}),e.children},Sky=e=>{const t=useMap(),o="_sky";return onMount(async()=>{t().isStyleLoaded()||await t().once("styledata"),t().getLayer(o)||t().addLayer({...e.style,id:o})}),onCleanup(()=>t().getLayer(o)&&t().removeLayer(o)),createEffect(async()=>{void 0!==e.visible&&(t().isStyleLoaded()||await t().once("styledata"),t().setLayoutProperty(o,"visibility",e.visible?"visible":"none"))}),e.children},Terrain=e=>{const t=useMap(),o=useSource();return onMount(async()=>{t().isStyleLoaded()||await t().once("styledata"),t().setTerrain({...e.style,source:o.id})}),onCleanup(()=>t().setTerrain(null)),createEffect(async()=>{void 0!==e.visible&&(t().isStyleLoaded()||await t().once("styledata"),t().setTerrain(e.visible?e.style:null))}),e.children},Control=o=>{const n=useMap(),[e,t]=createSignal(null);return onMount(()=>{var e=((e,t)=>{if(o.custom)return new o.custom(t);switch(e){case"navigation":return new mapboxgl.NavigationControl(t);case"scale":return new mapboxgl.ScaleControl(t);case"attribution":return new mapboxgl.AttributionControl(t);case"geolocate":return new mapboxgl.GeolocateControl(t);case"fullscreen":return new mapboxgl.FullscreenControl(t||{container:n().container});default:throw new Error("Unknown control type: "+e)}})(o.type,o.options);e&&n().addControl(e,o.position),t(e)}),onCleanup(()=>n().removeControl(e())),o.children},_tmpl$$1=template("<div></div>",2),Marker=t=>{const o=useMap();let n=null;return onMount(async()=>{var e;n=new mapboxgl.Marker(t.options).setLngLat(t.lnglat).setPopup(t.children?(new mapboxgl.Popup).setDOMContent((e=_tmpl$$1.cloneNode(!0),insert(e,()=>t.children),e)):null).addTo(o())}),onCleanup(()=>n.remove()),createEffect(()=>n.setLngLat(t.lnglat)),[]},_tmpl$=template("<div></div>",2),Popup=t=>{const o=useMap();let n=null;return onMount(async()=>{var e;n=new mapboxgl.Popup(t.options).setLngLat(t.lnglat).setDOMContent((e=_tmpl$.cloneNode(!0),insert(e,()=>t.children),e)).addTo(o())}),onCleanup(()=>n.remove()),createEffect(()=>n.setLngLat(t.lnglat)),createEffect(()=>n.setDOMContent((()=>{var e=_tmpl$.cloneNode(!0);return insert(e,()=>t.children),e})())),[]},Image=o=>{const n=useMap();return onMount(async()=>{n().isStyleLoaded()||await n().once("styledata"),o.url?n().loadImage(o.url,(e,t)=>{if(e)throw e;n().hasImage(o.id)||n().addImage(o.id,t)}):n().hasImage(o.id)||n().addImage(o.id,o.image,o.options)}),onCleanup(()=>n().hasImage(o.id)&&n().removeImage(o.id)),createEffect(async()=>{o.image&&o.url||(o.url?n().loadImage(o.url,(e,t)=>{if(e)throw e;n().hasImage(o.id)||n().updateImage(o.id,t)}):n().style&&n().hasImage(o.id)&&n().updateImage(o.id,o.image))}),[]};export{Control,Fog,Image,Layer,Marker,Popup,Sky,SourceComponent as Source,Terrain,MapGL as default,useMap};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/events.ts","../../src/components/MapGL/index.tsx","../../src/components/Source/index.tsx","../../src/components/Layer/index.tsx","../../src/components/Fog/index.tsx","../../src/components/Sky/index.tsx","../../src/components/Terrain/index.tsx","../../src/components/Control/index.tsx","../../src/components/Marker/index.tsx","../../src/components/Popup/index.tsx","../../src/components/Image/index.tsx"],"sourcesContent":["const mapEvents: string[] = [\n 'onMouseDown',\n 'onMouseUp',\n 'onMouseOver',\n 'onMouseOut',\n 'onMouseMove',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onPreClick',\n 'onClick',\n 'onDblClick',\n 'onContextMenu',\n 'onTouchStart',\n 'onTouchEnd',\n 'onTouchCancel',\n 'onWheel',\n 'onResize',\n 'onRemove',\n 'onTouchMove',\n 'onMoveStart',\n 'onMove',\n 'onMoveEnd',\n 'onDragStart',\n 'onDrag',\n 'onDragEnd',\n 'onZoomStart',\n 'onZoom',\n 'onZoomEnd',\n 'onRotateStart',\n 'onRotate',\n 'onRotatEnd',\n 'onPitchStart',\n 'onPitch',\n 'onPitchEnd',\n 'onBoxZoomStart',\n 'onBoxZoomEnd',\n 'onBoxZoomCancel',\n 'onWebglContextLost',\n 'onWebglContextRestored',\n 'onLoad',\n 'onRender',\n 'onIdle',\n 'onError',\n 'onData',\n 'onStyleData',\n 'onSourceData',\n 'onDataLoading',\n 'onStyleDataLoading',\n 'onSourceDataLoading',\n 'onStyleImageMissing',\n]\n\nconst layerEvents: string[] = [\n 'onMouseDown',\n 'onMouseUp',\n 'onMouseOver',\n 'onMouseOut',\n 'onMouseMove',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onClick',\n 'onDblClick',\n 'onContextMenu',\n 'onTouchStart',\n 'onTouchEnd',\n 'onTouchCancel',\n]\n\nexport { mapEvents, layerEvents }\n","import {\n createSignal,\n createEffect,\n onMount,\n onCleanup,\n createContext,\n useContext,\n Component,\n useTransition,\n createUniqueId,\n untrack,\n on,\n} from 'solid-js'\nimport { mapEvents } from '../../events'\nimport mapboxgl from 'mapbox-gl'\nimport 'mapbox-gl/dist/mapbox-gl.css'\nimport type { MapboxMap, MapboxOptions } from 'mapbox-gl/src/ui/map'\nimport type { LngLatLike } from 'mapbox-gl/src/geo/lng_lat.js'\nimport type { LngLatBounds } from 'mapbox-gl/src/geo/lng_lat_bounds.js'\nimport type { PaddingOptions } from 'mapbox-gl/src/geo/edge_insets.js'\nimport type { JSX } from 'solid-js'\n\nexport type Viewport = {\n id?: string\n center?: LngLatLike\n bounds?: LngLatBounds\n zoom?: number\n pitch?: number\n bearing?: number\n padding?: PaddingOptions\n}\n\nconst [pending, start] = useTransition()\nconst [transitionType, setTransitionType] = createSignal('flyTo')\n\nconst MapContext = createContext<MapboxMap>()\nconst useMap = () => useContext(MapContext)\n\nconst MapGL: Component<{\n id?: string\n style?: JSX.CSSProperties\n class?: string\n classList?: {\n [k: string]: boolean | undefined\n }\n viewport?: Viewport\n options?: MapboxOptions\n children?: Element | Element[]\n triggerResize?: boolean\n transitionType?: 'flyTo' | 'easeTo' | 'jumpTo'\n onViewportChange?: (viewport: Viewport) => void\n showTileBoundaries?: boolean\n showTerrainWireframe?: boolean\n showPadding?: boolean\n showCollisionBoxes?: boolean\n showOverdrawInspector?: boolean\n repaint?: boolean\n cursorStyle?: string\n ref?: HTMLDivElement\n}> = props => {\n let map: MapboxMap\n let mapRef: HTMLDivElement\n let containerRef: HTMLElement\n props.id = props.id || createUniqueId()\n\n onMount(() => {\n map = new mapboxgl.Map({\n ...props.options,\n style: props.options?.style || { version: 8, sources: {}, layers: [] },\n container: mapRef,\n interactive: !!props.onViewportChange,\n bounds: props.viewport?.bounds,\n center: props.viewport?.center,\n zoom: props.viewport?.zoom || null,\n pitch: props.viewport?.pitch || null,\n bearing: props.viewport?.bearing || null,\n fitBoundsOptions: { padding: props.viewport?.padding },\n } as MapboxOptions)\n\n map.container = containerRef\n })\n\n onCleanup(() => map.remove())\n\n // Hook up events\n createEffect(() =>\n mapEvents.forEach(item => {\n if (props[item]) {\n const event = item.slice(2).toLowerCase()\n const callback = e => props[item](e)\n map.on(event, callback)\n onCleanup(() => map.off(event, callback))\n }\n })\n )\n\n // Update debug features\n createEffect(() => (map.showTileBoundaries = props.showTileBoundaries))\n createEffect(() => (map.showTerrainWireframe = props.showTerrainWireframe))\n createEffect(() => (map.showPadding = props.showPadding))\n createEffect(() => (map.showCollisionBoxes = props.showCollisionBoxes))\n createEffect(() => (map.showOverdrawInspector = props.showOverdrawInspector))\n createEffect(() => (map.getCanvas().style.cursor = props.cursorStyle))\n\n // Update map style\n createEffect(\n on(\n () => props.options.style,\n () => {\n const oldStyle = map.getStyle()\n const oldLayers = oldStyle.layers.filter(l => l.id.startsWith('cl-'))\n const oldSources = Object.keys(oldStyle.sources)\n .filter(s => s.startsWith('cl-'))\n .reduce((obj, key) => ({ ...obj, [key]: oldStyle.sources[key] }), {})\n map.setStyle(props.options.style)\n map.once('styledata', () => {\n const newStyle = map.getStyle()\n map.setStyle({\n ...newStyle,\n sources: { ...newStyle.sources, ...oldSources },\n layers: [...newStyle.layers, ...oldLayers],\n })\n })\n },\n { defer: true }\n )\n )\n\n // Update projection\n createEffect(\n on(\n () => props.options.projection,\n () => map.setProjection(props.options.projection),\n { defer: true }\n )\n )\n\n createEffect(() => setTransitionType(props.transitionType))\n\n // Hook up viewport events\n createEffect(() => {\n const viewport = {\n id: null,\n center: map.getCenter(),\n zoom: map.getZoom(),\n pitch: map.getPitch(),\n bearing: map.getBearing(),\n padding: props.viewport?.padding,\n bounds: props.viewport?.bounds,\n }\n\n const callMove = event => {\n if (event.originalEvent)\n props.onViewportChange({ ...viewport, id: props.id })\n setTransitionType('jumpTo')\n }\n\n const callEnd = event => {\n if (event.originalEvent) props.onViewportChange(viewport)\n setTransitionType(props.transitionType)\n }\n\n map.on('move', callMove).on('moveend', callEnd)\n onCleanup(() => map.off('move', callMove).off('moveend', callEnd))\n })\n\n // Update boundaries\n createEffect(prev => {\n if (props.viewport?.bounds != prev)\n props.onViewportChange({\n ...props.viewport,\n ...map.cameraForBounds(props.viewport?.bounds, {\n padding: props.viewport?.padding,\n }),\n })\n return props.viewport?.bounds\n }, props.viewport?.bounds)\n\n // Update Viewport\n createEffect(() => {\n if (props.id === props.viewport?.id) return\n const viewport = {\n ...props.viewport,\n padding: props.viewport?.padding || 0,\n }\n switch (untrack(transitionType)) {\n case 'easeTo':\n map.stop().easeTo(viewport)\n case 'jumpTo':\n map.stop().jumpTo(viewport)\n default:\n map.stop().flyTo(viewport)\n }\n })\n\n let index = 0\n\n createEffect(() => {\n if (props.triggerResize) {\n index = 0\n window.requestAnimationFrame(function loop() {\n if (index < 15) {\n index++\n window.requestAnimationFrame(loop)\n start(() => map.resize())\n }\n })\n }\n })\n\n return (\n <MapContext.Provider value={() => map}>\n <section ref={containerRef} style={{ height: '100%', width: '100%' }}>\n {props.children}\n <div\n ref={mapRef}\n class={props.class || ''}\n classList={props.classList}\n style={{ height: '100%', width: '100%', ...props.style }}\n />\n </section>\n </MapContext.Provider>\n )\n}\n\nexport { MapGL as default, useMap }\n","import {\n onMount,\n onCleanup,\n createEffect,\n Component,\n createContext,\n useContext,\n createUniqueId,\n} from 'solid-js'\nimport { useMap } from '../MapGL'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type {\n Source,\n SourceSpecification,\n} from 'mapbox-gl/src/style-spec/types.js'\n\nconst SourceContext = createContext<Source>()\n\nconst useSource = (): Source => useContext(SourceContext)\n\nconst SourceComponent: Component<{\n id?: string\n source: SourceSpecification\n}> = props => {\n const map: MapboxMap = useMap()\n props.id = props.id || createUniqueId()\n // Add Source\n onMount(async () => {\n !map().isStyleLoaded() && (await map().once('styledata'))\n !map().getSource(props.id) && map().addSource(props.id, props.source)\n })\n\n // Remove Source\n onCleanup(() => {\n map()\n .getStyle()\n .layers.forEach(\n layer => layer.source === props.id && map().removeLayer(layer.id)\n )\n map().getSource(props.id) && map().removeSource(props.id)\n })\n\n // Update GeoJSON Data\n createEffect(async () => {\n if (props.source.type !== 'geojson' && !props.source.data) return\n\n map().style &&\n map().getSource(props.id) &&\n map().getSource(props.id).setData(props.source.data)\n })\n\n return (\n <SourceContext.Provider value={{ id: props.id }}>\n {props.children}\n </SourceContext.Provider>\n )\n}\n\nexport { SourceComponent as default, useSource }\n","import {\n onMount,\n onCleanup,\n createEffect,\n Component,\n createUniqueId,\n} from 'solid-js'\nimport { useMap } from '../MapGL'\nimport { useSource } from '../Source'\nimport { layerEvents } from '../../events'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type {\n FilterSpecification,\n StyleSpecification,\n SourceSpecification,\n} from 'mapbox-gl/src/style-spec/types.js'\nimport type { CustomLayerInterface } from 'mapbox-gl/src/style/style_layer/custom_style_layer'\n\nconst diff = (\n newProps: StyleSpecification = {},\n prevProps: StyleSpecification = {}\n) => {\n const keys = new Set([...Object.keys(newProps), ...Object.keys(prevProps)])\n return [...keys].reduce((acc, key: string) => {\n const value = newProps[key]\n if (value !== prevProps[key]) {\n acc.push([key, value])\n }\n return acc\n }, [])\n}\n\nconst Layer: Component<{\n id?: string\n style?: StyleSpecification\n layer?: CustomLayerInterface\n filter?: FilterSpecification\n visible?: boolean\n sourceId?: string\n beforeType?:\n | 'background'\n | 'fill'\n | 'line'\n | 'symbol'\n | 'raster'\n | 'circle'\n | 'fill-extrusion'\n | 'heatmap'\n | 'hillshade'\n | 'sky'\n beforeId?: string\n featureState?: { id: number | string; state: object }\n}> = props => {\n const map: MapboxMap = useMap()\n const source: SourceSpecification = useSource()\n props.id = props.id || createUniqueId()\n // Add Layer\n onMount(async () => {\n !map().isStyleLoaded() && (await map().once('styledata'))\n\n if (map().getLayer(props.id)) return\n\n map().addLayer(\n props.layer || {\n ...props.style,\n id: props.id,\n source: source.id,\n metadata: {\n smg: { beforeType: props.beforeType, beforeId: props.beforeId },\n },\n },\n props.beforeType\n ? map()\n .getStyle()\n .layers.find(l => l.type === props.beforeType).id\n : props.beforeId\n )\n })\n\n onCleanup(() => map().removeLayer(props.id))\n\n // Hook up events\n createEffect(() =>\n layerEvents.forEach(item => {\n if (props[item]) {\n const event = item.slice(2).toLowerCase()\n const callback = e => props[item](e)\n map().on(event, props.id, callback)\n onCleanup(() => map().off(event, props.id, callback))\n }\n })\n )\n\n // Update Style\n createEffect((prev: StyleSpecification) => {\n if (\n !props.style ||\n !map().style ||\n !map().getSource(source.id) ||\n !map().getLayer(props.id)\n )\n return\n\n if (props.style.layout !== prev?.layout)\n diff(props.style.layout, prev?.layout).forEach(([key, value]) =>\n map().setLayoutProperty(props.id, key, value, { validate: false })\n )\n\n if (props.style.paint !== prev?.paint)\n diff(props.style.paint, prev?.paint).forEach(([key, value]) =>\n map().setPaintProperty(props.id, key, value, { validate: false })\n )\n\n if (\n props.style.minzoom !== prev?.minzoom ||\n props.style.maxzoom !== prev?.maxzoom\n )\n map().setLayerZoomRange(\n props.id,\n props.style.minzoom,\n props.style.maxzoom\n )\n\n if (props.style.filter !== prev?.filter)\n map().setFilter(props.id, props.style.filter, { validate: false })\n\n return props.style\n }, props.style)\n\n // Update Visibility\n createEffect((prev: boolean) => {\n if (\n props.visible === undefined ||\n props.visible === prev ||\n !map().getSource(source.id) ||\n !map().getLayer(props.id)\n )\n return\n\n map().setLayoutProperty(\n props.id,\n 'visibility',\n props.visible ? 'visible' : 'none',\n { validate: false }\n )\n return props.visible\n }, props.visible)\n\n // Update Filter\n createEffect(async () => {\n if (!props.filter) return\n\n !map().isStyleLoaded() && (await map().once('styledata'))\n map().setFilter(props.id, props.filter)\n })\n\n // Update Feature State\n createEffect(async () => {\n if (!props.featureState || !props.featureState.id) return\n\n !map().isStyleLoaded() && (await map().once('styledata'))\n\n map().removeFeatureState({\n source: source.id,\n sourceLayer: props.style['source-layer'],\n })\n map().setFeatureState(\n {\n source: source.id,\n sourceLayer: props.style['source-layer'],\n id: props.featureState.id,\n },\n props.featureState.state\n )\n })\n\n return props.children\n}\n\nexport default Layer\n","import { onMount, onCleanup, createEffect, Component } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type { FogSpecification } from 'mapbox-gl/src/style-spec/types.js'\n\nconst Fog: Component<{\n style: FogSpecification\n visible?: boolean\n}> = props => {\n const map: MapboxMap = useMap()\n // Add Fog Layer\n onMount(async () => {\n !map().isStyleLoaded() && (await map().once('styledata'))\n map().setFog(props.style)\n })\n // Remove Fog Layer\n onCleanup(() => map().setFog(null))\n\n // Update Visibility\n createEffect(async () => {\n if (props.visible === undefined) return\n\n !map().isStyleLoaded() && (await map().once('styledata'))\n map().setFog(props.visible ? props.style : null)\n })\n\n return props.children\n}\n\nexport default Fog\n","import { onMount, onCleanup, createEffect, Component } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type { StyleSpecification } from 'mapbox-gl/src/style-spec/types.js'\n\nconst Sky: Component<{\n style: StyleSpecification\n visible?: boolean\n}> = props => {\n const map: MapboxMap = useMap()\n const layerId = '_sky'\n // Add Sky Layer\n onMount(async () => {\n !map().isStyleLoaded() && (await map().once('styledata'))\n !map().getLayer(layerId) && map().addLayer({ ...props.style, id: layerId })\n })\n\n // Remove Sky Layer\n onCleanup(() => map().getLayer(layerId) && map().removeLayer(layerId))\n\n // Update Visibility\n createEffect(async () => {\n if (props.visible === undefined) return\n\n !map().isStyleLoaded() && (await map().once('styledata'))\n map().setLayoutProperty(\n layerId,\n 'visibility',\n props.visible ? 'visible' : 'none'\n )\n })\n\n return props.children\n}\n\nexport default Sky\n","import { onMount, onCleanup, createEffect, Component } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport { useSource } from '../Source'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type {\n TerrainSpecification,\n SourceSpecification,\n} from 'mapbox-gl/src/style-spec/types.js'\n\nconst Terrain: Component<{\n style: TerrainSpecification\n visible?: boolean\n}> = props => {\n const map: MapboxMap = useMap()\n const source: SourceSpecification = useSource()\n\n // Add Terrain Layer\n onMount(async () => {\n !map().isStyleLoaded() && (await map().once('styledata'))\n map().setTerrain({ ...props.style, source: source.id })\n })\n\n // Remove Terrain Layer\n onCleanup(() => map().setTerrain(null))\n\n // Update Visibility\n createEffect(async () => {\n if (props.visible === undefined) return\n\n !map().isStyleLoaded() && (await map().once('styledata'))\n map().setTerrain(props.visible ? props.style : null)\n })\n\n return props.children\n}\n\nexport default Terrain\n","import { onMount, onCleanup, createSignal, Component } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport mapboxgl from 'mapbox-gl'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type { Options as AttributionOptions } from 'mapbox-gl/src/ui/control/attribution_control'\nimport type { Options as FullscreenOptions } from 'mapbox-gl/src/ui/control/fullscreen_control'\nimport type { Options as GeolocateOptions } from 'mapbox-gl/src/ui/control/geolocate_control'\nimport type { Options as NavigationOptions } from 'mapbox-gl/src/ui/control/navigation_control'\nimport type { Options as ScaleOptions } from 'mapbox-gl/src/ui/control/scale_control'\n\nconst Control: Component<{\n type: 'navigation' | 'scale' | 'attribution' | 'fullscreen' | 'geolocate'\n options?:\n | NavigationOptions\n | ScaleOptions\n | AttributionOptions\n | FullscreenOptions\n | GeolocateOptions\n | object\n custom?: any\n position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n}> = props => {\n const map: MapboxMap = useMap()\n const [control, setControl] = createSignal(null)\n\n const getControl = (type, options) => {\n if (props.custom) return new props.custom(options)\n switch (type) {\n case 'navigation':\n return new mapboxgl.NavigationControl(options)\n case 'scale':\n return new mapboxgl.ScaleControl(options)\n case 'attribution':\n return new mapboxgl.AttributionControl(options)\n case 'geolocate':\n return new mapboxgl.GeolocateControl(options)\n case 'fullscreen':\n return new mapboxgl.FullscreenControl(\n options || { container: map().container }\n )\n default:\n throw new Error(`Unknown control type: ${type}`)\n }\n }\n\n // Add Control\n onMount(() => {\n const control = getControl(props.type, props.options)\n control && map().addControl(control, props.position)\n setControl(control)\n })\n\n onCleanup(() => map().removeControl(control()))\n\n return props.children\n}\n\nexport default Control\n","import { onMount, onCleanup, createEffect, Component, children } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport mapboxgl from 'mapbox-gl'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type { MarkerSpecification } from 'mapbox-gl/src/style-spec/types.js'\nimport type { LngLatLike } from 'mapbox-gl/src/geo/lng_lat.js'\n\nconst Marker: Component<{\n options?: MarkerSpecification\n lnglat: LngLatLike\n}> = props => {\n const map: MapboxMap = useMap()\n let marker = null\n\n // Add Marker\n onMount(async () => {\n marker = new mapboxgl.Marker(props.options)\n .setLngLat(props.lnglat)\n .setPopup(\n props.children\n ? new mapboxgl.Popup().setDOMContent(<div>{props.children}</div>)\n : null\n )\n .addTo(map())\n })\n // Remove Marker\n onCleanup(() => marker.remove())\n\n // Update Position\n createEffect(() => marker.setLngLat(props.lnglat))\n\n return <></>\n}\n\nexport default Marker\n","import { onMount, onCleanup, createEffect, Component } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport mapboxgl from 'mapbox-gl'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type { PopupSpecification } from 'mapbox-gl/src/style-spec/types.js'\nimport type { LngLatLike } from 'mapbox-gl/src/geo/lng_lat.js'\n\nconst Popup: Component<{\n options?: PopupSpecification\n lnglat: LngLatLike\n}> = props => {\n const map: MapboxMap = useMap()\n let popup = null\n\n // Add Popup\n onMount(async () => {\n popup = new mapboxgl.Popup(props.options)\n .setLngLat(props.lnglat)\n .setDOMContent(<div>{props.children}</div>)\n .addTo(map())\n })\n // Remove Popup\n onCleanup(() => popup.remove())\n\n // Update Position\n createEffect(() => popup.setLngLat(props.lnglat))\n\n // Update Content\n createEffect(() => popup.setDOMContent(<div>{props.children}</div>))\n\n return <></>\n}\n\nexport default Popup\n","import { onMount, onCleanup, createEffect, Component } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type {\n StyleImageInterface,\n StyleImageMetadata,\n} from 'mapbox-gl/src/style/style_image'\n\nconst Image: Component<{\n id: string\n url?: string\n image?:\n | HTMLImageElement\n | ImageBitmap\n | ImageData\n | { width: number; height: number; data: Uint8Array | Uint8ClampedArray }\n | StyleImageInterface\n options?: StyleImageMetadata\n}> = props => {\n const map: MapboxMap = useMap()\n // Add Image\n onMount(async () => {\n !map().isStyleLoaded() && (await map().once('styledata'))\n if (props.url) {\n map().loadImage(props.url, (error, image) => {\n if (error) throw error\n !map().hasImage(props.id) && map().addImage(props.id, image)\n })\n } else {\n !map().hasImage(props.id) &&\n map().addImage(props.id, props.image, props.options)\n }\n })\n // Remove Image\n onCleanup(() => map().hasImage(props.id) && map().removeImage(props.id))\n\n // Update Image\n createEffect(async () => {\n if (props.image && props.url) return\n\n if (props.url) {\n map().loadImage(props.url, (error, image) => {\n if (error) throw error\n !map().hasImage(props.id) && map().updateImage(props.id, image)\n })\n } else {\n map().style &&\n map().hasImage(props.id) &&\n map().updateImage(props.id, props.image)\n }\n })\n\n return <></>\n}\n\nexport default Image\n"],"names":["mapEvents","layerEvents","pending","start","useTransition","transitionType","setTransitionType","createSignal","MapContext","createContext","useMap","useContext","MapGL","props","_props$viewport13","let","map","mapRef","containerRef","index","id","createUniqueId","onMount","_props$viewport6","mapboxgl","Map","options","style","_props$options","version","sources","layers","container","interactive","onViewportChange","bounds","viewport","_props$viewport","center","_props$viewport2","zoom","_props$viewport3","pitch","_props$viewport4","bearing","_props$viewport5","fitBoundsOptions","padding","onCleanup","remove","createEffect","forEach","item","event","slice","toLowerCase","callback","e","on","off","showTileBoundaries","showTerrainWireframe","showPadding","showCollisionBoxes","showOverdrawInspector","getCanvas","cursor","cursorStyle","oldStyle","getStyle","oldLayers","filter","l","startsWith","oldSources","Object","keys","s","reduce","obj","key","setStyle","once","newStyle","defer","projection","setProjection","_props$viewport8","getCenter","getZoom","getPitch","getBearing","_props$viewport7","callMove","originalEvent","callEnd","prev","_props$viewport12","_props$viewport9","cameraForBounds","_props$viewport10","_props$viewport11","_props$viewport15","_props$viewport14","untrack","stop","easeTo","jumpTo","flyTo","triggerResize","window","requestAnimationFrame","loop","resize","_$createComponent","Provider","value","children","_el$","_tmpl$","cloneNode","_el$2","firstChild","_ref$","_ref$2","setProperty","_$effect","_p$","_v$","class","classList","_v$3","height","width","className","_v$2","_$classList","_$style","undefined","SourceContext","useSource","SourceComponent","async","isStyleLoaded","getSource","addSource","source","layer","removeLayer","removeSource","type","data","setData","diff","newProps","prevProps","Set","acc","push","Layer","getLayer","addLayer","metadata","smg","beforeType","beforeId","find","layout","setLayoutProperty","validate","paint","setPaintProperty","minzoom","maxzoom","setLayerZoomRange","setFilter","visible","featureState","removeFeatureState","sourceLayer","setFeatureState","state","Fog","setFog","Sky","layerId","Terrain","setTerrain","Control","control","setControl","custom","NavigationControl","ScaleControl","AttributionControl","GeolocateControl","FullscreenControl","Error","getControl","addControl","position","removeControl","Marker","marker","setLngLat","lnglat","setPopup","Popup","setDOMContent","addTo","popup","Image","url","loadImage","error","image","hasImage","addImage","removeImage","updateImage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/events.ts","../../src/components/MapGL/index.tsx","../../src/components/Source/index.tsx","../../src/components/Layer/index.tsx","../../src/components/Fog/index.tsx","../../src/components/Sky/index.tsx","../../src/components/Terrain/index.tsx","../../src/components/Control/index.tsx","../../src/components/Marker/index.tsx","../../src/components/Popup/index.tsx","../../src/components/Image/index.tsx"],"sourcesContent":["const mapEvents: string[] = [\n 'onMouseDown',\n 'onMouseUp',\n 'onMouseOver',\n 'onMouseOut',\n 'onMouseMove',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onPreClick',\n 'onClick',\n 'onDblClick',\n 'onContextMenu',\n 'onTouchStart',\n 'onTouchEnd',\n 'onTouchCancel',\n 'onWheel',\n 'onResize',\n 'onRemove',\n 'onTouchMove',\n 'onMoveStart',\n 'onMove',\n 'onMoveEnd',\n 'onDragStart',\n 'onDrag',\n 'onDragEnd',\n 'onZoomStart',\n 'onZoom',\n 'onZoomEnd',\n 'onRotateStart',\n 'onRotate',\n 'onRotatEnd',\n 'onPitchStart',\n 'onPitch',\n 'onPitchEnd',\n 'onBoxZoomStart',\n 'onBoxZoomEnd',\n 'onBoxZoomCancel',\n 'onWebglContextLost',\n 'onWebglContextRestored',\n 'onLoad',\n 'onRender',\n 'onIdle',\n 'onError',\n 'onData',\n 'onStyleData',\n 'onSourceData',\n 'onDataLoading',\n 'onStyleDataLoading',\n 'onSourceDataLoading',\n 'onStyleImageMissing',\n]\n\nconst layerEvents: string[] = [\n 'onMouseDown',\n 'onMouseUp',\n 'onMouseOver',\n 'onMouseOut',\n 'onMouseMove',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onClick',\n 'onDblClick',\n 'onContextMenu',\n 'onTouchStart',\n 'onTouchEnd',\n 'onTouchCancel',\n]\n\nexport { mapEvents, layerEvents }\n","import {\n createSignal,\n createEffect,\n onMount,\n onCleanup,\n createContext,\n useContext,\n Component,\n useTransition,\n createUniqueId,\n untrack,\n on,\n} from 'solid-js'\nimport { mapEvents } from '../../events'\nimport mapboxgl from 'mapbox-gl'\nimport 'mapbox-gl/dist/mapbox-gl.css'\nimport type { MapboxMap, MapboxOptions } from 'mapbox-gl/src/ui/map'\nimport type { LngLatLike } from 'mapbox-gl/src/geo/lng_lat.js'\nimport type { LngLatBounds } from 'mapbox-gl/src/geo/lng_lat_bounds.js'\nimport type { PaddingOptions } from 'mapbox-gl/src/geo/edge_insets.js'\nimport type { JSX } from 'solid-js'\n\nexport type Viewport = {\n id?: string\n center?: LngLatLike\n bounds?: LngLatBounds\n zoom?: number\n pitch?: number\n bearing?: number\n padding?: PaddingOptions\n}\n\nconst [pending, start] = useTransition()\nconst [transitionType, setTransitionType] = createSignal('flyTo')\n\nconst MapContext = createContext<MapboxMap>()\nconst useMap = () => useContext(MapContext)\n\nconst MapGL: Component<{\n id?: string\n style?: JSX.CSSProperties\n class?: string\n classList?: {\n [k: string]: boolean | undefined\n }\n viewport?: Viewport\n options?: MapboxOptions\n children?: Element | Element[]\n triggerResize?: boolean\n transitionType?: 'flyTo' | 'easeTo' | 'jumpTo'\n onViewportChange?: (viewport: Viewport) => void\n showTileBoundaries?: boolean\n showTerrainWireframe?: boolean\n showPadding?: boolean\n showCollisionBoxes?: boolean\n showOverdrawInspector?: boolean\n repaint?: boolean\n cursorStyle?: string\n ref?: HTMLDivElement\n}> = props => {\n let map: MapboxMap\n let mapRef: HTMLDivElement\n let containerRef: HTMLElement\n props.id = props.id || createUniqueId()\n\n onMount(() => {\n map = new mapboxgl.Map({\n ...props.options,\n style: props.options?.style || { version: 8, sources: {}, layers: [] },\n container: mapRef,\n interactive: !!props.onViewportChange,\n bounds: props.viewport?.bounds,\n center: props.viewport?.center,\n zoom: props.viewport?.zoom || null,\n pitch: props.viewport?.pitch || null,\n bearing: props.viewport?.bearing || null,\n fitBoundsOptions: { padding: props.viewport?.padding },\n } as MapboxOptions)\n\n map.container = containerRef\n })\n\n onCleanup(() => map.remove())\n\n // Hook up events\n createEffect(() =>\n mapEvents.forEach(item => {\n if (props[item]) {\n const event = item.slice(2).toLowerCase()\n const callback = e => props[item](e)\n map.on(event, callback)\n onCleanup(() => map.off(event, callback))\n }\n })\n )\n\n // Update debug features\n createEffect(() => (map.showTileBoundaries = props.showTileBoundaries))\n createEffect(() => (map.showTerrainWireframe = props.showTerrainWireframe))\n createEffect(() => (map.showPadding = props.showPadding))\n createEffect(() => (map.showCollisionBoxes = props.showCollisionBoxes))\n createEffect(() => (map.showOverdrawInspector = props.showOverdrawInspector))\n createEffect(() => (map.getCanvas().style.cursor = props.cursorStyle))\n\n // Update map style\n createEffect(\n on(\n () => props.options.style,\n () => {\n const oldStyle = map.getStyle()\n const oldLayers = oldStyle.layers.filter(l => l.id.startsWith('cl-'))\n const oldSources = Object.keys(oldStyle.sources)\n .filter(s => s.startsWith('cl-'))\n .reduce((obj, key) => ({ ...obj, [key]: oldStyle.sources[key] }), {})\n map.setStyle(props.options.style)\n map.once('styledata', () => {\n const newStyle = map.getStyle()\n map.setStyle({\n ...newStyle,\n sources: { ...newStyle.sources, ...oldSources },\n layers: [...newStyle.layers, ...oldLayers],\n })\n })\n },\n { defer: true }\n )\n )\n\n // Update projection\n createEffect(\n on(\n () => props.options.projection,\n () => map.setProjection(props.options.projection),\n { defer: true }\n )\n )\n\n createEffect(() => setTransitionType(props.transitionType))\n\n // Hook up viewport events\n createEffect(() => {\n const viewport = {\n id: null,\n center: map.getCenter(),\n zoom: map.getZoom(),\n pitch: map.getPitch(),\n bearing: map.getBearing(),\n padding: props.viewport?.padding,\n bounds: props.viewport?.bounds,\n }\n\n const callMove = event => {\n if (event.originalEvent)\n props.onViewportChange &&\n props.onViewportChange({ ...viewport, id: props.id })\n setTransitionType('jumpTo')\n }\n\n const callEnd = event => {\n if (event.originalEvent)\n props.onViewportChange && props.onViewportChange(viewport)\n setTransitionType(props.transitionType)\n }\n\n map.on('move', callMove).on('moveend', callEnd)\n onCleanup(() => map.off('move', callMove).off('moveend', callEnd))\n })\n\n // Update boundaries\n createEffect(prev => {\n if (props.viewport?.bounds != prev)\n props.onViewportChange({\n ...props.viewport,\n ...map.cameraForBounds(props.viewport?.bounds, {\n padding: props.viewport?.padding,\n }),\n })\n return props.viewport?.bounds\n }, props.viewport?.bounds)\n\n // Update Viewport\n createEffect(() => {\n if (props.id === props.viewport?.id) return\n const viewport = {\n ...props.viewport,\n padding: props.viewport?.padding || 0,\n }\n switch (untrack(transitionType)) {\n case 'easeTo':\n map.stop().easeTo(viewport)\n case 'jumpTo':\n map.stop().jumpTo(viewport)\n default:\n map.stop().flyTo(viewport)\n }\n })\n\n let index = 0\n\n createEffect(() => {\n if (props.triggerResize) {\n index = 0\n window.requestAnimationFrame(function loop() {\n if (index < 15) {\n index++\n window.requestAnimationFrame(loop)\n start(() => map.resize())\n }\n })\n }\n })\n\n return (\n <MapContext.Provider value={() => map}>\n <section\n ref={containerRef}\n style={{ position: 'absolute', 'z-index': 1 }}>\n {props.children}\n </section>\n <div\n ref={mapRef}\n class={props.class || ''}\n classList={props.classList}\n style={{ height: '100%', width: '100%', ...props.style }}\n />\n </MapContext.Provider>\n )\n}\n\nexport { MapGL as default, useMap }\n","import {\n onMount,\n onCleanup,\n createEffect,\n Component,\n createContext,\n useContext,\n createUniqueId,\n} from 'solid-js'\nimport { useMap } from '../MapGL'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type {\n Source,\n SourceSpecification,\n} from 'mapbox-gl/src/style-spec/types.js'\n\nconst SourceContext = createContext<Source>()\n\nconst useSource = (): Source => useContext(SourceContext)\n\nconst SourceComponent: Component<{\n id?: string\n source: SourceSpecification\n}> = props => {\n const map: MapboxMap = useMap()\n props.id = props.id || createUniqueId()\n // Add Source\n onMount(async () => {\n !map().isStyleLoaded() && (await map().once('styledata'))\n !map().getSource(props.id) && map().addSource(props.id, props.source)\n })\n\n // Remove Source\n onCleanup(() => {\n map()\n .getStyle()\n .layers.forEach(\n layer => layer.source === props.id && map().removeLayer(layer.id)\n )\n map().getSource(props.id) && map().removeSource(props.id)\n })\n\n // Update GeoJSON Data\n createEffect(async () => {\n if (props.source.type !== 'geojson' && !props.source.data) return\n\n map().style &&\n map().getSource(props.id) &&\n map().getSource(props.id).setData(props.source.data)\n })\n\n return (\n <SourceContext.Provider value={{ id: props.id }}>\n {props.children}\n </SourceContext.Provider>\n )\n}\n\nexport { SourceComponent as default, useSource }\n","import {\n onMount,\n onCleanup,\n createEffect,\n Component,\n createUniqueId,\n} from 'solid-js'\nimport { useMap } from '../MapGL'\nimport { useSource } from '../Source'\nimport { layerEvents } from '../../events'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type {\n FilterSpecification,\n StyleSpecification,\n SourceSpecification,\n} from 'mapbox-gl/src/style-spec/types.js'\nimport type { CustomLayerInterface } from 'mapbox-gl/src/style/style_layer/custom_style_layer'\n\nconst diff = (\n newProps: StyleSpecification = {},\n prevProps: StyleSpecification = {}\n) => {\n const keys = new Set([...Object.keys(newProps), ...Object.keys(prevProps)])\n return [...keys].reduce((acc, key: string) => {\n const value = newProps[key]\n if (value !== prevProps[key]) {\n acc.push([key, value])\n }\n return acc\n }, [])\n}\n\nconst Layer: Component<{\n id?: string\n style?: StyleSpecification\n customLayer?: CustomLayerInterface\n filter?: FilterSpecification\n visible?: boolean\n sourceId?: string\n beforeType?:\n | 'background'\n | 'fill'\n | 'line'\n | 'symbol'\n | 'raster'\n | 'circle'\n | 'fill-extrusion'\n | 'heatmap'\n | 'hillshade'\n | 'sky'\n beforeId?: string\n featureState?: { id: number | string; state: object }\n}> = props => {\n const map: MapboxMap = useMap()\n const source: SourceSpecification = useSource()\n props.id = props.id || createUniqueId()\n // Add Layer\n onMount(async () => {\n !map().isStyleLoaded() && (await map().once('styledata'))\n\n if (map().getLayer(props.id)) return\n\n map().addLayer(\n props.customLayer || {\n ...props.style,\n id: props.id,\n source: source.id,\n metadata: {\n smg: { beforeType: props.beforeType, beforeId: props.beforeId },\n },\n },\n props.beforeType\n ? map()\n .getStyle()\n .layers.find(l => l.type === props.beforeType).id\n : props.beforeId\n )\n })\n\n onCleanup(() => map().removeLayer(props.id))\n\n // Hook up events\n createEffect(() =>\n layerEvents.forEach(item => {\n if (props[item]) {\n const event = item.slice(2).toLowerCase()\n const callback = e => props[item](e)\n map().on(event, props.id, callback)\n onCleanup(() => map().off(event, props.id, callback))\n }\n })\n )\n\n // Update Style\n createEffect((prev: StyleSpecification) => {\n if (\n !props.style ||\n !map().style ||\n !map().getSource(source.id) ||\n !map().getLayer(props.id)\n )\n return\n\n if (props.style.layout !== prev?.layout)\n diff(props.style.layout, prev?.layout).forEach(([key, value]) =>\n map().setLayoutProperty(props.id, key, value, { validate: false })\n )\n\n if (props.style.paint !== prev?.paint)\n diff(props.style.paint, prev?.paint).forEach(([key, value]) =>\n map().setPaintProperty(props.id, key, value, { validate: false })\n )\n\n if (\n props.style.minzoom !== prev?.minzoom ||\n props.style.maxzoom !== prev?.maxzoom\n )\n map().setLayerZoomRange(\n props.id,\n props.style.minzoom,\n props.style.maxzoom\n )\n\n if (props.style.filter !== prev?.filter)\n map().setFilter(props.id, props.style.filter, { validate: false })\n\n return props.style\n }, props.style)\n\n // Update Visibility\n createEffect((prev: boolean) => {\n if (\n props.visible === undefined ||\n props.visible === prev ||\n !map().getSource(source.id) ||\n !map().getLayer(props.id)\n )\n return\n\n map().setLayoutProperty(\n props.id,\n 'visibility',\n props.visible ? 'visible' : 'none',\n { validate: false }\n )\n return props.visible\n }, props.visible)\n\n // Update Filter\n createEffect(async () => {\n if (!props.filter) return\n\n !map().isStyleLoaded() && (await map().once('styledata'))\n map().setFilter(props.id, props.filter)\n })\n\n // Update Feature State\n createEffect(async () => {\n if (!props.featureState || !props.featureState.id) return\n\n !map().isStyleLoaded() && (await map().once('styledata'))\n\n map().removeFeatureState({\n source: source.id,\n sourceLayer: props.style['source-layer'],\n })\n map().setFeatureState(\n {\n source: source.id,\n sourceLayer: props.style['source-layer'],\n id: props.featureState.id,\n },\n props.featureState.state\n )\n })\n\n return props.children\n}\n\nexport default Layer\n","import { onMount, onCleanup, createEffect, Component } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type { FogSpecification } from 'mapbox-gl/src/style-spec/types.js'\n\nconst Fog: Component<{\n style: FogSpecification\n visible?: boolean\n}> = props => {\n const map: MapboxMap = useMap()\n // Add Fog Layer\n onMount(async () => {\n !map().isStyleLoaded() && (await map().once('styledata'))\n map().setFog(props.style)\n })\n // Remove Fog Layer\n onCleanup(() => map().setFog(null))\n\n // Update Visibility\n createEffect(async () => {\n if (props.visible === undefined) return\n\n !map().isStyleLoaded() && (await map().once('styledata'))\n map().setFog(props.visible ? props.style : null)\n })\n\n return props.children\n}\n\nexport default Fog\n","import { onMount, onCleanup, createEffect, Component } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type { StyleSpecification } from 'mapbox-gl/src/style-spec/types.js'\n\nconst Sky: Component<{\n style: StyleSpecification\n visible?: boolean\n}> = props => {\n const map: MapboxMap = useMap()\n const layerId = '_sky'\n // Add Sky Layer\n onMount(async () => {\n !map().isStyleLoaded() && (await map().once('styledata'))\n !map().getLayer(layerId) && map().addLayer({ ...props.style, id: layerId })\n })\n\n // Remove Sky Layer\n onCleanup(() => map().getLayer(layerId) && map().removeLayer(layerId))\n\n // Update Visibility\n createEffect(async () => {\n if (props.visible === undefined) return\n\n !map().isStyleLoaded() && (await map().once('styledata'))\n map().setLayoutProperty(\n layerId,\n 'visibility',\n props.visible ? 'visible' : 'none'\n )\n })\n\n return props.children\n}\n\nexport default Sky\n","import { onMount, onCleanup, createEffect, Component } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport { useSource } from '../Source'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type {\n TerrainSpecification,\n SourceSpecification,\n} from 'mapbox-gl/src/style-spec/types.js'\n\nconst Terrain: Component<{\n style: TerrainSpecification\n visible?: boolean\n}> = props => {\n const map: MapboxMap = useMap()\n const source: SourceSpecification = useSource()\n\n // Add Terrain Layer\n onMount(async () => {\n !map().isStyleLoaded() && (await map().once('styledata'))\n map().setTerrain({ ...props.style, source: source.id })\n })\n\n // Remove Terrain Layer\n onCleanup(() => map().setTerrain(null))\n\n // Update Visibility\n createEffect(async () => {\n if (props.visible === undefined) return\n\n !map().isStyleLoaded() && (await map().once('styledata'))\n map().setTerrain(props.visible ? props.style : null)\n })\n\n return props.children\n}\n\nexport default Terrain\n","import { onMount, onCleanup, createSignal, Component } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport mapboxgl from 'mapbox-gl'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type { Options as AttributionOptions } from 'mapbox-gl/src/ui/control/attribution_control'\nimport type { Options as FullscreenOptions } from 'mapbox-gl/src/ui/control/fullscreen_control'\nimport type { Options as GeolocateOptions } from 'mapbox-gl/src/ui/control/geolocate_control'\nimport type { Options as NavigationOptions } from 'mapbox-gl/src/ui/control/navigation_control'\nimport type { Options as ScaleOptions } from 'mapbox-gl/src/ui/control/scale_control'\n\nconst Control: Component<{\n type: 'navigation' | 'scale' | 'attribution' | 'fullscreen' | 'geolocate'\n options?:\n | NavigationOptions\n | ScaleOptions\n | AttributionOptions\n | FullscreenOptions\n | GeolocateOptions\n | object\n custom?: any\n position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n}> = props => {\n const map: MapboxMap = useMap()\n const [control, setControl] = createSignal(null)\n\n const getControl = (type, options) => {\n if (props.custom) return new props.custom(options)\n switch (type) {\n case 'navigation':\n return new mapboxgl.NavigationControl(options)\n case 'scale':\n return new mapboxgl.ScaleControl(options)\n case 'attribution':\n return new mapboxgl.AttributionControl(options)\n case 'geolocate':\n return new mapboxgl.GeolocateControl(options)\n case 'fullscreen':\n return new mapboxgl.FullscreenControl(\n options || { container: map().container }\n )\n default:\n throw new Error(`Unknown control type: ${type}`)\n }\n }\n\n // Add Control\n onMount(() => {\n const control = getControl(props.type, props.options)\n control && map().addControl(control, props.position)\n setControl(control)\n })\n\n onCleanup(() => map().removeControl(control()))\n\n return props.children\n}\n\nexport default Control\n","import { onMount, onCleanup, createEffect, Component, children } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport mapboxgl from 'mapbox-gl'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type { MarkerSpecification } from 'mapbox-gl/src/style-spec/types.js'\nimport type { LngLatLike } from 'mapbox-gl/src/geo/lng_lat.js'\n\nconst Marker: Component<{\n options?: MarkerSpecification\n lnglat: LngLatLike\n}> = props => {\n const map: MapboxMap = useMap()\n let marker = null\n\n // Add Marker\n onMount(async () => {\n marker = new mapboxgl.Marker(props.options)\n .setLngLat(props.lnglat)\n .setPopup(\n props.children\n ? new mapboxgl.Popup().setDOMContent(<div>{props.children}</div>)\n : null\n )\n .addTo(map())\n })\n // Remove Marker\n onCleanup(() => marker.remove())\n\n // Update Position\n createEffect(() => marker.setLngLat(props.lnglat))\n\n return <></>\n}\n\nexport default Marker\n","import { onMount, onCleanup, createEffect, Component } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport mapboxgl from 'mapbox-gl'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type { PopupSpecification } from 'mapbox-gl/src/style-spec/types.js'\nimport type { LngLatLike } from 'mapbox-gl/src/geo/lng_lat.js'\n\nconst Popup: Component<{\n options?: PopupSpecification\n lnglat: LngLatLike\n}> = props => {\n const map: MapboxMap = useMap()\n let popup = null\n\n // Add Popup\n onMount(async () => {\n popup = new mapboxgl.Popup(props.options)\n .setLngLat(props.lnglat)\n .setDOMContent(<div>{props.children}</div>)\n .addTo(map())\n })\n // Remove Popup\n onCleanup(() => popup.remove())\n\n // Update Position\n createEffect(() => popup.setLngLat(props.lnglat))\n\n // Update Content\n createEffect(() => popup.setDOMContent(<div>{props.children}</div>))\n\n return <></>\n}\n\nexport default Popup\n","import { onMount, onCleanup, createEffect, Component } from 'solid-js'\nimport { useMap } from '../MapGL'\nimport type MapboxMap from 'mapbox-gl/src/ui/map'\nimport type {\n StyleImageInterface,\n StyleImageMetadata,\n} from 'mapbox-gl/src/style/style_image'\n\nconst Image: Component<{\n id: string\n url?: string\n image?:\n | HTMLImageElement\n | ImageBitmap\n | ImageData\n | { width: number; height: number; data: Uint8Array | Uint8ClampedArray }\n | StyleImageInterface\n options?: StyleImageMetadata\n}> = props => {\n const map: MapboxMap = useMap()\n // Add Image\n onMount(async () => {\n !map().isStyleLoaded() && (await map().once('styledata'))\n if (props.url) {\n map().loadImage(props.url, (error, image) => {\n if (error) throw error\n !map().hasImage(props.id) && map().addImage(props.id, image)\n })\n } else {\n !map().hasImage(props.id) &&\n map().addImage(props.id, props.image, props.options)\n }\n })\n // Remove Image\n onCleanup(() => map().hasImage(props.id) && map().removeImage(props.id))\n\n // Update Image\n createEffect(async () => {\n if (props.image && props.url) return\n\n if (props.url) {\n map().loadImage(props.url, (error, image) => {\n if (error) throw error\n !map().hasImage(props.id) && map().updateImage(props.id, image)\n })\n } else {\n map().style &&\n map().hasImage(props.id) &&\n map().updateImage(props.id, props.image)\n }\n })\n\n return <></>\n}\n\nexport default Image\n"],"names":["mapEvents","layerEvents","pending","start","useTransition","transitionType","setTransitionType","createSignal","MapContext","createContext","useMap","useContext","MapGL","props","_props$viewport13","let","map","mapRef","containerRef","index","id","createUniqueId","onMount","_props$viewport6","mapboxgl","Map","options","style","_props$options","version","sources","layers","container","interactive","onViewportChange","bounds","viewport","_props$viewport","center","_props$viewport2","zoom","_props$viewport3","pitch","_props$viewport4","bearing","_props$viewport5","fitBoundsOptions","padding","onCleanup","remove","createEffect","forEach","item","event","slice","toLowerCase","callback","e","on","off","showTileBoundaries","showTerrainWireframe","showPadding","showCollisionBoxes","showOverdrawInspector","getCanvas","cursor","cursorStyle","oldStyle","getStyle","oldLayers","filter","l","startsWith","oldSources","Object","keys","s","reduce","obj","key","setStyle","once","newStyle","defer","projection","setProjection","_props$viewport8","getCenter","getZoom","getPitch","getBearing","_props$viewport7","callMove","originalEvent","callEnd","prev","_props$viewport12","_props$viewport9","cameraForBounds","_props$viewport10","_props$viewport11","_props$viewport15","_props$viewport14","untrack","stop","easeTo","jumpTo","flyTo","triggerResize","window","requestAnimationFrame","loop","resize","_$createComponent","Provider","value","children","_el$","_tmpl$","cloneNode","_ref$","setProperty","_el$2","_tmpl$2","_ref$2","_$effect","_p$","_v$","class","classList","_v$3","height","width","className","_v$2","_$classList","_$style","undefined","SourceContext","useSource","SourceComponent","async","isStyleLoaded","getSource","addSource","source","layer","removeLayer","removeSource","type","data","setData","diff","newProps","prevProps","Set","acc","push","Layer","getLayer","addLayer","customLayer","metadata","smg","beforeType","beforeId","find","layout","setLayoutProperty","validate","paint","setPaintProperty","minzoom","maxzoom","setLayerZoomRange","setFilter","visible","featureState","removeFeatureState","sourceLayer","setFeatureState","state","Fog","setFog","Sky","layerId","Terrain","setTerrain","Control","control","setControl","custom","NavigationControl","ScaleControl","AttributionControl","GeolocateControl","FullscreenControl","Error","getControl","addControl","position","removeControl","Marker","marker","setLngLat","lnglat","setPopup","Popup","setDOMContent","addTo","popup","Image","url","loadImage","error","image","hasImage","addImage","removeImage","updateImage"],"mappings":"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"}
|
package/dist/esm/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mapboxgl-canvas{position:absolute;left:0;top:0}.mapboxgl-map:-webkit-full-screen{width:100%;height:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{position:absolute;pointer-events:none;z-index:2}.mapboxgl-ctrl-top-left{top:0;left:0}.mapboxgl-ctrl-top-right{top:0;right:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{right:0;bottom:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{margin:10px 0 0 10px;float:left}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{margin:10px 10px 0 0;float:right}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{margin:0 0 10px 10px;float:left}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{margin:0 10px 10px 0;float:right}.mapboxgl-ctrl-group{border-radius:4px;background:#fff}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{width:29px;height:29px;display:block;padding:0;outline:none;border:0;box-sizing:border-box;background-color:transparent;cursor:pointer;overflow:hidden}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:50%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:focus:only-child{border-radius:inherit}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E %3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E %3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E %3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E %3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E %3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E %3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E %3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E %3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E %3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E %3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E %3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E %3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E %3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E %3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E %3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E %3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E %3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E %3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E %3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E %3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E %3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E %3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E %3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E %3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E %3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E %3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='red'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='red'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='red'/%3E %3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{width:88px;height:23px;margin:0 0 -4px -4px;display:block;background-repeat:no-repeat;cursor:pointer;overflow:hidden;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' viewBox='0 0 88 23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E %3Cdefs%3E %3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E %3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E %3C/defs%3E %3Cmask id='clip'%3E %3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E %3Cuse xlink:href='%23logo'/%3E %3Cuse xlink:href='%23text'/%3E %3C/mask%3E %3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E %3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E %3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E %3C/g%3E %3Cg id='fill' opacity='0.9' fill='%23fff'%3E %3Cuse xlink:href='%23logo'/%3E %3Cuse xlink:href='%23text'/%3E %3C/g%3E %3C/svg%3E")}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' viewBox='0 0 88 23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E %3Cdefs%3E %3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E %3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E %3C/defs%3E %3Cmask id='clip'%3E %3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E %3Cuse xlink:href='%23logo'/%3E %3Cuse xlink:href='%23text'/%3E %3C/mask%3E %3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E %3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E %3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E %3C/g%3E %3Cg id='fill' opacity='1' fill='%23fff'%3E %3Cuse xlink:href='%23logo'/%3E %3Cuse xlink:href='%23text'/%3E %3C/g%3E %3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' viewBox='0 0 88 23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E %3Cdefs%3E %3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E %3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E %3C/defs%3E %3Cmask id='clip'%3E %3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E %3Cuse xlink:href='%23logo'/%3E %3Cuse xlink:href='%23text'/%3E %3C/mask%3E %3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E %3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E %3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E %3C/g%3E %3Cg id='fill' opacity='1' fill='%23000'%3E %3Cuse xlink:href='%23logo'/%3E %3Cuse xlink:href='%23text'/%3E %3C/g%3E %3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{padding:0 5px;background-color:hsla(0,0%,100%,.5);margin:0}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{min-height:20px;padding:2px 24px 2px 0;margin:10px;position:relative;background-color:#fff;border-radius:12px}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 8px 2px 28px;border-radius:12px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{display:none;cursor:pointer;position:absolute;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E %3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E %3C/svg%3E");background-color:hsla(0,0%,100%,.5);width:24px;height:24px;box-sizing:border-box;border-radius:12px;outline:none;top:0;right:0;border:0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner,.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;right:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;left:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E %3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E %3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E %3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E %3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);font-size:10px;border:2px solid #333;border-top:#333;padding:0 5px;color:#333;box-sizing:border-box}.mapboxgl-popup{position:absolute;top:0;left:0;display:flex;will-change:transform;pointer-events:none}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{width:0;height:0;border:10px solid transparent;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-top:none;border-bottom-color:#fff}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-top:none;border-left:none;border-bottom-color:#fff}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-top:none;border-right:none;border-bottom-color:#fff}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-right:none;border-left-color:#fff}.mapboxgl-popup-close-button{position:absolute;right:0;top:0;border:0;border-radius:0 3px 0 0;cursor:pointer;background-color:transparent}.mapboxgl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.mapboxgl-popup-content{position:relative;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{position:absolute;top:0;left:0;will-change:transform;opacity:1;transition:opacity .2s}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;width:15px;height:15px;border-radius:50%}.mapboxgl-user-location-dot:before{content:"";position:absolute;animation:mapboxgl-user-location-dot-pulse 2s infinite}.mapboxgl-user-location-dot:after{border-radius:50%;border:2px solid #fff;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px;box-sizing:border-box;box-shadow:0 0 3px rgba(0,0,0,.35)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{width:0;height:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{content:"";border-bottom:7.5px solid #4aa1eb;position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{transform:scale(1);opacity:1}70%{transform:scale(3);opacity:0}to{transform:scale(1);opacity:0}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:rgba(29,161,242,.2);width:1px;height:1px;border-radius:100%}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{position:absolute;top:0;left:0;width:0;height:0;background:#fff;border:2px dotted #202020;opacity:.5}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;justify-content:center;text-align:center;position:absolute;display:flex;align-items:center;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);opacity:0;pointer-events:none;transition:opacity .75s ease-in-out;transition-delay:1s}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}
|
|
1
|
+
.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mapboxgl-canvas{position:absolute;left:0;top:0}.mapboxgl-map:-webkit-full-screen{width:100%;height:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{position:absolute;pointer-events:none;z-index:2}.mapboxgl-ctrl-top-left{top:0;left:0}.mapboxgl-ctrl-top-right{top:0;right:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{right:0;bottom:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{margin:10px 0 0 10px;float:left}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{margin:10px 10px 0 0;float:right}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{margin:0 0 10px 10px;float:left}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{margin:0 10px 10px 0;float:right}.mapboxgl-ctrl-group{border-radius:4px;background:#fff}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{width:29px;height:29px;display:block;padding:0;outline:none;border:0;box-sizing:border-box;background-color:transparent;cursor:pointer;overflow:hidden}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:50%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E %3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E %3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E %3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E %3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E %3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E %3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E %3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E %3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E %3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E %3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E %3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E %3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E %3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E %3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E %3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E %3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E %3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E %3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E %3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E %3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E %3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E %3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E %3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E %3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E %3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E %3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='red'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='red'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E %3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='red'/%3E %3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{width:88px;height:23px;margin:0 0 -4px -4px;display:block;background-repeat:no-repeat;cursor:pointer;overflow:hidden;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' viewBox='0 0 88 23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E %3Cdefs%3E %3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E %3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E %3C/defs%3E %3Cmask id='clip'%3E %3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E %3Cuse xlink:href='%23logo'/%3E %3Cuse xlink:href='%23text'/%3E %3C/mask%3E %3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E %3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E %3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E %3C/g%3E %3Cg id='fill' opacity='0.9' fill='%23fff'%3E %3Cuse xlink:href='%23logo'/%3E %3Cuse xlink:href='%23text'/%3E %3C/g%3E %3C/svg%3E")}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' viewBox='0 0 88 23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E %3Cdefs%3E %3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E %3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E %3C/defs%3E %3Cmask id='clip'%3E %3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E %3Cuse xlink:href='%23logo'/%3E %3Cuse xlink:href='%23text'/%3E %3C/mask%3E %3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E %3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E %3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E %3C/g%3E %3Cg id='fill' opacity='1' fill='%23fff'%3E %3Cuse xlink:href='%23logo'/%3E %3Cuse xlink:href='%23text'/%3E %3C/g%3E %3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' viewBox='0 0 88 23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E %3Cdefs%3E %3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E %3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E %3C/defs%3E %3Cmask id='clip'%3E %3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E %3Cuse xlink:href='%23logo'/%3E %3Cuse xlink:href='%23text'/%3E %3C/mask%3E %3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E %3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E %3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E %3C/g%3E %3Cg id='fill' opacity='1' fill='%23000'%3E %3Cuse xlink:href='%23logo'/%3E %3Cuse xlink:href='%23text'/%3E %3C/g%3E %3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{padding:0 5px;background-color:hsla(0,0%,100%,.5);margin:0}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{min-height:20px;padding:2px 24px 2px 0;margin:10px;position:relative;background-color:#fff;border-radius:12px}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 8px 2px 28px;border-radius:12px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{display:none;cursor:pointer;position:absolute;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E %3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E %3C/svg%3E");background-color:hsla(0,0%,100%,.5);width:24px;height:24px;box-sizing:border-box;border-radius:12px;outline:none;top:0;right:0;border:0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner,.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;right:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;left:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E %3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E %3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E %3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E %3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);font-size:10px;border:2px solid #333;border-top:#333;padding:0 5px;color:#333;box-sizing:border-box}.mapboxgl-popup{position:absolute;top:0;left:0;display:flex;will-change:transform;pointer-events:none}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{width:0;height:0;border:10px solid transparent;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-top:none;border-bottom-color:#fff}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-top:none;border-left:none;border-bottom-color:#fff}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-top:none;border-right:none;border-bottom-color:#fff}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-right:none;border-left-color:#fff}.mapboxgl-popup-close-button{position:absolute;right:0;top:0;border:0;border-radius:0 3px 0 0;cursor:pointer;background-color:transparent}.mapboxgl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.mapboxgl-popup-content{position:relative;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{position:absolute;top:0;left:0;will-change:transform;opacity:1;transition:opacity .2s}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;width:15px;height:15px;border-radius:50%}.mapboxgl-user-location-dot:before{content:"";position:absolute;animation:mapboxgl-user-location-dot-pulse 2s infinite}.mapboxgl-user-location-dot:after{border-radius:50%;border:2px solid #fff;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px;box-sizing:border-box;box-shadow:0 0 3px rgba(0,0,0,.35)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{width:0;height:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{content:"";border-bottom:7.5px solid #4aa1eb;position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{transform:scale(1);opacity:1}70%{transform:scale(3);opacity:0}to{transform:scale(1);opacity:0}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:rgba(29,161,242,.2);width:1px;height:1px;border-radius:100%}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{position:absolute;top:0;left:0;width:0;height:0;background:#fff;border:2px dotted #202020;opacity:.5}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;justify-content:center;text-align:center;position:absolute;display:flex;align-items:center;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);opacity:0;pointer-events:none;transition:opacity .75s ease-in-out;transition-delay:1s}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}
|
|
@@ -21,7 +21,7 @@ const Layer = props => {
|
|
|
21
21
|
!map().isStyleLoaded() && (await map().once('styledata'));
|
|
22
22
|
if (map().getLayer(props.id))
|
|
23
23
|
return;
|
|
24
|
-
map().addLayer(props.
|
|
24
|
+
map().addLayer(props.customLayer || {
|
|
25
25
|
...props.style,
|
|
26
26
|
id: props.id,
|
|
27
27
|
source: source.id,
|
|
@@ -76,12 +76,13 @@ const MapGL = props => {
|
|
|
76
76
|
};
|
|
77
77
|
const callMove = event => {
|
|
78
78
|
if (event.originalEvent)
|
|
79
|
-
props.onViewportChange
|
|
79
|
+
props.onViewportChange &&
|
|
80
|
+
props.onViewportChange({ ...viewport, id: props.id });
|
|
80
81
|
setTransitionType('jumpTo');
|
|
81
82
|
};
|
|
82
83
|
const callEnd = event => {
|
|
83
84
|
if (event.originalEvent)
|
|
84
|
-
props.onViewportChange(viewport);
|
|
85
|
+
props.onViewportChange && props.onViewportChange(viewport);
|
|
85
86
|
setTransitionType(props.transitionType);
|
|
86
87
|
};
|
|
87
88
|
map.on('move', callMove).on('moveend', callEnd);
|
|
@@ -129,10 +130,10 @@ const MapGL = props => {
|
|
|
129
130
|
}
|
|
130
131
|
});
|
|
131
132
|
return (<MapContext.Provider value={() => map}>
|
|
132
|
-
<section ref={containerRef} style={{
|
|
133
|
+
<section ref={containerRef} style={{ position: 'absolute', 'z-index': 1 }}>
|
|
133
134
|
{props.children}
|
|
134
|
-
<div ref={mapRef} class={props.class || ''} classList={props.classList} style={{ height: '100%', width: '100%', ...props.style }}/>
|
|
135
135
|
</section>
|
|
136
|
+
<div ref={mapRef} class={props.class || ''} classList={props.classList} style={{ height: '100%', width: '100%', ...props.style }}/>
|
|
136
137
|
</MapContext.Provider>);
|
|
137
138
|
};
|
|
138
139
|
export { MapGL as default, useMap };
|
|
@@ -4,7 +4,7 @@ import type { CustomLayerInterface } from 'mapbox-gl/src/style/style_layer/custo
|
|
|
4
4
|
declare const Layer: Component<{
|
|
5
5
|
id?: string;
|
|
6
6
|
style?: StyleSpecification;
|
|
7
|
-
|
|
7
|
+
customLayer?: CustomLayerInterface;
|
|
8
8
|
filter?: FilterSpecification;
|
|
9
9
|
visible?: boolean;
|
|
10
10
|
sourceId?: string;
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.1.
|
|
2
|
+
"version": "1.1.28",
|
|
3
3
|
"name": "solid-map-gl",
|
|
4
4
|
"description": "Solid Component Library for Mapbox GL JS",
|
|
5
5
|
"info": "Solid Component Library for Mapbox GL JS. Mapbox GL JS is a JavaScript library that renders interactive maps from vector tiles and Mapbox styles using WebGL. This project is intended to be as close as possible to the Mapbox GL JS API.",
|
|
@@ -36,6 +36,10 @@
|
|
|
36
36
|
"default": "./dist/esm/index.js"
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "rollup -c",
|
|
41
|
+
"test": "vitest"
|
|
42
|
+
},
|
|
39
43
|
"repository": {
|
|
40
44
|
"type": "git",
|
|
41
45
|
"url": "git+https://github.com/gishub4/solid-map-gl.git"
|
|
@@ -45,8 +49,8 @@
|
|
|
45
49
|
"not ie 11"
|
|
46
50
|
],
|
|
47
51
|
"dependencies": {
|
|
48
|
-
"mapbox-gl": "^2.
|
|
49
|
-
"solid-js": "^1.3.
|
|
52
|
+
"mapbox-gl": "^2.8.0",
|
|
53
|
+
"solid-js": "^1.3.14"
|
|
50
54
|
},
|
|
51
55
|
"devDependencies": {
|
|
52
56
|
"canvas": "^2.9.1",
|
|
@@ -57,13 +61,8 @@
|
|
|
57
61
|
"rollup-preset-solid": "^1.4.0",
|
|
58
62
|
"solid-testing-library": "^0.3.0",
|
|
59
63
|
"typescript": "^4.6.3",
|
|
60
|
-
"vite": "^2.
|
|
64
|
+
"vite": "^2.9.1",
|
|
61
65
|
"vite-plugin-solid": "^2.2.6",
|
|
62
|
-
"vitest": "^0.
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
"build": "rollup -c",
|
|
66
|
-
"test": "vitest"
|
|
67
|
-
},
|
|
68
|
-
"readme": "\n\n# Solid Mapbox GL JS\n\n[\n](https://www.npmjs.com/package/solid-map-gl)\n[](./LICENSE)\n[\n](https://bundlephobia.com/package/solid-map-gl)\n\n\n[Solid](https://www.solidjs.com/) Component Library for [Mapbox GL JS.](https://github.com/mapbox/mapbox-gl-js) Mapbox GL JS is a JavaScript library that renders interactive maps from vector tiles and Mapbox styles using WebGL. This project is intended to be as close as possible to the [Mapbox GL JS API.](https://docs.mapbox.com/mapbox-gl-js/api/)\n\n### [Examples & Playground](https://determined-mirzakhani-29bbc7.netlify.app/)\n<br>\n\n- [Installation](#installation)\n- [Components](#components)\n- [Usage](#usage)\n - [Static Map](#static-map)\n - [Interactive Map](#interactive-map)\n - [Map with Source and Layer](#map-with-source-and-layer)\n - [Map with GeoJSON Source](#map-with-geojson-source)\n- [Roadmap](#roadmap)\n\n<br>\n\n\n\n## Installation\n\n```shell\nyarn add solid-map-gl\n```\n\n```shell\nnpm install --save solid-map-gl\n```\n\n<!-- ### Optional Dependencies\n\nIf you want to use `LanguageControl` and `TrafficControl`:\n\n```shell\nyarn add @mapbox/mapbox-gl-language @mapbox/mapbox-gl-traffic\n```\n\n```shell\nnpm install --save @mapbox/mapbox-gl-language @mapbox/mapbox-gl-traffic\n``` -->\n\n## Components\n\n| Component | Description |\n| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |\n| [MapGL](src/components/MapGL) | Represents map on the page |\n| [Source](src/components/Source) | [Sources](https://docs.mapbox.com/mapbox-gl-js/api/#sources) specify the geographic features to be rendered on the map |\n| [Layer](src/components/Layer) | [Layers](https://docs.mapbox.com/mapbox-gl-js/style-spec/#layers) specify the `Sources` style |\n| [Sky](src/components/Sky) | Specify the Sky Layer |\n| [Fog](src/components/Fog) | Specify the Fog Layer |\n| [Terrain](src/components/Terrain) | Specify the Terrain Layer |\n| [Image](src/components/Image) | Adds an image to the map style |\n| [Popup](src/components/Popup) | Component for [Mapbox GL JS Popup](https://docs.mapbox.com/mapbox-gl-js/api/#popup) |\n| [Marker](src/components/Marker) | Component for [Mapbox GL JS Marker](https://docs.mapbox.com/mapbox-gl-js/api/#marker) |\n| [Control](src/components/Control) | Represents the map's control |\n\n## Usage\n\nTo use any of Mapbox’s tools, APIs, or SDKs, you’ll need a Mapbox [access token](https://www.mapbox.com/help/define-access-token/). Mapbox uses access tokens to associate requests to API resources with your account. You can find all your access tokens, create new ones, or delete existing ones on your [API access tokens page](https://www.mapbox.com/studio/account/tokens/).\n\n### Static Map\n\nBy default, `MapGL` component renders in a static mode. That means that the user cannot interact with the map.\n\n```jsx\nimport MapGL from 'solid-map-gl'\n<MapGL\n options={{\n accessToken: MAPBOX_ACCESS_TOKEN,\n style: 'mapbox://styles/mapbox/light-v10',\n }}\n viewport={{\n center: [-122.41, 37.78],\n zoom: 11,\n }}>\n</MapGL>\n```\n\n### Interactive Map\n\nIn most cases, you will want the user to interact with the map. To do this, you need to provide `onViewportChange` handler, that will update the map's viewport state.\n\n```jsx\nimport { createSignal } from 'solid-js'\nimport MapGL from 'solid-map-gl'\nimport type { Viewport } from 'solid-map-gl'\n\nconst [viewport, setViewport] = createSignal({\n center: [-122.41, 37.78],\n zoom: 11\n} as Viewport);\n\n<MapGL\n options={{\n accessToken: MAPBOX_ACCESS_TOKEN,\n style: 'mapbox://styles/mapbox/light-v10'\n }}\n viewport={viewport()}\n onViewportChange={evt => setViewport(evt)}>\n</MapGL>\n```\n\n### Map with Source and Layer\n\n[Sources](https://docs.mapbox.com/mapbox-gl-js/api/sources/) specify the geographic features to be rendered on the map.\n\n[Layers](https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/) specify the Sources styles. The type of layer is specified by the `\"type\"` property in the layers style object, and must be one of `background`, `fill`, `line`, `symbol`, `raster`, `circle`, `fill-extrusion`, `heatmap`, `hillshade`.\n\nExcept for layers of the `background` type, each layer needs to refer to a source. Either buy referencing the `id` in `sourceId` or by nesting the layer within the source component. Layers take the data that they get from a source, optionally filter features, and then define how those features are styled.\n\n```jsx\nimport MapGL, { Source, Layer } from 'solid-map-gl';\n\n<MapGL\n options={{\n accessToken: MAPBOX_ACCESS_TOKEN,\n style: 'mapbox://styles/mapbox/light-v10'\n }}>\n <Source\n source={{\n type: 'vector',\n url: 'mapbox://mapbox.mapbox-terrain-v2',\n }}>\n <Layer style={{\n type: 'line',\n 'source-layer': 'contour'\n paint: {\n 'line-color': '#877b59',\n 'line-width': 1,\n }\n }} />\n </Source>\n</MapGL>\n```\n\n### Map with GeoJSON Source\n\nTo draw a GeoJSON on a map, add `Source` with the `type` property set to `geojson` and `data` property set to a URL or inline [GeoJSON](http://geojson.org/).\n\n```jsx\nimport { createSignal } from 'solid-js'\nimport MapGL, { Source, Layer } from 'solid-map-gl'\nimport type { Viewport } from 'solid-map-gl'\n\nconst [viewport, setViewport] = createSignal({\n center: [-122.486052, 37.830348],\n zoom: 15,\n})\n\nconst data = {\n type: 'Feature',\n geometry: {\n type: 'LineString',\n coordinates: [\n [-122.48369693756104, 37.83381888486939],\n [-122.48348236083984, 37.83317489144141],\n [-122.48339653015138, 37.83270036637107],\n [-122.48356819152832, 37.832056363179625],\n [-122.48404026031496, 37.83114119107971],\n [-122.48404026031496, 37.83049717427869],\n [-122.48348236083984, 37.829920943955045],\n [-122.48356819152832, 37.82954808664175],\n [-122.48507022857666, 37.82944639795659],\n [-122.48610019683838, 37.82880236636284],\n [-122.48695850372314, 37.82931081282506],\n [-122.48700141906738, 37.83080223556934],\n [-122.48751640319824, 37.83168351665737],\n [-122.48803138732912, 37.832158048267786],\n [-122.48888969421387, 37.83297152392784],\n [-122.48987674713133, 37.83263257682617],\n [-122.49043464660643, 37.832937629287755],\n [-122.49125003814696, 37.832429207817725],\n [-122.49163627624512, 37.832564787218985],\n [-122.49223709106445, 37.83337825839438],\n [-122.49378204345702, 37.83368330777276],\n ],\n },\n}\n\n<MapGL\n options={{\n accessToken: MAPBOX_ACCESS_TOKEN,\n style: 'mapbox://styles/mapbox/light-v10',\n }}\n viewport={viewport()}\n onViewportChange={evt => setViewport(evt)}>\n <Source\n source={{\n type: 'geojson',\n data: { data },\n }}>\n <Layer\n style={{\n type: 'line',\n layout: {\n 'line-join': 'round',\n 'line-cap': 'round',\n },\n paint: {\n 'line-color': '#888',\n 'line-width': 8,\n },\n }}\n />\n </Source>\n</MapGL>\n```\n\n### Custom Layers support\n\n[Custom layers](https://docs.mapbox.com/mapbox-gl-js/api/properties/#customlayerinterface) allow a user to render directly into the Map's GL context using the map's camera.\n\nHere is an example using [deck.gl.](https://github.com/uber/deck.gl)\n\n```jsx\nimport { createSignal } from 'solid-js'\nimport MapGL, { Source, Layer } from 'solid-map-gl'\nimport { MapboxLayer } from '@deck.gl/mapbox'\nimport { ScatterplotLayer } from '@deck.gl/layers'\nimport type { Viewport } from 'solid-map-gl'\n\nconst [viewport, setViewport] = createSignal({\n center: [-74.5, 40],\n zoom: 9,\n})\n\nconst myDeckLayer = new MapboxLayer({\n id: 'my-scatterplot',\n type: ScatterplotLayer,\n data: [{ position: [-74.5, 40], size: 1000 }],\n getPosition: d => d.position,\n getRadius: d => d.size,\n getColor: [255, 0, 0],\n})\n\n<MapGL\n options={{\n accessToken: MAPBOX_ACCESS_TOKEN,\n style: 'mapbox://styles/mapbox/light-v10',\n }}\n viewport={viewport()}\n onViewportChange={evt => setViewport(evt)}>\n <Layer customLayer={myDeckLayer} />\n</MapGL>\n```\n## Roadmap\n\n- [x] Basic Mapbox GL Functionality\n- [x] Include Map Controls\n- [x] Include Fog, Sky, and Terrain\n- [x] Include Popup and Markers\n- [x] Minify bundle & reduce size\n- [x] Add basemap switching\n- [x] Include event handling\n- [x] Sync Maps\n- [ ] Add draw functionality\n"
|
|
69
|
-
}
|
|
66
|
+
"vitest": "^0.9.3"
|
|
67
|
+
}
|
|
68
|
+
}
|