GithubHelp home page GithubHelp logo

ebeaufay / ultraglobe Goto Github PK

View Code? Open in Web Editor NEW
158.0 158.0 19.0 59.99 MB

A globe in threejs with OGC WMS imagery, OGC 3dtiles and elevation

License: GNU General Public License v3.0

HTML 0.51% JavaScript 99.49%
3d gis map

ultraglobe's People

Contributors

ebeaufay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ultraglobe's Issues

PanController constrain axis

This is a very impressive library Emeric. Thank you for this.

I appreciate that the maths involved here is non trivial and am still struggling to grok PanController._update().

When looking down on terrain in a 'plan' view, panning left right in large circular motions adds camera rotation. Is there a way to prevent this?

Issue with planetTile when starting blank project

I'm trying to follow the tutorial to start up a project, yet it throws error and renders nothing with example code.

error:
image
image

code:

<template>
    <canvas id='map'></canvas>
</template>
<script setup>
    import { Map } from '@jdultra/ultra-globe/dist/ultraglobe.min.js';
    import { onMounted } from 'vue';
    let map;
    onMounted(() => {
        map = new Map({ divID: 'map' });
    })
</script>
<style scoped>
    #map {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
    }
</style>

dependencies:

"dependencies": {
    "@jdultra/ultra-globe": "^4.2.4",
    "vue": "^3.4.21"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^5.0.4",
    "vite": "^5.1.6"
  }

Scrolling and panning is too fast in custom app

Hi and thanks again for making this library available!

I've been working towards integrating the Google Tiles version in a Typescript + NextJS app, and I've managed to make it work and have it appear on screen the same way as in your example.

However, the scrolling and zooming is way faster than in the examples: it feels as if the controls system doesn't take into account the geometry of the globe and hence they always are at "full speed" as if you are far away from the globe.

Here's a video showing the issue I'm seeing: https://youtu.be/_GUWisGyc6Q

As you can see, when you're far from the globe, the movement is as fast as you'd expect. But zooming is way too fast, and when you manage to zoom in, then panning seems to pan more than you'd expect.

My project can be found here, specifically I am setting up UltraGlobe here and here.

I'll continue investigating, but maybe you know the answer immediately?

Thank you!

Can't rotate map

Hi, thank you for this amazing project first off.

I'm trying the various examples and both on my Macbook and iPhone I can't rotate the camera, only move it around.

Is that expected?

Thank you again.

Limit navigation and Loading to a specific area

I was working on your UltraGlobe project and was really interested in this. Also, I was working on it to load a specific area base on the latitude and longitude.

I did it like this using GoogleMap3DTileLayer.
map.moveAndLookAt(
{ x: 140.0987606112061, y: 35.625445678544715, z: 300 },
{ x: 140.0987606112061, y: 35.625445678544715, z: 170 }
);

That conversion part works perfectly.

But, It is caused to move my camera to that position instead of loading it to the 0, 0, 0.
I need to load a specific area only, I was trying to load a particular place on 0, 0, 0 as you did for Berlin.

I need to prevent loading more tiles when moving around the world and focus only on my initial loaded area.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.