WIP Interactive globe from Nico's sources

- The globe is a bit small? Ability to control the max-min size potentially
- Is there a reason why `globe.update()` runs every second? Sounds like a lot of resources?
- Have the ability to control the `addEventListener` of the markers to do whatever (in this case, going to a route by clicking on a link with a sapper-noscroll attribute + changing the href attribute on click - the method `goto` from Sapper scrolls back to top / maybe something to fix with the current transition issues?)
- Edited in `./index.js`:
    1. Using the class as `export default WebglGlobe` instead of Window (as Svelte or Sapper doesn't likayt)
- Edited in `Camera.js`:
    1. Commented line 218: `e.preventDefault();` would cause this error: `[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See <URL>`
This commit is contained in:
2020-04-02 20:55:20 +02:00
parent 730eb75457
commit 2064885997
73 changed files with 15339 additions and 137 deletions

33
src/globe/beam/Loader.js Executable file
View File

@@ -0,0 +1,33 @@
export default {
cache: {
},
loadImage (url, callback) {
if (this.cache[url] !== void 0) {
callback( this.cache[url] );
return;
}
var image = new Image();
image.onload = ()=>{
image.onload = null;
image.onerror = null;
this.cache[url] = image;
callback(image);
}
image.onerror = ()=>{
image.onload = null;
image.onerror = null;
console.warn('Cannot load image :' + url);
}
image.src = url;
}
}