SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

27 visiteurs en ce moment

fontsizeup fontsizedown
[441 commentaires]

Plugin Gis escoitar

dimanche 15 avril 2007, par berio, b_b, Pascale, xdjuj

5 votes

Plugin pour l’intégration de Google Maps dans SPIP

Voici la documentation du plugin Gis, crée par l’équipe d’escoitar.org pour le système de publication pour internet SPIP. Sa traduction illustre aussi la bonne idée du multilinguisme SPIP comme source de création :)

Présentation

Ce plugin, couplé au plugin Google Maps API permet d’afficher des cartes GoogleMaps sur les pages publiques du site. Les articles et mots-clés du site peuvent être géolocalisés par des marqueurs sur les cartes. Un clic sur un marqueur permet d’afficher les informations de l’article associé (titre et lien vers l’article, chapo, logo, lecteur mp3).

Installation et paramétrage

Avant d’utiliser ce plugin, vous devez installer et configurer le plugin Google Maps API ou le plugin OpenLayers.

Ce plugin est développé pour une compatibilité avec SPIP 1.9.2 minimum avec le plugin CFG installé.

Zip - 41.7 ko
Plugin GIS pour SPIP
Télécharger le plugin sur la zone .

Après avoir téléchargé l’archive sur votre disque dur, décompressez-la et déposez - via FTP - le dossier Gis dans le dossier plugins de votre site SPIP.

Une fois cette opération effectuée, rendez-vous dans l’espace privé de votre site et activez le plugin.

Avant de l’utiliser, vous devez configurer le plugin à l’aide du plugin CFG à l’adresse ecrire/ ?exec=cfg&cfg=gis.

Page de configuration CFG de GIS

Cette page permet de définir les options suivantes :

  • API de cartes à utiliser ;
  • portée du plugin GIS dans l’espace privé (toutes les rubriques ou seulement certaines d’entre elles) ;
  • désactivation du script swf_object si vous n’utilisez pas la fonctionnalité du lecteur mp3 dans les bulles d’informations ;
  • paramètres du formulaire public du plugin.

Publier des articles en utilisant GIS

Lors de l’affichage d’un article dans l’espace privé, cliquez le bouton Déplier.

Déplier la carte

Il faut cliquer sur la carte pour marquer un point à faire apparaître (une icône apparaît ainsi que des coordonnées placées en dessous). Puis enclencher le bouton actualiser, qui se trouve à côté des coordonnées.

Changer les coordonnées

On voit comment l’icône apparaît effectivement à cet endroit à chaque fois que l’on va sur l’article. Si l’on veut changer la localisation sur la carte, il faut recliquer sur Déplier et actualiser la position du marqueur.

La carte

Utilisation dans les squelettes et les articles

Pour insérer une carte dans un squelette, on se sert du modèle fourni par le plugin en insérant le code suivant à l’endroit où l’on souhaite afficher la carte :

[(#MODELE{carte_gis}{id_article}{id_rubrique}{id_mot}{id_auteur}
{recherche}{latit}{lonxit}{zoom=X}{type=xxx}{control=xxx})]

On peut aussi utiliser le modèle fourni par le plugin pour afficher une carte depuis le contenu d’un article. Pour cela, il suffit d’ajouter ce code dans le texte de votre article :

<carte_gis1|id_article=9|zoom=X|type=xxx|control=XXX>

Il est possible d’afficher plusieurs cartes sur la même page. Pour cela il faut bien faire attention à incrémenter le numéro d’identification du modèle comme ceci :

<carte_gis1|id_article=9|zoom=X|type=xxx|control=XXX>
<carte_gis2|id_article=10|zoom=X|type=xxx|control=XXX>

Lire la documentation à propos des modèles sur spip.net.

Paramètres du modèle

Si on n’inclut pas le modèle dans un contexte, la carte affichera tous les articles du site. Si on l’inclut dans un contexte (dans une boucle rubrique par exemple) ou en posant un numéro dans les paramètres de l’inclusion précédente comme ceci :

{id_rubrique=1}

La carte affichera les articles du contexte ; ici ceux de la rubrique 1.

On peut afficher tous les articles d’un secteur en passant le paramètre {id_secteur} au modèle. Dans ce cas, si on tente aussi de passer le paramètre {id_rubrique} celui-ci ne sera pas pris en compte par le modèle.

On peut aussi afficher le marqueur d’un seul article en passant le paramètre {id_article=X} au modèle (où X correspond au numéro de l’article à afficher).

Les paramètres {zoom}, {latit} et {lonxit} permettent de gérer la zone affichée par la carte :

  • zoom comme son nom l’indique permet de spécifier le niveau de zoom de la carte (de 0 à 13).
  • latit permet de spécifier la latitude du point central de la carte.
  • lonxit permet de spécifier la longitude du point central de la carte.

Le paramètre {type=xxx} permet de définir le type de carte à afficher. Il est optionnel et peut prendre plusieurs valeurs :

  • satellite (valeur par défaut si le paramètre n’est pas défini)
  • carte
  • hybride
  • physique (pour afficher la carte de relief)

Le paramètre {control=xxx} permet de choisir l’apparence des boutons de contrôle de la carte. Il est optionnel et peut prendre les valeurs suivantes :

  • custom pour afficher des boutons personnalisés
  • large pour afficher les boutons par défaut de google maps
  • small pour afficher les petits boutons de google maps

Le paramètre {control_type=non} permet d’empêcher l’affichage des boutons de changement de type de carte.

Le paramètre {recursive=1} permet d’afficher les articles de la rubrique en cours ainsi que ceux de toutes ses sous-rubriques.

Le paramètre {limit=xxx} permet de limiter le nombre de marqueurs à afficher sur la carte (valeur par défaut 50).

Le paramètre {attente=1} accompagne indirectement le paramètre limit et permet d’afficher une roue d’attente tant que la carte et tous ses points ne sont pas intégralement affichés. Particulièrement utile sur les cartes avec un grand nombre de points et des temps de chargements dépassant les 10, 20 secondes... Permet de rassurer l’utilisateur ! ;-)

Le paramètre {ombre=0} permet de désactiver l’affichage des ombres de marqueurs. Ce paramètre peu s’avérer utile sur les cartes denses en évitant que les ombres ne polluent encore plus un visuel déjà chargé.

Les paramètres {width=xx} et {height=xx} permettent de spécifier les dimensions de la carte à condition que le paramètre {style=non} ne soit pas passé au modèle. Les valeurs par défaut sont 100% pour width et 400px pour height.

Le paramètre {style=non} permet de désactiver les styles appliqués à la div qui contient la carte. Ainsi vous pouvez styler cette div depuis vos propres feuilles de styles.

Contenu des bulles d’information

La bulle qui apparait sur la carte, lorsque l’on clique sur un marqueur, fera apparaitre le chapeau de l’article, #CHAPO, ainsi que la première image que l’on chargera en document de l’article, et un lecteur mp3 si l’on a attaché un document mp3 à cet article.

Bulle

Balises et boucles du plugin

On crée une boucle GIS pour récupérer les coordonnées de localisation de l’article en cours ; les balises #LAT et #LONX permettent d’afficher les coordonnées de l’article.

Exemple de boucle gis :

Astuces

Centrer la carte sur l’article en cours

Pour centrer la carte sur l’article en cours, vous devez d’abord inclure le modèle du plugin dans votre squelette article.html (ou article-x.html si vous voulez restreindre cette modification au secteur numéro x).

Depuis votre squelette rubrique-x.html, dans les liens pointant sur chaque article, ajoutez le code suivant :

  1. <BOUCLE_articles(ARTICLES){id_rubrique}>
  2. <BOUCLE_centrado(GIS){id_article}>
  3. <a href="[(#URL_ARTICLE)&zoom=16[&latit=(#LAT)]
  4. [&lonxit=(#LONX)]]">#TITRE</a>
  5. </BOUCLE_centrado>
  6. </BOUCLE_articles>

La boucle GIS permet de récupérer les coordonnées de chaque article et de les transmettre à la carte du squelette article-x.html en les passant dans l’url.

Ouverture d’une bulle d’information depuis un lien

On peut ouvrir les bulles d’information depuis des liens situés à l’extérieur de la carte. Pour faire cela, il suffit de créer une boucle comme la suivante :

Dans cet exemple le chiffre 1 correspond à l’id de la carte dans laquelle on veut ouvrir les bulles.

Personnalisation des marqueurs

Il est possible de personnaliser l’apparence des marqueurs présents sur la carte : créez un groupe de mots-clés nommé marker_icon et attribuez un logo aux mots-clés de ce groupe.

Personnaliser les marqueurs

Remarque : l’image doit être aux mêmes dimensions que les marqueurs d’origine (20 pixels de large et 34 pixels de haut) et enregistrée au format png transparent.

Ensuite lorsqu’on attache un mot-clé de ce groupe à un article ou une rubrique, le logo du mot-clé est bien affiché sur la carte à la place du marqueur par défaut.

Carte avec marqueurs personnalisés

Superposition de fichiers KML

Vous pouvez joindre un fichier kml à vos articles ou rubriques et le contenu de celui-ci sera affiché en superposition de la carte. Pour cela, il faut afficher une carte à l’aide du modèle du plugin en lui passant l’id_article ou l’id_rubrique correspondant à l’élément qui comporte le fichier kml en document joint.

Attention : Il faut utiliser la version 2 ou "current version" de l’API de GoogleMaps pour que la superposition de KML fonctionne. Vous pouvez choisir la version de l’API depuis la page de configuration du plugin Google Maps API.

Pour générer ce type de fichier, vous pouvez utiliser le site de google maps et cliquer sur l’onglet mes cartes. Après avoir dessiné les tracés sur votre carte, il faut cliquer sur le lien KML (en haut au-dessus de la carte) pour télécharger le fichier.

Auteurs du plugin :

- Horacio González
- Berio Molina

Traductions de l’interface

L’interface est traduite en ce jour en :
- galicien
- espagnol
- français

Voir en ligne : Cet article est la traduction de la documentation originale en galicien du plugin Gis,

P.-S.

Traduction (amendable) depuis le galicien : Pascale

Le code est actuellement dans la Zone dans le dossier _plugins_/_dev_/gis/.

Retour en haut de la page

441 Messages de forum

Voir toute la discussion

Pages 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |...

  • Répondre à ce message

    18 juin 10:04 , par nicodementon

    il est vrai que ca manquait de précision, il manquait l’appel au jquery.js

    j’envoi l’adresse du site en mp :)

  • Répondre à ce message

    18 juin 09:36 , par b_b

    je me répond a moi même il manquait un appel sur un fichier js dans la partie head...

    Bon, ça c’est du rapport de bug précis ;) Il faudrait peut être nous dire quel fichier il te manquait dans le head pour qu’on regarde s’il s’agit bien d’un bug du plugin (plugin qui fonctionne bien sur plein d’autres sites où il ne manque pas d’appel de fichier dans le head).

    Et comme lors de mon dernier post : URL ou adresse du site pour qu’on puisse t’aider ?

    ++

  • Répondre à ce message

    17 juin 22:52

    je me répond a moi même il manquait un appel sur un fichier js dans la partie head... je pensai que le #INSERT_HEAD l’appelait automatiquement

    sur ie l’erreur "objet attendu" est toujours présente, mais pas de probleme d’affichage des cartes .

    j’aimerai supprimer cette erreur si possible afin de dev un site propre.

    rappel spip 2.0.8 et les derniers plug gis et gmap

    le site est en dev et malheureusement je peux pas encore donner l’url

  • Répondre à ce message

    17 juin 15:58 , par b_b

    URL de la page ?

    ++

  • Répondre à ce message

    17 juin 15:12

    bonjour sous spip 2.0.8

    derniere version du plugin googlemap + derniere version plugin gis j’ai inexorablement une carte blanche sous ff et ie la balise #INSERT_HEAD est bien insérée

    j’utilise le code suivant

    <BOUCLE_google_map(GIS){id_article}>
    [(#MODELE{carte_gis}{id_article}{id_rubrique}{id_mot}{id_auteur}
    {recherche}{latit}{lonxit}{zoom=14}{type=carte}{control=small})]
    </BOUCLE_google_map>

    a noter que tout se passe bien dans l’espace privé

    sous ie l’erreur noté est la suivante : objet_attendu

    une idée ?

  • Répondre à ce message

    14 juin 11:50 , par xdjuj

    Salut ! :)

    Tu peux parfaitement faire fonctionner ta carte sur mot clef, lit juste le fil qui se trouve un peu plus bas, la première problématique de Sandrine.

    Il te suffit de changer ton rss-gis ou rss-gis-recursive pour y mettre une boucle MOTS au lieu de la boucle ARTICLES existante.

    N’oublie pas "d’envoyer" les variables dont tu as besoin, en passant par les différents fichiers qui mènent à rss-gis (détaillés plus bas - message du 9 juin, 16h27).

    Bonne journée.

  • Répondre à ce message

    14 juin 11:05 , par blomki

    Bonjour, je trouve ce plugin excellent, toutefois il est dommage de l’avoir fait fonctionner avec les articles uniquement. Par exemple, en ce qui me concerne, j’aimerais associer une carte à un mot clef (ce mots clef peut ensuite être associé indifféremment sur divers article).

    J’aurais ainsi l’occasion de créer des mots clefs de "lieux" que je peux attribuer à des fiches concert (le concert aura lieu, là, là, et là).

    De manière générale, je trouve que les plugins spip devraient être suffisamment ouvert pour fonctionner avec tout types d’objets spip. C’est tellement plus riche en possibilités.

    Mais je ne suis pas programmeur, je ne suis peut-être pas tout à fait conscient de ce que cela recouvre (difficultés, instabilité de l’application et que sais-je).

    Bref, du bon boulot malgré tout, merci aux développeurs qui étendent chaque jour un peu plus les fonctionnalités de Spip

  • Répondre à ce message

    12 juin 19:40 , par b_b

    Bonsoir,

    Le sujet a déjà été abordé ici :

    http://www.spip-contrib.net/Plugin-...

    et ici :

    http://www.spip-contrib.net/Plugin-...

    tout se passe dans le fichier rss-gis.html

    ++

  • Répondre à ce message

    12 juin 18:16 , par cécile

    Bonjour

    Merci pour ce plugin.

    Est-il possible de ne pas afficher la bulle avec le texte du chapo, j’ai scruté tout les fichiers mais je ne trouve pas où cette fonction est paramétrée.

    En fait, l’affichage de ma carte fait 250px de large et lorsque la bulle s’affiche, c’est pas très top (elle tient les 3/4 de la place, le texte est tronqué) et j’aimerai bien ne pas avoir du tout cette bulle.

    Merci

    Cécile

  • Répondre à ce message

    11 juin 14:16 , par lil

    Ou alors, plus simple, peut-être qu’il est possible de générer des formes depuis un plugin spip ? Comme ça, pour les zones que je dois faire apparaître sur la carte, je créer des articles auxquels j’associe une forme plutôt qu’un point ?

Pages 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |...

Répondre à cet article

Retour en haut de la page

Ça discute par ici