Plugin GMap : géolocalisation et cartographie paramétrable

À quoi sert ce plugin ?
Compatibilité et installation
Configuration
Géolocalisation
Cartographie
Boucles, balises et modèles
Extensions et personnalisations

À quoi sert ce plugin ?

Dans la partie privée, le plugin GMap permet d’associer aux objets SPIP une à plusieurs positions. La saisie se fait directement sur une carte. Les objets supportés sont les rubriques, les articles, les documents (il faut installer le plugin Médiathèque pour avoir accès à l’interface de géolocalisation), les brèves, les mots-clefs et les auteurs.

Dans la partie publique, il permet d’ajouter des cartes, soit dans les squelettes soit directement dans un texte édité sous SPIP, pour représenter les objets géolocalisés, des fichiers KML ou encore des points spécifiques.

GMap a été conçu pour permettre de le paramétrer à plusieurs niveaux.
Au niveau du site on peut définir précisément l’apparence des cartes dans le paramétrage : choix du fournisseur de cartes, des commandes affichées, du fond de carte, etc. Tous ces paramètres peuvent être redéfinis ponctuellement, à l’exception du fournisseur de carte qui concerne forcément l’ensemble du site.
À un niveau plus fin, il est possible de redéfinir l’apparence des points sur les cartes et le contenu des bulles d’information pour une rubrique, une branche ou sur un objet spécifique.
Il est également possible de personnaliser la recherche des points à afficher en définissant des requêtes spécifiques sous la forme de squelettes.

Le plugin est testé sur le site L’Océanique, sur les parties Galerie de photos et Carnet de voyage.

Une aide plus détaillée est intégrée dans le plugin et peut être consultée sur loceanique.org.

Compatibilité et installation

GMap est prévu pour fonctionner sur une version 2 de SPIP supérieure à 2.0.9. La majeure partie des tests ont été menés sur une version 2.1.10.

En modifiant le fichier plugin.xml, il pourrait probablement fonctionner sur des versions antérieures (le développement ayant débuté sur une version 1.9.2), mais ce n’est pas garanti.

En prérequis, il faut installer SPIP Bonux en version 1.8.1 minimum et, pour la géolocalisation des documents, le plugin Médiathèque.

Le plugin s’installe de façon classique : téléchargement du fichier zip, décompression et copie sur le site, activation par l’interface « Gestion des plugins » de SPIP.

Attention si vous mettez à jout d’une version antérieure à 0.2.0 : les fichiers de définition des requêtes ont changés de noms. Ils se nomment maintenant gmap-kml-** au lieu de gmap-query-**.

Configuration

Après l’installation, une icone « GMap » apparaît dans le menu de configuration :

Pour que le plugin soit fonctionnel il faut au minimum définir les clefs nécessaires
sur la page de configuration.
Actuellement, GMap permet de créer des cartes Google Maps V2 et V3. Le plugin GMapMXN, qui s’ajoute à GMap, utilise la librairie Mapstraction qui donne accès aux cartes d’autres fournisseurs, notamment Open Layers, Bing et Yahoo.
Par défaut le plugin est paramétré pour utiliser Google Maps API V3, aucune clef n’est nécessaire pour utiliser l’API, mais il en faut une pour profiter de l’extension Google Earth.

Le menu de paramétrage se présente sous la forme suivante :

  • Système : Paramétrage de base du plugin (API cartographique, clefs, optimisations).
  • Géolocalisation : Paramètrage des comportements dans la partie privée.
  • Cartographie : Paramétrage de l’apparence des cartes, des marqueurs et des bulles d’information (pour l’essentiel spécifique à l’API cartographique).
  • Outils : Outils d’import export de données.
  • Aide : Aide en ligne du plugin, qui vous permettra d’avoir bien plus d’information que dans cette présentation. Il y a également quelques pages de prise en main du code pour les développeurs qui voudraient se lancer.

Géolocalisation

Le plugin insère dans les pages d’édition des objets SPIP (rubrique, article, document, brève, mot-clef et auteur) une interface qui permet de géolocaliser l’objet. Pour les documents, il faut avoir installé le plugin Médiathèque pour avoir accès à la page de modification d’un document.

L’interface comporte principalement une carte, une zone d’édition des marqueurs et un bouton « Enregistrer » qui permet d’enregistrer les modifications en base de données.

Édition des marqueurs

Il est possible d’associer plusieurs points à chaque objet SPIP (la base de données supporte également l’inverse mais je n’ai pas encore implémenté cette fonctionnalité).

L’interface est constituée d’un tableau des marqueurs défini, dont un seul, surligné en rouge est actif sur la carte :

On peut modifier la position, le facteur de zoom associé et le type de marqueur. On peut également ajouter de nouveau marqueur grâce à la commande « ajouter un marqueur » située en dessous du tableau et supprimer les marqueurs grâce à la petite croix rouge à la fin de chaque ligne.

Normalement le positionnement du marqueur actif se fait en cliquant sur la carte et la modification du zoom est modifiant le zoom de la carte. Il est également possible d’éditer directement les valeurs mais cela ne met pas à jour la position de la carte (on peut considérer que c’est un bug).

Les types de marqueurs peuvent être édités depuis l’interface de paramétrage du plugin :

Recherche par adresse

Cette fonction n’est disponible que si l’implémentation de carte offre la fonctionnalité de geocoding.

Après avoir cliqué sur le bouton « Rechercher », une liste des résultats possibles est affichée, chaque point est également représenté sur la carte. On peut copier les coordonnées sur le point en cours d’édition en cliquant sur le petit signe plus à droite du tableau.

Coordonnées des voisins

Pour les articles et les documents seulement (car ils sont datés), GMap permet de rechercher les cooordonnées des points associés à des objets de même type proches dans le temps et l’espace.

L’interface permet de définir les contraintes de la recherche (temps, position, arborescence) et le nombre de points affichés. Après la recherche, les meilleurs points sont affichés dans le tableau et sur la carte. On peut copier les coordonnées sur le point en cours d’édition en cliquant sur le petit signe plus à droite du tableau.

Cas des documents

Par défaut, seule la page de modification accessible par la médiathèque permet de géolocaliser le document, la popup qui s’ouvre depuis l’édition d’un article n’y donne pas accès (c’est un bug que je n’ai pas pu corriger : l’appel à l’interface se faisant en ajax, je n’arrive pas à initialiser les cartes correctement... Si quelqu’un a une idée...).

Pour palier ce petit désagrément, j’ai ajouté un paramétrage dans le plugin pour désactiver automatiquement l’ouverture du popup : le bouton « modifier » renvoie alors sur la page d’édition d’un document.

Pour activer ce comportement, il faut cocher la case « Désactiver l’édition des documents par boîte modale depuis un article » dans la partie « Accès à l’interface de géolocalisation » de l’onglet « Géolocalisation » du paramétrage du plugin.

Cartographie

Affichage de la carte

Après avoir géolocalisé les objets, il reste à produire des cartes pour les représenter sur le site. GMap offre plusieurs moyen de le faire, présenté ci-dessous. Vous trouverez dans la suite une description plus détaillée des balises, modèles et boucles qui permettent de créer des cartes, ce premier survol est surtout destiné à permettre une prise en main rapide du plugin.

  • Balise #GEOMAP dans un squelette, modèle map dans un texte

GMap propose deux moyens d’intégrer des cartes dans le site public :

  • Introduire dans les squelettes des balises #GEOMAP,
  • Introduire dans les textes des modèles map.

Ajouter une balise #GEOMAP permet d’afficher des cartes sur toutes les pages qui utilisent le squelette. C’est donc un moyen partique de généraliser la représentation cartographique des objets, par exemple si vous envisagez de géolocaliser tous les articles ou tous les documents d’une rubrique.
Par exemple, le code ci-dessous, blacé dans une boucle ARTICLES, permet d’ajouter une carte qui représente tous les documents d’un article :

[<div style="position: relative; display: block; width: 100%; height: 400px;">
(#GEOMAP{id_article, markers=documents})
</div>]

À l’inverse, si la présence de carte reste exceptionnelle sur le site, il est préférable d’utiliser un modèle directement ajouté dans le texte d’un article, d’une rubrique ou de tout autre objet SPIP dont le texte peut contenir des modèles.
Par exemple, le texte ci-dessous permettra de représenter la position d’un unique article géolocalisé, sur une carte de 400 par 200 pixels au zoom 3 :

<map|id_article=36|markers=local|hauteur=400px|largeur=400px|zoom=3>


Ce qui donne :

  • Paramètres d’affichage définis dans la partie privée

L’apparence des cartes peut beaucoup varier, même en conservant la même implémentation (le même fournisseur de service cartographique) : on peut choisir le fond de carte, les commandes présentes (échelle, choix du fond, zoom, etc.).
Pour faciliter la mise au point du site, GMap propose une interface de configuration par laquelle on peut définir l’apparence de la carte et visualiser immédiatement le résultat produit. Ce paramétrage sera valable pour tout le site, à moins qu’il ne soit surcharger localement.

Par exemple, l’ajout du paramètre type dans le texte précédent permet de changer le fond de carte :

<map|id_article=36|markers=local|hauteur=400px|largeur=400px|zoom=3|type=physic>


Ce qui donne :

Tous les paramètres d’affichage peuvent être surchargés, mais le paramétrage global offre un confort que ne permettent pas les paramètres. Reportez-vous à la documentation intégrée au plugin, reproduite sur l’Océanique, pour plus d’informations.

Ajout des points

GMap offre de multiples façons d’ajouter des points sur les cartes. L’éventail des possibilités peut être cerné en lisant la documentation des balises.
Pour commencer, il y a deux techniques :

  • Ajouter les points en même temps que la carte, par l’intermédiaire du paramètre markers de la balise #GEOMAP (ou du modèle map, qui est équivalent), comme dans les exemples ci-dessus ;
  • Ajouter une carte par la balise #GEOMAP, puis ajouter les marqueurs par un ou plusieurs appels à la balise #GEOMARKER (ou modèle ).

Le paramètre markers est utilisable sur la balise #GEOMAP aussi bien que sur la balise #GEOMARKER.
Il a deux modes de fonctionnement :

  • Quand il prend les valeurs local, childs ou recursive, des points sont définis dans la page HTML générée. Ce mode alourdit la page transférée au client web et n’est utilisable que sur un petit nombre de marqueurs.
  • Quand il prend toute autre valeur, la carte est d’abord affichée puis les points sont demandés au serveur par une requête ajax. Ce mode est à la fois plus ergonomique (la page s’affiche immédiatement, les points arrivent après) et plus souple puisque les requêtes ajax peuvent être personnalisées. Les requêtes sont détaillées au chapitre suivant.

L’utilisation de la balise #GEOMARKER offre des possibilités plus inédites comme :

  • Ajouter des points qui ne proviennent pas d’un objet géolocalisé, soit en donnant ses coordonnées, soit en donnant son adresse.
  • Ajouter des marqueurs provenant d’une requête complexe passée dans un squelette : par exemple inclure la balise #GEOMARKER dans une boucle qui sélectionne les articles selon un critère de date.
  • Requêtes sur les objets géolocalisés

Le paramètre markers permet de désigner une requête permettant d’extraire du site une collection de points géographiques. Ces requêtes sont définies sous forme de squelettes qui renvoient des fichiers aux formats KML ou GeoJSON.

  • La requête par défaut est accessible par le paramètre markers=query, elle permet de récupérer les coordonnées des objets associés à un objet de référence. Pour une rubrique, ce sont les sous-rubriques, les articles, les documents, les brèves et les mots-clefs ; pour un article, les documents et les mots-clefs ; pour un mots-clefs, tous les objets qui y sont liés.
  • La requête sur les articles (markers=articles) permettant de récupérer les coordonnées de tous les articles, d’un article particulier ou des articles d’une rubrique, d’un auteur, liés à un mot-clef, etc.
  • La requête sur les documents (markers=documents) permettant de récupérer les coordonnées de tous les documents, d’un document particulier ou des documents liés à un article ou une rubrique.
  • La requête sur les rubriques (markers=rubriques) permettant de récupérer les coordonnées de toutes les rubriques, d’une rubrique particulière ou des rubriques ayant un même parent ou d’un même secteur, ou partagenat un mot-clef.
  • La requête sur les rubriques racines (markers=racine) permettant de récupérer les coordonnées des rubriques à la racine du site.
  • La requête sur les auteurs (markers=auteurs) permettant de récupérer les coordonnées de tous les auteurs, d’un auteur particulier ou des auteurs d’un article.
  • La requête sur les brèves (markers=breves) permettant de récupérer les coordonnées de toutes les brèves, d’une brève particulière ou des brèves d’un secteur liées à un mots-clefs.
  • La requête sur les mots-clefs (markers=mots) qui permet de récupérer les coordonnées de tous les mots, d’un mot particulier ou des mots liées à un objet.
  • La requête de recherche (markers=recherche) qui ajoute les coordonnées des objets répondants à un critère de recherche, cette requête est spécialement destinée à l’ajout d’une carte dans le squelette recherche.html.

Ces requêtes étant formalisées par des squelettes, il est possible de les surcharger. En outre, GMap permet d’appeler par le paramètre markers de nouvelles requêtes conçues pour des besoins qui ne seraient pas couverts par les requêtes déjà prévues (voir le dernier chapitre de cet article sur la personnalisation de GMap).

Exemples

Voici quelques exemples de ce qu’il est possible de cartographier à l’aide de GMap.
Certains exemples sont donnés avec l’écriture utilisant les balises, pour les squelettes, d’autres en utilisant les modèles, pour les textes. Ces deux écritures sont totalement équivalentes, malgré quelques incohérences dans le nommage des paramètres.

  • Afficher une carte avec un seul et unique point

La balise #GEOMARKER permet d’ajouter un point en donnant directement ses coordonnées. Il suffit pour cela de renseigner les paramètres latitude et longitude.

[<div style="position: relative; display: block; width: 100%; height: 400px;">
  (#GEOMAP)
  #GEOMARKER{latitude=38, longitude=-6, titre=un marqueur manuel, icon=gmap-marker-article, texte=toto}
</div>]

Il est également possible d’ajouter un point désigné par une adresse. GMap utilise alors le geocoder pour récupérer dynamiquement les coordonnées du point.
Outre le confort de ne pas avoir à recopier les coordonnées, cette option permet de représenter des objets qui ne sont pas géolocalisé mais comportent une indication d’adresse. Le risque est bien sûr que l’adresse ne soit pas reconnue par le geocoder, auquel cas aucun point n’est affiché.
Par exemple :

<map|hauteur=300px|largeur=400px|zoom=5>
<marker|adresse=Ulan Bator; Mongolie|titre=Ulan Bator|texte=Une balade à Ulan Bator|focus>

Donne :

  • Afficher les articles d’une rubrique, les documents d’un article, etc.

C’est ce que fait la requête par défaut de GMap. Il suffit d’intégrer une carte avec markers=query en paramètre :

<map|id_article=53|markers=query>

Ou dans un squelette :

[<div style="position: relative; display: block; width: 100%; height: 400px;">
  (#GEOMAP{id_article, markers=query})
</div>]
  • Afficher tous les auteurs du site

On utilise la requête sur les auteurs, en ne donnant aucune contrainte :

<map|markers=auteurs>

Ce qui donne :

  • Afficher les articles d’un auteur

On utilise ici la requête sur les articles en lui donnant une contrainte sur l’identifiant d’un auteur :

<map|hauteur=300px|largeur=400px|zoom=2>
<marker|id_auteur=2|markers=articles|focus>

ou (c’est équivalent) :

<map|hauteur=300px|largeur=400px|zoom=2|id_auteur=2|markers=articles|focus>

Ce qui donne :

  • Afficher les résultats d’une recherche

Pour permettre le localisation géographique des résultats d’une recherche, GMap contient une requête spécifique : markers=recherche.
Dans le squelette recherche.html de la distribution SPIP, la carte s’insère en ajoutant :

[<div style="height: 400px">
  (#GEOMAP{markers=recherche, recherche=#RECHERCHE, focus})
</div>]

Ce qui donne :

  • Modifier la requête pour une branche du site

Toutes les requêtes contenues dans GMap peuvent être surchargées : ce sont des squelettes que l’on peut spécialier en fonction d’une rubrique (squelette=XX) ou d’une branche (squelette-XX).
Par exemple, en plaçant un fichier gmap-kml-article-54.html dans le dossier squelettes, on redéfinit la requête par défaut (utilisée quand markers=query pour les articles de la rubrique 54 et des rubriques descendantes.

  • Modifier la représentation des points pour une branche du site

De la même manière, on peut surcharger l’apparence des points sur la carte. Pour surcharger l’apparence de points représentant les articles de la rubrique 11, il suffit de placer un fichier gmap-marker-article-11.gmd dans le dossier squelettes. Il s’agit d’un fichier XML à la syntaxe simple permettant de définir une icone :

<?xml version="1.0" encoding="UTF-8">
<markers>
  <icon type="shadow">
    <image>images/rub11/gmap-shadow.png</image>
    <size x="32" y="32" />
    <anchor x="0" y="32" />
  </icon>
  <icon state="normal" type="simple">
    <image>images/rub11/gmap-marker-article.png</image>
    <size x="32" y="32" />
    <anchor x="0" y="32" />
    <offset x="0" y="32" />
  </icon>
</markers>

Sur les cartes, les points peuvent apparaître avec des icones différentes :

Regroupement des bulles d’information

Quand une carte commence à contenir beaucoup de points, il arrive souvent que les icones se chevauchent.
Pour contourner ce problème, GMap propose une fonction de regroupement des bulles d’information qui permet de naviguer entre les descriptions des différents points affichés. La barre de navigation permet également de zoomer la carte pour différencier les points.

Cette fonction est désactivée par défaut, elle s’active depuis le paramétrage de l’interface.

Cette fonction est spécifique à l’implémentation, elle est implémentée pour Google Maps V2 et V3 mais ne le sera pas obligatoirement sur d’autres implémentations.

Export de fichiers KML

Pour transmettre les points à afficher au navigateur, GMap utilise par défaut le format KML. Il est donc tout à fait possible de télécharger un fichier KML représentant les points, par exemple pour l’afficher dans Google Earth.

On peut par exemple ajouter dans un squelette :

[<a href="(#URL_PAGE{gmap-query-default}|parametre_url{'id_rubrique',#ID_RUBRIQUE}|parametre_url{mime,application/vnd.google-earth.kml+xml})" title="<:bouton_telecharger:>" type="application/vnd.google-earth.kml+xml">(<:bouton_telecharger:>)</a>]

Ce qui produira un lien sur le fichier :
http://mondomaine/spip.php?page=gmap-query-default&id_rubrique=1&mime=application%2Fvnd.google-earth.kml%2Bxml

Boucles, balises et modèles

Balise #GEOMAP

La balise #GEOMAP permet d’afficher une carte et, optionnellement, d’y ajouter des points géographique.
Ces caractéristiques ont déjà été illustrées dans le chapitre Cartographie ci-dessus.

La balise essaye toujours de trouver un point de référence parmi les paramètres qui lui sont fournis et le contexte de l’appel (donc les boucles dans lesquelles se trouve la balise).
L’objet de référence est utilisé de façon différente selon qu’on se place du point de vue de la carte ou du point de vue des points à représenter :

  • Pour la carte, l’objet de référence sert à centrer la carte initialiser le positionnement de la carte : centre et facteur de zoom prennent la valeur définie sur l’objet. Si l’objet de référence n’est pas géolocalisé, GMap remonte sur ses ancêtres, puis utilise en dernier recours le paramétrage par défaut du site. Ce fonctionnement peut-être surchargé par le paramètre viewport, le paramètre focus ou les paramètres latitude, longitude, zoom.
  • Pour la recherche des points à ajouter, l’objet de référence est également utilisé : c’est l’objet à partir duquel on recherchera les fils, descendants, objets liés, etc.

Ce double rôle a ses avantages et ses inconvénients : d’un côté il permet de maitriser depuis l’interface de géolocalisation quelle sera l’étendue de la carte, d’un autre il peut amener des effets de bords étonnants. Dans ce dernier cas, on pourra décomposer l’appel à #GEOMAP en deux : un appel de #GEOMAP sans le paramètre markers suivi d’un appel à #GEOMARKER.

Pour fonctionner correctement, il faut cependant que la balise #GEOMAP soit intégrée dans une div ayant une hauteur explicite (en pixels), la largeur peut être exprimée en pourcentage. Dans le cas contraire la carte ne peut s’afficher correctement. Si la carte est intégrée dans un bloc dimensionnable ou qui peut être caché (par exemple dans des onglets), il sera nécessaire d’envoyer un évènement resize sur le bloc qui contient la carte afin qu’elle se redimensionne correctement.

La balise #GEOMAP accepte de nombreux autres paramètres qui permettent de surcharger toute l’apparence de la carte (et dont beaucoup dépendent de la couche d’implémentation de la carte). Ce serait long de tout détailler ici, référez-vous à la documentation intégrée au plugin.

Balise #GEOMARKER

Cette balise permet d’ajouter manuellement des points sur la carte. Les coordonnées peuvent être fournies explicitement, ou elle peuvent provenir d’un élément géolocalisé dans SPIP.

Si plusieurs balises GEOMAP sont présentes, on peut utiliser le paramètre map=X pour donner un numéro à la carte et lever les ambiguïtés. Sans ce paramètre, le marqueur sera ajouté sur la dernière carte créée au moment où la balise GEOMARKER est interprétée.

Balise #GEOKML

Cette balise permet d’ajouter un fichier KML sur la carte.

#GEOKML{url=http://code.google.com/p/kml-samples/source/browse/trunk/kml/Placemark/placemark.kmz}
#GEOKML{id_document=1962}
  • La première forme ajoute un fichier KML dont l’url est donnée explicitement.
  • La deuxième forme ajoute un fichier KML présent dans SPIP sous la forme d’un document.

Si plusieurs balises GEOMAP sont présentes, on peut utiliser le paramètre map=X pour donner un numéro à la carte et lever les ambiguïtés. Sans ce paramètre, le marqueur sera ajouté sur la dernière carte créée au moment où la balise GEOKML est interprétée.

Modèles map et marker

Ce sont les équivalents des balises #GEOMAP et #GEOMARKER pour l’insertion dans les textes des éléments de SPIP.

L’utilisation et les paramètres sont les mêmes, à une exception notable près : tous les identifiants doivent être accompagnés d’une valeur numérique car le modèle n’accède pas au contexte.

On peut donner un numéro à la carte par le paramètre carte, ceci permet de placer les marqueurs avant ou après la carte elle-même :

<marker|carte=10|id_article=1>
<map|carte=10>
<marker|carte=10|latitude=10|longitude=45|titre=un marqueur|texte=turlututu chapeau pointu>

Note : pour une raison que je saisi mal, un modèle sans paramètre (seulement <map> ne fonctionne pas. On peut s’en sortir en mettant un paramètre quelconque :

<map|toto>

Boucles

Le plugin introduit également une boucle GEOPOINTS qui permet de parcourir les points associés à un objet et une boucle GEOTEST qui permet de tester si un objet ou ses descendants sont géolocalisés.

Extensions et personnalisations

GMap a été conçu pour être personnalisable, il offre donc de nombreuses possibilités pour redéfinir les cartes.

La personnalisation est basée sur un mécanisme très proche de celui qu’utilise SPIP au niveau des squelettes : les requêtes sur les points, les icones et le contenu des info-bulles sont définis par des squelettes que l’on peut surcharger pour l’ensemble du site, pour une rubrique ou pour une branche. De plus, les icones et le contenu des info-bulles peuvent être définis selon le type d’objet et le type de point qu’ils représentent.

Requêtes sur les points

La combinaison des paramètres markers et query des balises #GEOMAP et #GEOMARKER permet de récupérer les points à afficher en exécutant une requête sur le serveur. Cette requête est définie dans un squelette qui renvoie un fichier au formats KML ou GeoJSON. Il est assez facile de redéfinir des fichiers de requête et de les intégrer dans le fonctionnement de GMap.

Ces fichiers sont traités comme des squelettes qui renvoient un fichier XML, ils peuvent donc contenir des boucles.
GMap contient plusieurs fichiers de requête qui peuvent servir d’exemple : gmap-kml-default.html, gmap-kml-articles.html, gmap-kml-documents.html, etc.

Une description plus détaillée des la surcharge des requête est disponible dans l’aide en ligne du plugin et reproduite sur loceanique.org.

Apparence des points

GMap permet également de définir des icones spécifiques pour chaque type d’objet, chaque type de point et par rubrique ou branche.
Il ne permet par contre pas, dans la version actuelle, de choisir une représentation spécifique depuis la partie privée du site, il faut forcément ajouter des fichiers sur le serveur.

Les icones utilisées sur les cartes ne sont pas de simples images :

  • Comme elle représentent un point géographique précis, elles doivent être dotée d’un point d’ancrage qui permet de les positionner au pixel près (c’est d’ailleurs pour cela que le terme « icone » est adapté).
  • Selon les fournisseurs l’image peut être séparée de l’ombrage, ce qui clarifie les cas où plusieurs marqueurs se chevauches et permet de jolis effets sur le déplacement (dans Google Maps l’ombre s’écarte comme si on soulevait le marqueur).
  • Selon les fournisseurs aussi, on peut définir un point d’ancrage des info-bulles.
  • GMap introduit la possibilité de sélectionner les marqueurs, il faut donc définir des images pour l’état sélectionné.

Pour cette raison, il ne suffit pas de fournir une image pour changer l’apparence des marqueurs. GMap utilise donc un fichier XML de définition des icones qui porte l’extension .gmd.

Comme les fichiers de requêtes (voir ci-dessus), les fichiers de définition des icones peuvent être surchargés selon les objets, les types de points ou les rubriques auxquelles appartiennent les objets représentés.

Contenu des bulles d’information

Selon le même principe, le contenu des bulles d’information est défini dans des fichiers squelettes dans lesquels on peut utiliser des boucles SPIP.

Le stylage des info-bulles est contenu dans un fichier style/gmap-balloon.css, il permet de redéfinir le look des bulles sans toucher à leur contenu.

Attention : en redéfinissant les fichiers gmap-info-*.html, on pourrait penser s’affranchir de gmap-balloon.css, mais ce n’est vrai que pour les fichiers KML lus dans Google Earth. En effet, en interne, seul le contenu de la balise <body></body> est conservé et le style des info-bulle se fait en intégrant gmap-balloon.css dans la page HTML qui contient la carte.

Lorsque la fonction de regroupement des info-bulles est activée, l’apparence de la barre de navigation est figée, on ne peut la modifier qu’en redéfinissant le fichier style/gmap-balloon.css.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom