Mode Galileo
publié le , mis à jourMaintenant que le lecteur de trace fonctionne, il faut implémenter le mode GPS via ses fonctions de position de caméra.
On peut même être ambitieux et maintenir aussi le slider qui permet de simuler la suite du trajet !
La différence entre la trace GPS et le vrai trajet est fine, car ce dernier est lui aussi piloté par une trace GPS modélisée par le calculateur d'itinéraire. Faudra donc gérer un format interne compatible avec la réponse de bRouter comme de valhalla.
Commençons par brouter vélo !
👀 Une grande partie de cette liste de tâches a été avalée par #2981.
À faire
- Le lecteur restera, compacté sur une ligne, pour afficher l'avancement et permettre de visualiser le futur :)
- coder tout ça en se mettant bien en tête que les setPosition de la trace sont ceux d'un trajet réel en cours
- itérer avec plusieurs traces
Un peu moins prio
- la voix, vachement important mais pas pour la v1. On utilisera notre propre lib, car pas d'accès à celle d'Android probablement. Pas grave, on peut faire mieux.
- Je vois des super bib de voix "offline", c'est impressionnant ! Clairement au-delà du premier usage, c'est rentabilité, et pas besoin de serveur de notre côté. Mais c'est robotique https://tts.ampixa.com/sanoTTS/
- sinon, on héberge l'outil sur nos serveurs et on le stream, mais c'est bien plus compliqué, je crois.
- design : mettre un simple bouton son pour l'activer / le désactiver -> indicateur de chargement -> hop bonjour.
- un autre hook va ajouter des flèches sur la carte pour les virages ; des panneaux stop peut-être, etc.
- dans useGpsPositionMarker, maj le bearing avec le segment futur, pas le segment passé
- adapter le code pour le mode voiture avec Valhalla
- avec les limites de vitesse. Hors de question de sortir ça sans les limites de vitesse affichées clairement. Tester à vélo que ça marche.
- mutualiser le bloc instruction de routage avec valhalla
Bonus
- compacter le lecteur pour qu'il soit utilisable sur mobile
pmiossec
Pour référence future (je ne sais pas si c'est le meilleur endroit pour le mettre):
CoMaps a prévu d'utiliser çà pour les infos de trafic:
laem
Cool donc c'est eux qui font le travail de fédérer les sources ? Si on peut déjà collaborer en partageant ce projet, c'est génial :)
laem
À noter qu'un département, l'Isère, vient de nous contacter à ce sujet, ils ont de la donnée.
etienneJr
Tournez dans nan m La distance a sauté quand j'ai zoomé, de 3 à 300 km Et le tracé à disparu aussi
pmiossec
J'arrive pas à reproduire mais lors de la 1ere utilisation, j'ai eu un crash avec "Message d'erreur : Cannot read properties of null (reading 'speed')"
laem
Bug de Philippe normalement corrigé, un autre aussi mais pas sûr que ça résolve le tien Etienne, mais j'arriverai à le reproduire par hasard je pense :)
etienneJr
J'ai réessayé sur mon trajet de velotaf : même bug, quand je clique sur "y aller", "ma position" devient "nouveau départ", avec des coordonnées aberrantes au centre de la France. Le zoom de change pas, mais en dezoomant je vois le nouvel itinéraire (cf capture) https://cartes.app/?clic=48.85207%7C2.20521&allez=Nouveau+d%C3%A9part%7C%7C2.122474944305708%7C46.951729168811084&mode=velo&galileo=oui&perspective=moi_#15.58/46.952069/2.122204
Edit : c'est spécifique à firefox, ça marche sur chrome
etienneJr
Quand je clique sur la carte, la flèche se déplace là où j'ai cliqué, et ne se met plus à jour. (j'ai cliqué car mon écran avait baissé la luminosité)
etienneJr
Je sais que t'aimerais communiquer sur la réalité de Galileo, mais parler de "mode Galileo" invisibilise ce travail de dingue, car les gens ne comprennent pas de quoi tu parles. Et pour moi cette fonction ne s'appelle même pas mode GPS, mais navigation, ou éventuellement guidage.
pmiossec
@laem wrote in https://codeberg.org/cartes/web/issues/2793#issuecomment-22670365:
Bug de Philippe normalement corrigé, un autre aussi mais pas sûr que ça résolve le tien Etienne, mais j'arriverai à le reproduire par hasard je pense :)
Moi je l'ai tout le temps celui d'Étienne. Mobile avec Firefox. Sur Vivaldi, ça à l'air de fonctionner...
etienneJr
J'ai re testé ce matin sur mon trajet de vélotaf. Globalement c'est vraiment chouette, les indications sont bonnes, l'itinéraire se recalcule bien quand je ne le suis pas. J'ai quand même quelques remarques évidemment ! 😅
- au démarrage du guidage, il faut fermer la modale
- les indications : j'ai mon tel dans une pochette plastique sur mon cadre (cf photo) c'est loin de mes yeux, je ne vois que "tournez à gauche". Tout le reste est illisible, même la flèche. Alors que l'info "dans 50m" est tout aussi importante. L'info "puis..." est moins importante.
- ça me fait penser : ptêt que la vue est trop zoomée sur le vélo ? Ce qui empêche de voir les croisements assez à l'avance ?
- quand j'ai voulu arrêter le guidage pour recalculer un nouvel itinéraire, je le suis un peu galéré, mais bon c'est l'effet 1ère utilisation
laem
Merci beaucoup pour les tests ! Les clics qui changent l'origine, c'est pour le dev, je vais le cacher dans un mode "cliquez pour dire où vous êtes". Une partie des bugs vient de là.
etienneJr
Nouveaux tests au retour
- si on a dévié et que le système a recalculé un nouvel itinéraire alors le message
continuer tout droitne s'affiche plus jamais, il est remplacé parhors itinéraire(cf PJ)
- si on a dévié et que le système a recalculé un nouvel itinéraire alors le message
etienneJr
Quand l'itinéraire est à l'opposé de notre direction, on voit l'itinéraire vers le haut et notre flèche vers le bas (cf PJ). L'avantage c'est qu'on comprend immédiatement que qqch cloche. Mais c'est vraiment dur de lire la carte à l'envers. Je pense qu'un comportement plus logique serait :
- la carte à l'endroit
- une instruction "faites demi tour"
- ceci est valable dans tous les cas, c'est trop bizarre de lire "tournez à droite" dans ce cas.
- ptet la flèche qui passe en rouge ?
etienneJr
Je pense que les adverbes légèrement et fortement se déclenchent trop facilement. Ca complexifie la lecture de l'instruction pour une information peu utile. Il faudrait les restreindre aux épingles à cheveux.
laem
Je pense que les adverbes légèrement et fortement se déclenchent trop facilement. Ca complexifie la lecture de l'instruction pour une information peu utile. Il faudrait les restreindre aux épingles à cheveux.
Ah mince plus compliqué ça, car c'est brouter qui nous les file.
laem
J'ai corrigé les pb de https://codeberg.org/cartes/web/issues/2793#issuecomment-22785979, à peu près, en v0.2 :)
Ça nous fait donc une "alpha 2". Allez, je file l'essayer !
laem
OK je reproduis votre pb sur Firefox. C'est le centre de la France, une coordonnée par défaut. Je vais regarder, ça devrait pas être trop complicado.
pmiossec
Utilisé également ce matin pour le mon vélotaf: ça marche plutôt bien.
2 propositions d'améliorations?
- Sur la ligne principale, colorer la distance affichée: pas de couleur (ou vert) pour un changement dans longtemps, orange pour un changement bientôt et rouge pour un changement "mantenant". La partie difficile est que peut-être que les valeurs doivent être différentes suivant le type de "transport" utilisé.
- cela m'a induit en erreur que la 2ème ligne affiche la distance à la position actuelle et non pas après le changement précédent ce qui rend l'anticipation difficile car il faut faire un calcul dans sa tête. ex : "Tourner à droite dans 500m / Tourner à gauche dans 510m" J'aurais bien vu : "Tourner à droite dans 500m / Tourner à gauche 10m après"
Autres (pas totalement lié à Galiléo, pour garder une trace...)
- Pour les itinéraires qu'on met en favoris, il ne faut pas sauver le nom "Ma position" car on ne sauvegarde pas un itinéraire "dynamique" à partir de sa position courrante mais à partir d'un point précis. Remplacer par les coordonnées GPS?
- Mettre en favoris un itinéraire toggle l'affichage du header
- Quand on saisie un itinéraire, il faut ouvrir la modale au max.
- Quand on importe un GPX, la durée estimée est vraiment fausse: une trace d'env 100km est affichée en à
trois quarts d'heure. C'est parce qu'on fait une estimation voiture? Demander le mode de déplacement lors de l'import? ou ne pas afficher le temps mais plutôt la distance? - nit: supprimer la puce du
<li>devant l'affichage de l'itinéraire lorsqu'on l'a sélectionné.
laem
OK, manquait un newGeolocation.coords.toJSON(), car c'était un object GeolocationCoordinates, pas un json ! https://developer.mozilla.org/en-US/docs/Web/API/GeolocationCoordinates
Théoriquement donc, le bug est résolu sur FF.
laem
J'aurais bien vu : "Tourner à droite dans 500m / Tourner à gauche 10m après"
Ah oui pas bête. Au début j'étais parti sur la distance de l'étape, donc ça, mais sans le "après" c'était pas clair du tout. J'y reviens et je l'ajoute.
laem
Retours en vrac de WE.
Mettre les "400m" dans "dans 400m" en avant. Quand on est à 10 secondes du virage, flasher à l'écran le fait qu'il y a un changement + bip. Qui deviendra une instruction vocale un jour. ✅ fait
À vélo, le tracé de dénivelé en mode gali est incontournable. Un mini-graphe pourrait cool aussi. Ça pourrait être un combo : à la fois indicateur d'avancement dans le tracé et pentes compressées sur 2 rem de hauteur. Classe !
Des indications sportives, encouragements du style "1/4 de l'effort jusqu'au col fait". Pourrait être sympa à pieds aussi : vous avez fait 50 % du trajet !