diff --git a/src/components/street-geo.js b/src/components/street-geo.js index 0ca009e79..ee181d254 100644 --- a/src/components/street-geo.js +++ b/src/components/street-geo.js @@ -16,7 +16,7 @@ AFRAME.registerComponent('street-geo', { maps: { type: 'string', default: 'google3d', - oneOf: ['google3d', 'mapbox2d'] + oneOf: ['google3d', 'mapbox2d', 'osm3d'] } }, init: function () { @@ -51,6 +51,8 @@ AFRAME.registerComponent('street-geo', { // create Map element and save a link to it in this[mapType] if (!this.isAR) { this[mapType + 'Create'](); + document.getElementById('map-data-attribution').style.visibility = + 'visible'; } } else if ( data.maps === mapType && @@ -64,9 +66,8 @@ AFRAME.registerComponent('street-geo', { // remove element from DOM and from this object this.el.removeChild(this[mapType]); this[mapType] = null; - if (mapType === 'google3d') { - document.getElementById('map-data-attribution').style.visibility = - 'hidden'; + if (mapType === 'osm3d') { + this.el.removeChild(this['osm3dBuilding']); } } } @@ -98,7 +99,7 @@ AFRAME.registerComponent('street-geo', { mapbox2dElement.setAttribute('data-ignore-raycaster', ''); el.appendChild(mapbox2dElement); this['mapbox2d'] = mapbox2dElement; - document.getElementById('map-data-attribution').style.visibility = 'hidden'; + document.getElementById('map-copyright').textContent = 'MapBox'; }, google3dCreate: function () { const data = this.data; @@ -141,8 +142,6 @@ AFRAME.registerComponent('street-geo', { google3dElement.setAttribute('data-ignore-raycaster', ''); el.appendChild(google3dElement); self['google3d'] = google3dElement; - document.getElementById('map-data-attribution').style.visibility = - 'visible'; }; // check whether the library has been imported. Download if not @@ -176,5 +175,77 @@ AFRAME.registerComponent('street-geo', { this.mapbox2d.setAttribute('mapbox', { center: `${data.longitude}, ${data.latitude}` }); + }, + osm3dCreate: function () { + const data = this.data; + const el = this.el; + const self = this; + + const createOsm3dElement = () => { + const osm3dElement = document.createElement('a-entity'); + osm3dElement.setAttribute('data-layer-name', 'OpenStreetMap 2D Tiles'); + osm3dElement.setAttribute('osm-tiles', { + lon: data.longitude, + lat: data.latitude, + radius_m: 2000, + trackId: 'camera', + url: 'https://tile.openstreetmap.org/' + }); + osm3dElement.setAttribute('rotation', '-90 -90 0'); + osm3dElement.setAttribute('data-no-pause', ''); + osm3dElement.classList.add('autocreated'); + osm3dElement.setAttribute('data-ignore-raycaster', ''); + + const osm3dBuildingElement = document.createElement('a-entity'); + osm3dBuildingElement.setAttribute( + 'data-layer-name', + 'OpenStreetMap 3D Buildings' + ); + osm3dBuildingElement.setAttribute('osm-geojson', { + lon: data.longitude, + lat: data.latitude, + radius_m: 500, + trackId: 'camera' + }); + osm3dBuildingElement.setAttribute('rotation', '0 -90 0'); + osm3dBuildingElement.setAttribute('data-no-pause', ''); + osm3dBuildingElement.classList.add('autocreated'); + osm3dBuildingElement.setAttribute('data-ignore-raycaster', ''); + + if (AFRAME.INSPECTOR && AFRAME.INSPECTOR.opened) { + // emit play event to start loading tiles in Editor mode + osm3dElement.addEventListener( + 'loaded', + () => { + osm3dElement.play(); + osm3dBuildingElement.play(); + }, + { once: true } + ); + } + el.appendChild(osm3dElement); + el.appendChild(osm3dBuildingElement); + + self['osm3d'] = osm3dElement; + self['osm3dBuilding'] = osm3dBuildingElement; + document.getElementById('map-copyright').textContent = 'OpenStreetMap'; + }; + + // check whether the library has been imported. Download if not + if (AFRAME.components['osm-tiles']) { + createOsm3dElement(); + } else { + loadScript( + new URL('/src/lib/osm4vr.min.js', import.meta.url), + createOsm3dElement + ); + } + }, + osm3dUpdate: function () { + const data = this.data; + this.osm3d.setAttribute('osm-tiles', { + lon: data.longitude, + lat: data.latitude + }); } }); diff --git a/src/json-utils_1.1.js b/src/json-utils_1.1.js index 398162171..3fe4011a4 100644 --- a/src/json-utils_1.1.js +++ b/src/json-utils_1.1.js @@ -68,7 +68,7 @@ function getElementData(entity) { return; } // node id's that should save without child nodes - const skipChildrenNodes = ['environment']; + const skipChildrenNodes = ['environment', 'reference-layers']; const elementTree = getAttributes(entity); const children = entity.childNodes; if (children.length && !skipChildrenNodes.includes(elementTree.id)) { diff --git a/src/lib/osm4vr.min.js b/src/lib/osm4vr.min.js new file mode 100644 index 000000000..d9212bee3 --- /dev/null +++ b/src/lib/osm4vr.min.js @@ -0,0 +1 @@ +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(this,(()=>(()=>{var e={960:e=>{function t(e,t){if(0!==e.length){n(e[0],t);for(var r=1;r=Math.abs(s)?n-u+s:s-u+n,n=u}n+r>=0!=!!t&&e.reverse()}e.exports=function e(n,r){var o,i=n&&n.type;if("FeatureCollection"===i)for(o=0;o{"use strict";n.r(t);var r=n(834),o=n.n(r);AFRAME.registerComponent("osm-geojson",{schema:{lat:{type:"number"},lon:{type:"number"},src:{type:"asset"},radius_m:{type:"number",default:0},zoom:{type:"number",default:17},trackId:{type:"string"}},init:function(){this.EQUATOR_M=40075017,this.POLES_M=40007863,this.FEET_TO_METER=.3048,this.LEVEL_HEIGHT_M=3,this.DEFAULT_BUILDING_HEIGHT_M=6,this.BUILDING_TO_METER={church:20,water_tower:20,bungalow:this.LEVEL_HEIGHT_M,cabin:this.LEVEL_HEIGHT_M,ger:this.LEVEL_HEIGHT_M,houseboat:this.LEVEL_HEIGHT_M,static_caravan:this.LEVEL_HEIGHT_M,kiosk:this.LEVEL_HEIGHT_M,chapel:this.LEVEL_HEIGHT_M,shrine:this.LEVEL_HEIGHT_M,bakehouse:this.LEVEL_HEIGHT_M,toilets:this.LEVEL_HEIGHT_M,stable:this.LEVEL_HEIGHT_M,boathouse:this.LEVEL_HEIGHT_M,hut:this.LEVEL_HEIGHT_M,shed:this.LEVEL_HEIGHT_M,carport:this.LEVEL_HEIGHT_M,garage:this.LEVEL_HEIGHT_M,garages:this.LEVEL_HEIGHT_M,beach_hut:this.LEVEL_HEIGHT_M,container:this.LEVEL_HEIGHT_M,guardhouse:this.LEVEL_HEIGHT_M},this.tilesLoaded=new Set,this.featuresLoaded={},this.loader=new THREE.FileLoader,this.onSrcLoaded=this.onSrcLoaded.bind(this)},update:function(e){if(this.data!==e&&(this.trackElement=null,this.trackPosition=null,this.el.innerHTML="",this.tilesLoaded.clear(),this.featuresLoaded={},this.tileSize_m=this.lat2tileWidth_m(this.data.lat,this.data.zoom),this.tileBase=this.latlon2fractionalTileId(this.data.lat,this.data.lon),this.data.src&&this.loader.load(this.data.src,this.onSrcLoaded),this.loadTilesAround(new THREE.Vector3(0,0,0)),this.data.trackId)){const e=document.getElementById(this.data.trackId);e&&e.object3D&&(this.trackElement=e,this.trackPosition=new THREE.Vector3)}},tick:function(){this.trackElement&&(this.trackElement.object3D.getWorldPosition(this.trackPosition),this.loadTilesAround(this.trackPosition))},onSrcLoaded:function(e){const t=JSON.parse(e);if(0==this.data.lat&&0==this.data.lon){const e=this.features2center(t.features);this.data.lat=e[0],this.data.lon=e[1]}this.addBuildings(t)},lat2tileWidth_m:function(e,t){const n=2**t;return this.EQUATOR_M*Math.cos(e*Math.PI/180)/n},latlon2fractionalTileId:function(e,t){const n=2**this.data.zoom,r=e*Math.PI/180;return[n*(t+180)/360,n*(1-Math.log(Math.tan(r)+1/Math.cos(r))/Math.PI)/2]},features2center:function(e){let t=0,n=0,r=0;for(const o of e){const e=o.geometry.coordinates[0][0];e&&2==e.length&&(n+=e[0],t+=e[1],r+=1)}return t/=r,n/=r,console.log("Geojson center (lat, lon): ",t,n),[t,n]},loadOSMbuildingsBbox:async function(e){const t=e.join(","),n=`[out:json][timeout:30];(\n way["building"](${t});\n relation["building"]["type"="multipolygon"](${t});\n way["building:part"](${t});\n relation["building:part"]["type"="multipolygon"](${t});\n );out;>;out qt;\n `,r=await fetch("https://overpass-api.de/api/interpreter",{method:"POST",body:"data="+encodeURIComponent(n)});if(r.ok){const e=await r.json();return console.log(e),e}},geojsonCoords2plane:function(e,t,n){const r=this.EQUATOR_M*Math.cos(t*Math.PI/180);return e.map((([e,o])=>[(e-n)/360*r,(o-t)/360*this.POLES_M]))},createGeometry:function(e,t,n,r){const o=new THREE.Shape(e.map((e=>new THREE.Vector2(e[0],e[1]))));if(null===n){const e=o.getLength();n=Math.min(this.DEFAULT_BUILDING_HEIGHT_M,e/5)}for(const e of t)o.holes.push(new THREE.Path(e.map((e=>new THREE.Vector2(e[0],e[1])))));n-=r;const i=new THREE.ExtrudeGeometry(o,{depth:n,bevelEnabled:!1});return i.rotateX(-Math.PI/2),r&&i.translate(0,r,0),i},createBuilding:function(e,t,n,r=0){const o=this.createGeometry(e,t,n,r),i=new THREE.MeshBasicMaterial({color:11189196}),a=new THREE.Mesh(o,i),s=document.createElement("a-entity");return s.setObject3D("mesh",a),s.setAttribute("data-ignore-raycaster",""),s.classList.add("autocreated"),s},height2meters:function(e){return e.indexOf("'")>0?parseFloat(e)*this.FEET_TO_METER:parseFloat(e)},feature2height:function(e){const t=e.properties;return"height"in t?this.height2meters(t.height):"building:levels"in t?parseInt(t["building:levels"])*this.LEVEL_HEIGHT_M:t.building in this.BUILDING_TO_METER?this.BUILDING_TO_METER[t.building]:t.man_made in this.BUILDING_TO_METER?this.BUILDING_TO_METER[t.man_made]:null},feature2minHeight:function(e){const t=e.properties;return"min_height"in t?this.height2meters(t.min_height):"building:min_level"in t?parseInt(t["building:min_level"])*this.LEVEL_HEIGHT_M:0},feature2color:function(e){const t=e.properties;return"building:colour"in t?t["building:colour"]:"gray"},feature2building:function(e,t,n){const r=e.geometry.coordinates,o=this.geojsonCoords2plane(r[0],t,n),i=[];for(let e=1;e0&&(console.log("Bounding box for missing tiles (SWNE): ",c),this.loadOSMbuildingsBbox(c).then((e=>{const t=o()(e);this.addBuildings(t)})))}})},989:()=>{AFRAME.registerComponent("osm-tiles",{schema:{lat:{type:"number"},lon:{type:"number"},radius_m:{type:"number",default:500},zoom:{type:"number",default:17},trackId:{type:"string"},url:{type:"string",default:"https://tile.openstreetmap.org/"}},init:function(){this.tilesLoaded=new Set},update:function(e){if(this.data!==e&&(this.trackElement=null,this.trackPosition=null,this.el.innerHTML="",this.tilesLoaded.clear(),this.tileSize_m=this.lat2tileWidth_m(this.data.lat,this.data.zoom),this.tileBase=this.latlon2fractionalTileId(this.data.lat,this.data.lon),this.loadTilesAround(new THREE.Vector3(0,0,0)),this.data.trackId)){const e=document.getElementById(this.data.trackId);e&&e.object3D&&(this.trackElement=e,this.trackPosition=new THREE.Vector3)}},tick:function(){this.trackElement&&(this.trackElement.object3D.getWorldPosition(this.trackPosition),this.loadTilesAround(this.trackPosition))},lat2tileWidth_m:function(e,t){const n=2**t;return 40075017*Math.cos(e*Math.PI/180)/n},latlon2fractionalTileId:function(e,t){const n=2**this.data.zoom,r=e*Math.PI/180;return[n*(t+180)/360,n*(1-Math.log(Math.tan(r)+1/Math.cos(r))/Math.PI)/2]},createTile:function(e,t,n){const r=document.createElement("a-plane");return r.setAttribute("src",n),r.setAttribute("width",this.tileSize_m),r.setAttribute("height",this.tileSize_m),r.setAttribute("position",{x:e,y:t,z:0}),r.setAttribute("data-ignore-raycaster",""),r.classList.add("autocreated"),r},loadTile:function(e,t){const n=this.data.url+`${this.data.zoom}/${e}/${t}.png`,r=(e-this.tileBase[0]+.5)*this.tileSize_m,o=(t-this.tileBase[1]+.5)*this.tileSize_m;return this.createTile(r,-o,n)},loadTilesAround:function(e){const t=this.tileBase[0]+e.x/this.tileSize_m,n=this.tileBase[1]+e.z/this.tileSize_m,r=this.data.radius_m/this.tileSize_m,o=2**this.data.zoom;let i=Math.floor(t-r);const a=Math.max(0,Math.floor(n-r));let s=Math.ceil(t+r);const u=Math.min(o,Math.ceil(n+r));i=(i+o)%o,s=(s+o)%o;for(let e=a;e{e.exports=n(386)},834:(e,t,n)=>{var r,o=n(808),i=n(960),a={};function s(e,t){return(e.version||t.version)&&e.version!==t.version?(+e.version||0)>(+t.version||0)?e:t:o.merge(e,t)}function u(e){for(var t,n,r,o,i,a,s=function(e){return e[0]},u=function(e){return e[e.length-1]},l=function(e,t){return void 0!==e&&void 0!==t&&e.id===t.id},c=[];e.length;)for(t=e.pop().nodes.slice(),c.push(t);e.length&&!l(s(t),u(t));){for(n=s(t),r=u(t),o=0;o0&&(h.nodes=f),o.isEmpty(s)||(h.tags=s),(t=e.getElementsByTagName("center")[0])&&l(h,t),d?function(e,t){o.isArray(e.nodes)||(e.nodes=[],o.each(t,(function(t,n){e.nodes.push("_anonymous@"+t.getAttribute("lat")+"/"+t.getAttribute("lon"))}))),o.each(t,(function(t,n){var r,o,a,s;t.getAttribute("lat")&&(r=t.getAttribute("lat"),o=t.getAttribute("lon"),a=e.nodes[n],s={type:"node",id:a,lat:r,lon:o},i.push(s),s.id)}))}(h,e.getElementsByTagName("nd")):(n=e.getElementsByTagName("bounds")[0])&&c(h,n),a.push(h)})),o.each(e.getElementsByTagName("relation"),(function(e,r){var f={},d=[];o.each(e.getElementsByTagName("tag"),(function(e){f[e.getAttribute("k")]=e.getAttribute("v")}));var h=!1;o.each(e.getElementsByTagName("member"),(function(e,t){d[t]={},u(e,d[t],"ref"),u(e,d[t],"role"),u(e,d[t],"type"),(!h&&"node"==d[t].type&&e.getAttribute("lat")||"way"==d[t].type&&e.getElementsByTagName("nd").length>0)&&(h=!0)}));var p={type:"relation"};u(e,p,"id"),u(e,p,"version"),u(e,p,"timestamp"),u(e,p,"changeset"),u(e,p,"uid"),u(e,p,"user"),d.length>0&&(p.members=d),o.isEmpty(f)||(p.tags=f),(t=e.getElementsByTagName("center")[0])&&l(p,t),h?function(e,t){function n(e,t){if(!a.some((function(e){return"way"==e.type&&e.id==t}))){var n={type:"way",id:t,nodes:[]};o.each(e,(function(e){var t,r,o;e.getAttribute("lat")?(t=e.getAttribute("lat"),r=e.getAttribute("lon"),o={type:"node",id:"_anonymous@"+t+"/"+r,lat:t,lon:r},n.nodes.push(o.id),i.push(o)):n.nodes.push(void 0)})),a.push(n)}}o.each(t,(function(t,r){var o,a,s,u;"node"==e.members[r].type?t.getAttribute("lat")&&(o=t.getAttribute("lat"),a=t.getAttribute("lon"),s=e.members[r].ref,u={type:"node",id:s,lat:o,lon:a},i.push(u)):"way"==e.members[r].type&&t.getElementsByTagName("nd").length>0&&(e.members[r].ref="_fullGeom"+e.members[r].ref,n(t.getElementsByTagName("nd"),e.members[r].ref))}))}(p,e.getElementsByTagName("member")):(n=e.getElementsByTagName("bounds")[0])&&c(p,n),s.push(p)})),r(i,a,s)}(e):function(e){var t=new Array,n=new Array,i=new Array;function a(e){var n=o.clone(e);n.lat=e.center.lat,n.lon=e.center.lon,n.__is_center_placeholder=!0,t.push(n)}function s(e){var r=o.clone(e);function i(e,n,o){var i={type:"node",id:"_"+r.type+"/"+r.id+"bounds"+o,lat:e,lon:n};r.nodes.push(i.id),t.push(i)}r.nodes=[],i(r.bounds.minlat,r.bounds.minlon,1),i(r.bounds.maxlat,r.bounds.minlon,2),i(r.bounds.maxlat,r.bounds.maxlon,3),i(r.bounds.minlat,r.bounds.maxlon,4),r.nodes.push(r.nodes[0]),r.__is_bounds_placeholder=!0,n.push(r)}function u(e){o.isArray(e.nodes)||(e.nodes=e.geometry.map((function(e){return null!==e?"_anonymous@"+e.lat+"/"+e.lon:"_anonymous@unknown_location"}))),e.geometry.forEach((function(n,r){var o,i,a;n&&(o=n.lat,i=n.lon,a={type:"node",id:e.nodes[r],lat:o,lon:i},t.push(a))}))}function l(e){e.members.forEach((function(e,r){var o,i,a;"node"==e.type?e.lat&&(o=e.lat,i=e.lon,a={type:"node",id:e.ref,lat:o,lon:i},t.push(a)):"way"==e.type&&e.geometry&&(e.ref="_fullGeom"+e.ref,function(e,r){if(!n.some((function(e){return"way"==e.type&&e.id==r}))){var o={type:"way",id:r,nodes:[]};e.forEach((function(e){var n,r,i;e?(i={type:"node",id:"_anonymous@"+(n=e.lat)+"/"+(r=e.lon),lat:n,lon:r},o.nodes.push(i.id),t.push(i)):o.nodes.push(void 0)})),n.push(o)}}(e.geometry,e.ref))}))}for(var c=0;c0}));h.center&&a(h),p?l(h):h.bounds&&s(h)}return r(t,n,i)}(e);function r(e,r,a){function s(e,n){if("object"!=typeof n&&(n={}),"function"==typeof t.uninterestingTags)return!t.uninterestingTags(e,n);for(var r in e)if(!0!==t.uninterestingTags[r]&&!0!==n[r]&&n[r]!==e[r])return!0;return!1}function c(e){var t={timestamp:e.timestamp,version:e.version,changeset:e.changeset,user:e.user,uid:e.uid};for(var n in t)void 0===t[n]&&delete t[n];return t}for(var f=new Object,d=new Object,h=0;hr!=c>r&&n<(l-s)*(r-u)/(c-u)+s&&(o=!o)}return o};for(e=r(e),t=0;t-1},qe.prototype.set=function(e,t){var n=this.__data__,r=nt(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Je.prototype.clear=function(){this.__data__={hash:new Qe,map:new(Se||qe),string:new Qe}},Je.prototype.delete=function(e){return vt(this,e).delete(e)},Je.prototype.get=function(e){return vt(this,e).get(e)},Je.prototype.has=function(e){return vt(this,e).has(e)},Je.prototype.set=function(e,t){return vt(this,e).set(e,t),this},Ke.prototype.add=Ke.prototype.push=function(e){return this.__data__.set(e,o),this},Ke.prototype.has=function(e){return this.__data__.has(e)},Ye.prototype.clear=function(){this.__data__=new qe},Ye.prototype.delete=function(e){return this.__data__.delete(e)},Ye.prototype.get=function(e){return this.__data__.get(e)},Ye.prototype.has=function(e){return this.__data__.has(e)},Ye.prototype.set=function(e,t){var n=this.__data__;if(n instanceof qe){var r=n.__data__;if(!Se||r.length<199)return r.push([e,t]),this;n=this.__data__=new Je(r)}return n.set(e,t),this};var ot,it=(ot=function(e,t){return e&&at(e,t,Kt)},function(e,t){if(null==e)return e;if(!Gt(e))return ot(e,t);for(var n=e.length,r=-1,o=Object(e);++rc))return!1;var d=u.get(e);if(d&&u.get(t))return d==t;var h=-1,p=!0,y=s&i?new Ke:r;for(u.set(e,t),u.set(t,e);++h-1&&e%1==0&&e-1&&e%1==0&&e<=u}function Ft(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Dt(e){return!!e&&"object"==typeof e}function $t(e){if(!Dt(e)||ve.call(e)!=b||ae(e))return!1;var t=Te(e);if(null===t)return!0;var n=me.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&ge.call(n)==be}function Ut(e){return"symbol"==typeof e||Dt(e)&&ve.call(e)==M}var Ct,Wt=ee?(Ct=ee,function(e){return Ct(e)}):function(e){return Dt(e)&&Nt(e.length)&&!!U[ve.call(e)]};function Xt(e){return gt(e,Yt(e))}function Qt(e){return null==e?"":function(e){if("string"==typeof e)return e;if(Ut(e))return We?We.call(e):"";var t=e+"";return"0"==t&&1/e==-s?"-0":t}(e)}function qt(e,t,n){var o=null==e?r:st(e,t);return o===r?n:o}function Jt(e,t){return null!=e&&function(e,t,n){for(var r,o=-1,i=(t=Tt(t,e)?[t]:ht(t)).length;++o1?n[i-1]:r,s=i>2?n[2]:r;for(a=e.length>3&&"function"==typeof a?(i--,a):r,s&&function(e,t,n){if(!Ft(n))return!1;var r=typeof t;return!!("number"==r?Gt(n)&&Mt(t,n.length):"string"==r&&t in n)&&St(n[t],e)}(n[0],n[1],s)&&(a=i<3?r:a,i=1),t=Object(t);++o{"use strict";e.exports=JSON.parse('[{"key":"building","polygon":"all"},{"key":"highway","polygon":"whitelist","values":["services","rest_area","escape","elevator"]},{"key":"natural","polygon":"blacklist","values":["coastline","cliff","ridge","arete","tree_row"]},{"key":"landuse","polygon":"all"},{"key":"waterway","polygon":"whitelist","values":["riverbank","dock","boatyard","dam"]},{"key":"amenity","polygon":"all"},{"key":"leisure","polygon":"all"},{"key":"barrier","polygon":"whitelist","values":["city_wall","ditch","hedge","retaining_wall","wall","spikes"]},{"key":"railway","polygon":"whitelist","values":["station","turntable","roundhouse","platform"]},{"key":"area","polygon":"all"},{"key":"boundary","polygon":"all"},{"key":"man_made","polygon":"blacklist","values":["cutline","embankment","pipeline"]},{"key":"power","polygon":"whitelist","values":["plant","substation","generator","transformer"]},{"key":"place","polygon":"all"},{"key":"shop","polygon":"all"},{"key":"aeroway","polygon":"blacklist","values":["taxiway"]},{"key":"tourism","polygon":"all"},{"key":"historic","polygon":"all"},{"key":"public_transport","polygon":"all"},{"key":"office","polygon":"all"},{"key":"building:part","polygon":"all"},{"key":"military","polygon":"all"},{"key":"ruins","polygon":"all"},{"key":"area:highway","polygon":"all"},{"key":"craft","polygon":"all"},{"key":"golf","polygon":"all"},{"key":"indoor","polygon":"all"}]')}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}return n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n(167),n(989),{}})())); \ No newline at end of file diff --git a/src/viewer-styles.css b/src/viewer-styles.css index 406690731..b0473a575 100644 --- a/src/viewer-styles.css +++ b/src/viewer-styles.css @@ -23,7 +23,7 @@ body { position: absolute; bottom: 0; left: 0; - font-size: 10px; + font-size: 12px; background-color: rgba(0, 0, 0, 0.3); color: #bebebe; z-index: 1; @@ -32,14 +32,13 @@ body { #map-logo { display: inline; font-style: normal; - font-size: 10px; - line-height: 10px; + font-size: 12px; color: #bebebe; } #map-copyright { display: inline-block; - line-height: 10px; + line-height: 12px; color: #bebebe; }