Bonjour,

Je suis au centre d'une pièce (point (0,0)), et je me déplace. Je souhaite connaitre la distance que j'ai parcouru horizontalement et verticalement (en mètre) depuis ce point d'origine.
Je code en javascript. Je suis absolument ignorant en algo, j'arrive à récupérer la position géolocalisée de mon appareil (latitude et longitude), mais je ne vois pas comment je peux faire une comparaison de distance entre 2 points. J'ai l'impression que lorsque je me déplace, les valeurs ne changent pas beaucoup.

mon code :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Suspect Room</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
        <meta name="apple-mobile-web-app-capable" content="yes" />
        <meta name="apple-mobile-web-app-status-bar-style" content="black" />
        <link rel="apple-touch-icon" href="apple-touch-icon.png" />
 
        <meta http-equiv="cache-control" content="max-age=0" />
        <meta http-equiv="cache-control" content="no-cache" />
        <meta http-equiv="expires" content="0" />
        <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
        <meta http-equiv="pragma" content="no-cache" />
    </head>
    <body onload="getLocation();">
        <div id="position"></div>
    </body>
    <script type="text/javascript">
        var x = document.getElementById('position');
        var startPosition = undefined;
        function getLocation() {
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(showPosition);
            } 
            else {
                x.innerHTML="Geolocation is not supported by this browser.";
            }
        }
 
        function showPosition(position) {
            console.log('showPosition');
            if(typeof startPosition == 'undefined'){
                startPosition = position; // Ma position de départ
            }
            x.innerHTML="Latitude: " + (startPosition.coords.latitude - position.coords.latitude) + "<br />Longitude: " + (startPosition.coords.longiatitude - position.coords.longitude);
            setTimeout(getLocation(), 1);
        }
 
        function getWatchLocation() {
            if (navigator.geolocation) {
                navigator.geolocation.watchPosition(showWatchPosition);
            } else {
                x.innerHTML="Geolocation is not supported by this browser.";
            }
        }
        function showWatchPosition(position) {
            x.innerHTML="Latitude: " + position.coords.latitude + "<br />Longitude: " + position.coords.longitude;  
        }        
    </script>

L'idée finale est de pouvoir évoluer dans une pièce virtuelle (en 3D en VR). Donc, je souhaite déplacer ma caméra 3D en fonction de mon déplacement physique.

Merci pour votre aide.

Zecreator.