Module Geolocalisation pour lister des marqueurs sur une carte.
fred
Messages 1,969Administrateur
Bâti sur un modèle identique au module geoGallery, GeoLocalisation permet de représenter des lieux sur une carte. Les points d'intérêt sont nommés et bénéficient d'une description sommaire en html pour le moment.
Pour retrouver les coordonnées géographiques, on utilisera indifféremment opentreetmap, gmap, etc… La latitude et la longitude sont exprimées en coordonnées décimales, il faut donc saisir une virgule ou un point.
Dans une version à venir, il sera possible d'ajouter des images à la description du POI. Attention quand même à ne pas être trop long, elle s'affiche dans une popup.
Post edited by fred on
The f....g boss
0
Connectez-vous ou Inscrivez-vous pour répondre.
Commentaires
La popup admet des images et du html
Bonjour,
merci @fred. Pas mal de cas d'usage sont envisageables, par exemple dans un cadre associatif. Avec Openstreetmap, on reste dans le libre, un beau duo.
C’est clair on peut faire pas mal de chose.
Il n’y a pas d’options, peut-être à l’avenir, il faudra jouer avec les feuilles de styles.
Correction d'une erreur de parsing dans la description, reste à voir le pb des champs vides.
Paramétrage de la carte depuis la feuille de style de la page. Bien supprimer index.css dans view/index
Pas de commentaire dans la feuille de style.
Affiche désormais le contenu de la page.
Bonjour @fred ,
Je viens d'installer, pour tests, ce module et voici ce que j'obtiens : https://lemimi.fr/fr/geolocation
En configurant le module de cette page, j'entre 49.166667 de Latitude et 1.33333 de Longitude et j'enregistre.
Après enregistrement, je m'aperçois que les points décimaux ont disparus. J'ai aussi essayé avec les premières versions 01 et 02, idem.
Bonne journée... Michel
Hello @lemimi ,
Tu as raison, j'ai des problèmes avec la fonction du helper filter_var($text, FILTER_SANITIZE_NUMBER_FLOAT) qui supprime la virgule flottante. Comme cette fonction n'est pas utilisée dans ZWII le problème n'était jamais apparu.
Il faut remplacer le fichier core/class/helper.class.php par celui ci-dessous (et qui sera livré avec la mise à jour).
La correction consiste en cette modification du code :
Je viens de faire les corrections, cela fonctionne avec la version 02 : https://lemimi.fr/fr/geolocation-02
Par contre, avec la dernière version, niet : https://test.lemimi.fr/-fr/geolocation-06
Bonne soirée... Michel
PS : j'ai fait des tests sur toutes les versions sorties, cela fonctionne jusqu'à la 03 : https://test.lemimi.fr/-uk/geolocation-03
04,05,06 pas bon
Je te conseille de supprimer les données générées avec les premières versions et de recréer les POI, les données sont différentes.
Et surtout, il te faut recommencer depuis une nouvelle page, dans les dernières versions l’initialisation de la page charge la feuille de style qui permet au script de s’afficher. Il faut aussi supprimer index.css devenu inutile.
Ces installations ont été faîtes chacune séparément en version neuve sur des sites de tests différents.
Je n'ai pas fait évoluer de la 01 vers 02, 03... à chaque fois j'ai effacé la page du site de test, effacé complètement par FTP l'ancienne version du module avant d'y transférer une nouvelle.
Je viens tout juste de faire la manœuvre directement en 06 sur un autre site en mettant à jour le core, les décimales sont bien prises en compte :
https://test.lemimi.fr/test/rouen
Et idem.
Bonne nuit... Michel
Holà Michel,
J'ai modifié l'initialisation de la feuille de style, désormais, elle est toujours intégrée au contenu de la page.
Ainsi, il est plus facile d'agir sur la présentation du script, mais il faut être certain qu'elle soit présente si rien ne s'affiche.
Ce sera un fonctionnement identique à geogallery et à agenda que je teste encore. Rappel aux utilisateurs qui prennent le fil, il faut mettre à jour le helper voir plus haut.
Voici la mise à jour.
Merci pour le retour, cela fait gagner du temps.
Coucou Fred,
J'ai effacé complètement la 03 et installé à la place la version 07... c'est nickel et c'est ici : https://test.lemimi.fr/-uk/geolocation-07
Au plaisir et bonne journée... Michel
Merci Michel,
Ci-dessous une adaptation qui n'utilise plus le filtre FLOAT du helper ce qui permet de s'affranchir de la version de Zwii installé.
A plaisir et à bientôt sur le forum.
La 08 fonctionne nickel ici : https://test.lemimi.fr/-fr/rouen
Merci Michel.
Les modules supplémentaires bénéficieront d'un dépôt spécifique, cela simplifiera le suivi des modifications.
https://forge.chapril.org/ZwiiCMS-Team/Zwii-Modules
Version 1.1 sur le store, présence d'un bouton pour ouvrir directement la feuille de style de la page depuis la page de configuration du module.
Bonjour. Dans zwiiCMS 13.4.00 j'ai installé le module geolocalisation version 1.1. J'ai bien indiqué la latitude et la longitude, les points décimaux ne disparaissent pas, mais dans la page web cela affiche une zone vide de hauteur 500px (comme mentionné dans le CSS). Aucun message d'erreur ne s'affiche, et pas d'erreur PHP dans le log d'apache2. Que faire pour afficher la carte au lieu d'une zone vide ?
Bonjour Pierre,
J'ai ce module qui fonctionne, en Version 1.1, ici : https://test.lemimi.fr/zwii-modules/geolocalisation.
As-tu bien entré les points comme ci dessous :
19-11-2024 : Peut-être devrais tu essayer avec l'une des adresses de l'image ci-dessus : 49.546806 et 0.085718
Bon courage... Michel
Bonjour Michel,
Oui, j'ai bien entré les points d'intérêt comme indiqué.
En essayant avec 49.546806 et 0.085718, ça affiche aussi une zone vide. Par contre, si je clique sur le lien https://test.lemimi.fr/zwii-modules/geolocalisation, ça marche.
Toutefois, mon site utilise zwiicms 13.4.00 (et non pas 13.5.00), et le serveur web est (pour l'instant) mon ordinateur personnel avec apache2, et n'est visible que sur le réseau local de ma Box. Le problème vient peut-être de là ?
Hello,
Je viens d'installer le module sur une version13.4.00 : https://test.lemimi.fr/zwii-13.4/geolocalisation
C'est nickel de mon côté.
Bonne soirée...
Hello @Pierre
As-tu recherché une erreur dans la console du navigateur ?
Il n'y a normalement pas de prérequis comme pour le module geogallery.
Bonjour Fred,
Effectivement, dans la console du navigateur chromium, il y a le message d'erreur:
Uncaught SyntaxError: Unexpected identifier 'école'
Je précise que dans la page web qui utilise le module geolocalisation, j'ai aussi écrit un petit texte qui contient le mot: l'école
Si je supprime ce mot de mon texte, j'ai toujours le même message d'erreur. C'est incompréhensible.
En fait, ce n'est pas la string "l'école" du texte de la page qui fait tout planter, c'est la string "l'école" dans le nom ou la description du point d'intérêt. J'ai changé le nom et la description, et maintenant la carte s'affiche. Ouf !
C'est peut-être l'apostrophe qui fait tout planter... A tester et peut-être informer l'utilisateur que certains caractères ne sont pas autorisés.
Maintenant que la carte s'affiche, c'est super. Merci pour tout ça.
Toutefois, la carte s'ouvre avec le zoom maximal, ce qui est un peu trop pour mon site. Y a-t-il un paramètre à modifier pour qu'elle s'ouvre automatiquement à un autre niveau de zoom ?
Bonjour @Pierre ,
Dans module/geolocation/geolocation.php , ligne 373 tu as :
Tu réduis la valeur au-dessous de 21. Ici j'ai indiqué 17 : https://www.test.lemimi.fr/zwii-13.4/geolocalisation
Et à 21, c’était cela :
Bonne journée... Michel
Bonjour,
Je me méfie comme de la peste des caractères accentués, dans le doute j'enlève l'accent et autres cédilles
J'ai testé : c'est l'apostrophe dans le nom du point d'intérêt qui fait tout planter. Les caractères accentués ne posent pas de problème.
@lemimi : merci pour cette info concernant le zoom maxi. J'ai essayé 20 et 19 qui ne changent rien, 18 qui donne un cran en dessous du maxi, et 17 qui donne deux crans en dessous du maxi. 18 convient très bien pour mon site.