Development #14478
champ carte : ajouter un bouton "geoloc"
0%
Description
Surtout sur téléphone, la geoloc ne marche pas toujours au moment où on affiche le formulaire, ou bien le gps est lent (plus de 10 secondes), bref il serait bien utile de pouvoir relancer la geoloc.
Pour ce faire, voir comment on pourrait ajouter un icône sur la carte (à côte des + et -) tel que https://thenounproject.com/term/gps-localization/764312/ qui forcerait une nouvelle geoloc.
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a environ 7 ans
https://github.com/stefanocudini/leaflet-gps (court) ou https://github.com/domoritz/leaflet-locatecontrol (long) font ça; Ça me semble aussi possible de refaire le truc nous-même, http://leafletjs.com/reference.html#icontrol pour l'ajout d'une icône qu'on tirerait de fontawesome + sur un clic lancer map.locate(). Préférence perso, ce serait de copier leaflet-gps dans notre dépôt et de le modifier pour adapter css/icône.
Mis à jour par Frédéric Péters il y a environ 7 ans
- Fichier 0001-manual-geoloc-stuff-draft-14478.patch 0001-manual-geoloc-stuff-draft-14478.patch ajouté
- Patch proposed changé de Non à Oui
vague début de patch, en important leaflet-gps. Ce qu'il faut y modifier : pas fonctionner en on/off, juste redemander de la géoloc sur le clic. Quand la géoloc aboutit (et qu'il n'y a pas encore de marqueur sur la carte ?), poser le marqueur. Lire davantage.
Mis à jour par Thomas Noël il y a environ 7 ans
Frédéric Péters a écrit :
(et qu'il n'y a pas encore de marqueur sur la carte ?)
Pas la peine, la personne peut demander à se regéolocaliser (utile si le GPS a été un peu trop vague au début)
Mis à jour par Frédéric Péters il y a environ 7 ans
http://fontawesome.io/icon/dot-circle-o/ pour l'icône.
Mis à jour par Frédéric Péters il y a environ 7 ans
- Fichier 0001-misc-add-new-button-on-maps-to-re-ask-for-device-geo.patch 0001-misc-add-new-button-on-maps-to-re-ask-for-device-geo.patch ajouté
- Statut changé de Nouveau à En cours
Patch, testé sur l'iphone et le wiko du bureau, + le téléphone de Brice, + celui de de Thomas et sur celui de Thomas ça ne marche pas encore tout à fait.
Mis à jour par Thomas Noël il y a environ 7 ans
Frédéric Péters a écrit :
mon test a été :... sur celui de Thomas ça ne marche pas encore tout à fait.
- téléphone avec geolocalisation coupée
- ouvrir firefox
- ouvrir la page
- accepter la demande de geoloc (mais elle est toujours coupée ah ah ah)
- et donc activer la geoloc (dans les préférences du téléphone)
- appuyer sur la cible : rien, rien ... message "timeout"
- passer sur une appli avec de la geoloc (citymapper) constater que ça marche bien, geoloc parfaite
- revenir sur firefox, appuyer sur la cible : ça marche
Bon bref, on peut dire que ça marche quand même, allez.
Mis à jour par Thomas Noël il y a environ 7 ans
En fait je ne comprends pas le « watch: true, » qui va appeler "watchPosition" qui va renvoyer des infos de geoloc tant que la personne bouge.
Pour moi c'est pas ce qu'on veut, on veut juste un getCurrentPosition lorsqu'on clique sur la cible, rien de plus.
Mis à jour par Frédéric Péters il y a environ 7 ans
En fait je ne comprends pas le « watch: true, » qui va appeler "watchPosition" qui va renvoyer des infos de geoloc tant que la personne bouge.
Pour moi c'est pas ce qu'on veut, on veut juste un getCurrentPosition lorsqu'on clique sur la cible, rien de plus.
Sauf que cet appel d'API, il reviendrait exactement à celui qu'on a actuellement. (actuellement = aujourd'hui dans le code, sans le patch).
Passer par watch: true, ça me permet de m'affranchir des problèmes de timeout, et quand le fix est obtenu, on arrête le watch. (map.stopLocate();)
Mis à jour par Thomas Noël il y a environ 7 ans
Donc, ack ainsi
(mais je reviendrai un autre jour de pluie sur le sujet ; pour moi c'est bien d'avoir un timeout qui dit explicitement à l'utilisateur "pas trouvé votre position" (ie retente ta chance... t'as bien activé la geoloc ?) plutôt qu'un watch où on sait pas du tout ce qui se passe)
Mis à jour par Brice Mallet il y a environ 7 ans
- Fichier fix gps avec décalage.png fix gps avec décalage.png ajouté
A lire ceci
et quand le fix est obtenu, on arrête le watch. (map.stopLocate();)
Je crois comprendre ce que j'ai observé hier i.e. :
- demande de trouver ma position
- OK un point trouvé mais à plus de 50 m de ma position réelle (cf. copie écran)
- j'ai bon re-cliquer sur l'icône mire, ma position n'est pas ajustée
car si j'ai bien compris le premier fix (trop approximatif) n'est pas remplacé par les fixs suivants alors que ceux-ci sont plus précis
Mis à jour par Frédéric Péters il y a environ 7 ans
Mais si tu recliques il devrait déplacer pour se rapprocher.
Mis à jour par Brice Mallet il y a environ 7 ans
et ben non, mais je vais refaire des essais
et si marche on dira que j'ai pas bien testé la première fois ;-)
Mis à jour par Thomas Noël il y a environ 7 ans
tiens, pas mal ici : https://www.mapbox.com/mapbox.js/example/v1.0.0/leaflet-locatecontrol/
Mis à jour par Thomas Noël il y a environ 7 ans
"Donc, ack ainsi" disais-je, et je reste sur cette idée de "ack maintenant" ; on verra pour améliorer sur l'itération suivante si besoin.
Mis à jour par Frédéric Péters il y a environ 7 ans
- Statut changé de En cours à Résolu (à déployer)
commit 7a52cc448950fd999754c7216657bad6ae15bde2 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Wed Jan 25 17:18:07 2017 +0100 misc: add new button on maps, to re-ask for device geolocation (#14478)
misc: add new button on maps, to re-ask for device geolocation (#14478)