Aller au contenu Aller à l'accueil Plan du site Rechercher Aide sur les raccourcis clavier

GoogleMapsAPI et GIS sur ce site Accueil > Ce site (Clic0) >

GoogleMapsAPI et GIS sur ce site


Ludiques et utiles, les cartes apportent un plus visuel lorsqu’on tente de raconter une balade. Et comme c’est le cas sur ce site, j’ai tout de suite adopté et intégré des cartes Google pour dynamiser les articles. Cela n’a pas forcément été toujours simple. Il a fallu au préalable installer et configurer deux plugins dans SPIP. Tout une histoire. En voici le récit :

Installation du plugin Google Maps API

Comme la plupart d’entre nous, j’ai dû tâtonner. Et quand je n’avais pas de résultat, j’ai désinstallé puis réinstallé puis choisi une autre version ... Au final, j’ai une combinaison de 2 plugins qui fonctionne. Le plugin Google Maps API ne rend pas un grand service à lui tout seul si ce n’est qu’il conserve la clef Google, nécessaire pour se connecter et bénéficier des cartes. SPIP pourra maintenant dialoguer avec Google et sera apte à pouvoir fonctionner avec GIS car il contient également un script (geomap.js) que le plugin GIS utilisera. Google Maps API et GIS au départ ne faisaient qu’un et le découpage m’a laissé un peu perplexe. Certainement de bonnes raisons pour l’avoir scinder de cette manière ...

Intallation du plugin GIS escoitar

J’ai découvert le plugin GIS d’Escoitar. Fabuleux outil ! Ce plugin GIS, couplé au plugin Google Maps API affiche les cartes Google Maps sur les pages publiques d’un site SPIP. D’autre part, il facilite le choix des cartes lors de la rédaction d’un article et mémorise l’endroit sélectionné. Il peut même faire apparaître en surimpression la trace d’un parcours enregistré avec un GPS.

Pour ma part, j’utilise le plugin GIS version 17694, associé au plugin Google Maps API version 17885, et le tout est installé sur un SPIP version 1.9.2d [11132]. Hélas, la documentation sur le plugin GIS est rare à ce jour. Aussi, j’en profite ici pour en détailler l’usage que j’en ai fait et les subtilités que j’ai pu découvrir.

Le plugin GIS a bien installé 2 tables supplémentaires dans la base de données de SPIP. C’était précisé par les auteurs. La première table porte le nom de spip-gis et contient les champs :
- id_gis
- id_article
- lat
- lonx

La deuxième table (spip_gis_mots) :
- id_gis
- id_mot
- lat
- lonx
- zoom

On voit apparaître dans cette deuxième table le champ ’id_mot’ et zoom. J’y reviendrai. Un champ ’zoom’ qui n’est pourtant pas encore utilisé ?!?

Après l’installation des 2 plugins dans SPIP, une carte par défaut est proposée aux rédacteurs dans la partie privée. Il s’agit d’une région espagnole, prisée par les auteurs des plugins. Heureusement, la configuration du systeme geographique reste possible par l’administrateur du site dans la configuration du plugin. Il peut être intéressant de faire le choix d’un autre endroit. Bien réfléchir aux futures localisations pour le choisir (localisation d’un endroit par défaut) judicieusement, afin d’éviter aux rédacteurs de faire 3 fois le tour du monde pour arriver à la zone qu’ils souhaitent géolocaliser.

Il est possible de changer le pointeur par défaut. Ceci dans le but d’associer à une localisation, un type d’activité par exemple. Imaginez une carte avec différents marqueurs montrant des zones VTT et des zones de randonnée par exemple. Afin de permettre un choix de types de marqueurs aux rédacteurs, l’administrateur du site aura intérêt à créer un groupe de mots-clés ’marker_icon’ et imaginer quelques mots-clés (VTT, Randonnée, ... ). A chacun des mots-clés sera associé un logo qui permettra de faire une relation, par exemple le logo d’un vélo pour le VTT ou le logo d’un marcheur pour les randonnées pour localiser une zone. Chaque image de logo de ce site est au format png transparent, de 32 x 32, bien que le marqueur Google de base (certain le compare à une goutte d’eau) adopte une taille de 20 x 34 par défaut. Il m’a fallu signaler dans le fichier (Google) geomap.js que l’iconSize était de 32 x 32.

Une autre fonctionnalité intéressante du plugin GIS consiste à superposer à sa carte la trace d’un parcours, une ballade par exemple. Si on dispose d’un GPS capable d’enregistrer son parcours, on obtient un fichier au format gpx. Or le plugin GIS n’accepte que les fichiers KML. Pour générer ce type de fichier, rendez-vous sur visualizer.com ou tout autre site de ce genre, la conversion (gpx en kml) est facile et rapide. En joignant le fichier kml obtenu à l’article ou à la rubrique, une trace sera affichée (en superposition à la carte) dans l’espace public.

Il faudra passer par ’Recalculer’ pour voir apparaître . SPIP gère ses pages en cache. A propos de caches, il y a aussi celui de votre navigateur sans oublier ceux des sites Google (mt1, mt2, mt3 ... ). La carte doit s’afficher avec son marqueur (personnalisé) géolocalisé centré sur la carte. Un clic sur le marqueur et une bulle Google apparaît, elle affiche le titre et un lien vers cet article, sa première image associée, le descriptif (chapeau par défaut) de l’article ainsi que la première image que l’on aura associée en document à l’article ou encore le lecteur de mp3, si l’on a ajouté un mp3 comme document de un article. On peut changer tout cela en allant voir dans le fichier (GIS) rss-gis.html. C’est lui qui va créer le fil d’informations géocodées, le départ du processus. Le plugin GIS va l’utiliser pour faire son travail d’affichage. Il va s’occuper de créer un fichier xml dans lequel on retrouvera les coordonnées des différents pointeurs et toutes les données (lien, image, ...) associées à chacun d’eux. Ce fichier xml sera utilisé par le plugin Google

J’ai scrupté avec attention les fichiers du plugin GIS. Il y a vraiment 3 fichiers importants pour le bon fonctionnement du couple gis/googlemaps :

- rss-gis (gis) qui va fabriquer l’info géolocalisée RSS (un fichier XML) à partir des articles et ceci avec une hiérarchisation des infos qui vont se retrouver en final pour l’affichage, dans un certain ordre. Ce fichier va être utilisé par inc-gis_map (gis)

- inc-gis_map qui est composé exclusivement de commandes Google avec quelques boucles Spip et qui affichera en final toute l’info (marqueurs et bulles complètes) sur la carte

- et geomap.js (googlemap_api) sera utilisé par le précédent car il contient un ensemble de fonctions Javascript (créer un marqueur, agréger ses informations, ...). En détail :

- le fichier inc-gis_map.html contient uniquement un javascript de traitement et d’affichage Google.

La fonction de création de carte va placer différents types de contrôles :
- contrôle du type de cartes : addControl(new mapTypeControl()
- contrôle du zoom : addControl(new mapZoomControl()
- contrôle de déplacement : addControl(new mapMoveControl() ...

La suppression de l’effet d’un double-clic : enableDoubleClickZoom();

Bref, tous les détails à découvrir en consultant le site de Googlemaps. Un pur bonheur !

clic2fois clic2fois
bio


Navigation

Lettres d'infos |  News | Plan du site
Kiosque web |  Glossaire | 


Profitez du fil d'infos de clic0 ...