UNPKG

@here/harp-examples

Version:
1 lines 5.48 kB
(()=>{"use strict";var e={7941:(e,t,n)=>{t.e=void 0,n(6046);const i=n(8957),o=n(5636),a=n(3074),r=n(2998),s=n(3860),l=n(4428),d=n(4565),c=n(1057),h=18e5,u=36e5,p=54e5,m=new l.Color("hsl(45, 100%, 75%)"),g=new l.Color("hsl(30, 100%, 60%)");let f,v,w,b,y,C,M,E;const T=new l.Color,x=new i.GeoCoordinates(52.530932,13.3849151),L=new Date,S={year:L.getFullYear(),month:L.getMonth()+1,day:L.getDate(),hours:L.getHours(),minutes:L.getMinutes(),time:L.getHours()+L.getMinutes()/60,timeIndicator:`${L.getHours()}:${L.getMinutes()}`,debugCamera:!1},_=c.getTimes(L,0,0).solarNoon.getTime()+60*L.getTimezoneOffset()*1e3;function D(){v.enabled=!v.enabled,w.enabled=!w.enabled,f.pointOfView=v.enabled?void 0:b,y.visible=!y.visible,C.visible=!C.visible}function z(){S.time=S.hours+S.minutes/60,S.timeIndicator=`${S.hours}:${S.minutes}`;const{latitude:e,longitude:t}=f.geoCenter,n=M.position,i=new Date(S.year,S.month-1,S.day,S.hours,S.minutes,0),o=c.getTimes(L,e,t).solarNoon.getTime()-_,a=new Date(i.getTime()+o),r=c.getTimes(a,e,t),s=c.getPosition(a,e,t),d=s.azimuth,v=s.altitude-Math.PI/2,w=f.targetDistance;n.setX(w*Math.sin(v)*Math.sin(d)),n.setY(w*Math.sin(v)*Math.cos(d)),n.setZ(w*Math.cos(v)-w),M.target.position.set(0,0,-w),M.color.set(T);const b=a.getTime(),y=b-r.sunriseEnd.getTime(),C=r.sunsetStart.getTime()-b;if(y>0&&C>0)if(y<p||C<p){let e,t;d<0?(e=m,t=y):(e=g,t=C),M.color.lerpHSL(e,l.MathUtils.clamp(1-(t-h)/u,0,1)),M.intensity=t<=h?l.MathUtils.lerp(0,1.5*E,t/h):l.MathUtils.lerp(E,1.5*E,l.MathUtils.clamp(1-(t-h)/u,0,1))}else M.intensity=E;else M.intensity=0;f.update()}const H=()=>{const e=new r.VectorTileDataSource({baseUrl:"https://vector.hereapi.com/v2/vectortiles/base/mc",authenticationCode:d.apikey});return f.addDataSource(e)};t.e||(t.e={}),function(e,t){const n=document.getElementById(e);f=new a.MapView({canvas:n,theme:t,enableShadows:!0}),f.renderLabels=!1,f.fog.enabled=!1,a.CopyrightElementHandler.install("copyrightNotice",f),v=new o.MapControls(f),v.maxTiltAngle=50;const i=new o.MapControlsUI(v);n.parentElement.appendChild(i.domElement),f.lookAt({target:x,zoomLevel:17}),f.resize(window.innerWidth,window.innerHeight),window.addEventListener("resize",(()=>{f.resize(window.innerWidth,window.innerHeight)})),H().then((()=>{const e=f.lights.find((e=>e instanceof l.DirectionalLight));if(void 0===e)throw new Error("Light for a sun was not found.");M=e,E=M.intensity,T.copy(M.color),f.addEventListener(a.MapViewEventNames.MovementFinished,z),function(){const e=new s.GUI({width:300});e.add(S,"year").onChange(z),e.add(S,"month").onChange(z),e.add(S,"day").onChange(z);const t=e.add(S,"time",0,24,.01),n=e.add(S,"timeIndicator");t.onChange((()=>{S.hours=Math.floor(S.time),S.minutes=Math.floor(60*(S.time-S.hours)),z(),n.updateDisplay()})),n.onChange((()=>{const e=S.timeIndicator.split(":");S.hours=parseInt(e[0],10),S.minutes=parseInt(e[1],10),z(),t.updateDisplay()})),e.add(S,"debugCamera").onChange(D)}(),function(){const e=new l.CameraHelper(f.m_rteCamera);e.renderOrder=Number.MAX_SAFE_INTEGER,f.scene.add(e),b=new l.PerspectiveCamera(f.camera.fov,f.canvas.width/f.canvas.height,100,1e5),f.scene.add(b),b.position.set(6e3,2e3,1e3),w=new l.TrackballControls(b,f.canvas),w.enabled=!1,w.addEventListener("start",(()=>{f.beginAnimation()})),w.addEventListener("end",(()=>{f.endAnimation()})),w.addEventListener("change",(()=>{f.update()})),w.staticMoving=!0,w.rotateSpeed=3,w.zoomSpeed=4,w.panSpeed=2,y=new l.DirectionalLightHelper(M,500),y.visible=!1,f.scene.add(y),C=new l.CameraHelper(M.shadow.camera),C.visible=!1,f.scene.add(C);let t=f.zoomLevel;f.addEventListener(a.MapViewEventNames.Render,(()=>{const n=w.target;t!==f.zoomLevel&&(n.set(0,0,-f.targetDistance),t=f.zoomLevel),w.update();const i=void 0!==f.pointOfView;i&&e.update(),e.visible=i,y.update(),C.update()}))}(),z()}))}("mapCanvas",{extends:"resources/berlin_tilezen_base.json",lights:[{type:"ambient",color:"#ffffff",name:"ambientLight",intensity:.9},{type:"directional",color:"#ffffff",name:"light1",intensity:1,direction:{x:0,y:.01,z:-1},castShadow:!0}],definitions:{defaultBuildingColor:{value:"#EDE7E1FF"}}})},4428:e=>{e.exports=THREE}},t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={exports:{}};return e[i].call(o.exports,o,o.exports,n),o.exports}n.m=e,n.x=e=>{},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},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.j=890,(()=>{var e={890:0,738:0},t=[[7941,592]],i=e=>{},o=(o,a)=>{for(var r,s,[l,d,c,h]=a,u=0,p=[];u<l.length;u++)s=l[u],n.o(e,s)&&e[s]&&p.push(e[s][0]),e[s]=0;for(r in d)n.o(d,r)&&(n.m[r]=d[r]);for(c&&c(n),o&&o(a);p.length;)p.shift()();return h&&t.push.apply(t,h),i()},a=self.webpackChunk_here_harp_examples=self.webpackChunk_here_harp_examples||[];function r(){for(var i,o=0;o<t.length;o++){for(var a=t[o],r=!0,s=1;s<a.length;s++){var l=a[s];0!==e[l]&&(r=!1)}r&&(t.splice(o--,1),i=n(n.s=a[0]))}return 0===t.length&&(n.x(),n.x=e=>{}),i}a.forEach(o.bind(null,0)),a.push=o.bind(null,a.push.bind(a));var s=n.x;n.x=()=>(n.x=s||(e=>{}),(i=r)())})(),n.x()})();