[SPIP Zone] Plugin GIS : exemple de squelette ?

Bonjour,

j’essaie d’utiliser le plugin GIS (récupéré sur spip-zone, daté du 5 juin) sur SPIP 1.9.2b.
La documentation sur SPIP-CONTRIB (merci pour la traduction) m’a permis d’installer : http://www.spip-contrib.net/Plugin-Gis-escoitar

Je suis parvenu à afficher ma carte avec un point dessus ! Mais pour un seul article ?

Or je souhaite afficher sur une même et unique carte publique autant de points que d’articles « localisés » dans l’interface de rédaction ?

L’un de vous y-est-il parvenu ? (j’imagine que oui !).
Est-il possible de me communiquer un exempe de boucle faisant cela, voire le squelette complet.

Si je réussis, je promets de faire un retour d’installation regroupant les quelques « galères » surmontées.

D’avance merci.

Le 10/06/07, Antoine Giono a écrit :

Bonjour,

j’essaie d’utiliser le plugin GIS (récupéré sur spip-zone, daté du 5 juin) sur SPIP 1.9.2b.
La documentation sur SPIP-CONTRIB (merci pour la traduction) m’a permis d’installer : http://www.spip-contrib.net/Plugin-Gis-escoitar

Je suis parvenu à afficher ma carte avec un point dessus ! Mais pour un seul article ?

Or je souhaite afficher sur une même et unique carte publique autant de points que d’articles « localisés » dans l’interface de rédaction ?

Je ne connais pas le fonctionnement de ce plugin, mais dans inc-gis_map.html il y a une boucle avec {0,1}. Essaie en supprimant ce critère.


@plus

Jacques

Pour les lyonnais++ spip-lyon@rezo.net http://spip-party.net/-Lyon-
Remercier Spip et les plugins (Crédits) : http://spip.jermer.fr/?Plugin-plugins-actifs-version-5
Gérer ses squelettes & thèmes en interne : http://spip.jermer.fr/?Spip-1-92a-Plugin-Admin-themes

Bonsoir,

Comme il est indiqué sur cette page :

http://www.spip.escoitar.org/spip.php?article618

Il faut inclure ce code dans ton squelette rubrique.html :

<INCLURE{fond=inc-gis_map}{id_rubrique}{id_mot}{id_auteur}{recherche}{id_article}{zoom}{latit}{lonxit}>

Modifier ta balise body comme ceci :

<body onload="load()" onunload="GUnload()">

Et coller ce code dans ton squelette là où tu veux afficher la carte :

<div id="map" style="width: 700px; height: 400px; top:0px"></div>

Cette carte affichera les articles de la rubrique en cours.

Voici un squelette d'exemple pour la page d'accueil :

http://www.spip.escoitar.org/squelettes/sommaire.html

Je retrouve mes codes d'accès à spip contrib et je ferai une mise à à
jour de la doc :slight_smile:

Bon courage ++

--
-------------------
Bruno Bergot

Le 10/06/07, Antoine Giono<antoine.giono@free.fr> a écrit :

Bonjour,

j'essaie d'utiliser le plugin GIS (récupéré sur spip-zone, daté du 5 juin)
sur SPIP 1.9.2b.
La documentation sur SPIP-CONTRIB (merci pour la traduction) m'a permis
d'installer :
Plugin Gis escoitar - SPIP-Contrib

Je suis parvenu à afficher ma carte avec un point dessus ! Mais pour un
seul article ?

Or je souhaite afficher sur une même et unique carte publique autant de
points que d'articles "localisés" dans l'interface de rédaction ?

L'un de vous y-est-il parvenu ? (j'imagine que oui !).
Est-il possible de me communiquer un exempe de boucle faisant cela, voire
le squelette complet.

Si je réussis, je promets de faire un retour d'installation regroupant les
quelques "galères" surmontées.

D'avance merci.

_______________________________________________
spip-zone@rezo.net -
http://listes.rezo.net/mailman/listinfo/spip-zone

Bonjour,

merci de ces précisions.
J'étais déjà remonté jusqu'à cette page.

Côté interface privée, l'écueil a été d'activer aussi le plugin googlemap_api (erreur fichiers not found).
Après, nickel. Ajouts de points sur les articles ok.

Mais je ne suis toujours pas arrivé au bout côté restitution-squelette...avec GIS.

Pour faire apparaître la carte (vide), il m'a fallu ajouter le script avec le lien :
    <script src="http://maps.google.com/maps?file=api&amp;v=2.65&amp;key=maclegooglemap&quot;
                type="text/javascript"></script>

Mais aucun point.
Pas de trace de point et de marker.

Problème d'instalation ou de paramétrage ?

En faisant à la main un petit squelette de test hors GIS, ça fonctionne.
Je vous le passe ci-dessous.

A suivre...

Antoine

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
<html xmlns="http://www.w3.org/1999/xhtml&quot;&gt;
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Google Maps JavaScript API Example</title>
    <style type="text/css">
    v\:* {
      behavior:url(#default#VML);
    }
    </style>

    <script src="http://maps.google.com/maps?file=api&amp;v=2.65&amp;key=macleggoglemap&quot;
            type="text/javascript"></script>
    <script type="text/javascript">
    //<![CDATA[

    function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(43.7788, 3.80193), 11);
               // pour deplacements et zoom
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
          function createMarker(point, letexte) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml( letexte );
        });
    return marker;
    }

    <BOUCLE_points(GIS)>
      //var point = new GLatLng(43.7788, 3.80193);
      var point = new GLatLng(#LAT, #LONX);
      <BOUCLE_art(ARTICLES){id_article}>
      map.addOverlay(createMarker(point, "<b>#TITRE</b>" ));
    </BOUCLE_art>
    </BOUCLE_points>

      }
    }

    //]]>
    </script>
  </head>
  <body onload="load()" onunload="GUnload()">
    <div id="map" style="width: 700px; height: 500px"></div>
  </body>
</html>

bruno bergot a écrit :

Bonsoir,

Comme il est indiqué sur cette page :

http://www.spip.escoitar.org/spip.php?article618

Il faut inclure ce code dans ton squelette rubrique.html :

<INCLURE{fond=inc-gis_map}{id_rubrique}{id_mot}{id_auteur}{recherche}{id_article}{zoom}{latit}{lonxit}>

Modifier ta balise body comme ceci :

<body onload="load()" onunload="GUnload()">

Et coller ce code dans ton squelette là où tu veux afficher la carte :

<div id="map" style="width: 700px; height: 400px; top:0px"></div>

Cette carte affichera les articles de la rubrique en cours.

Voici un squelette d'exemple pour la page d'accueil :

http://www.spip.escoitar.org/squelettes/sommaire.html

Je retrouve mes codes d'accès à spip contrib et je ferai une mise à à
jour de la doc :slight_smile:

Bon courage ++

Bonjour,

La balise #INSERT_HEAD est-elle bien présente dans tes squelettes ?
Sans ça le plugin ne peut pas fonctionner...

Oui elle y est.

Merci de cette suggestion.

A suivre (même si je dois lever le pied ces jours-ci), je vais peut-être devoir mettre le nez dans le code...

bruno bergot a écrit :

Bonjour,

La balise #INSERT_HEAD est-elle bien présente dans tes squelettes ?
Sans ça le plugin ne peut pas fonctionner...

Bonjour Antoine,

Si tu ne t'en sort pas, je te conseille de reprendre tout à zéro et de
tenter de faire fonctionner GIS en suivant la doc de spip-contrib....

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

Bon courage ++

--
-------------------
Bruno Bergot

Merci des encouragements.

Je ne suis pas au bout ! Mais voilà le résumé de mes investigations…

J’ai enlevé ce qui concerne gis : répertoire plugin, les 2 tables, la ligne dans spip_meta.
Et j’ai recommencé :

  • dernière vrsion de gis dans la zone (10 juin)
  • activation de pugin googleapi d’abord
  • puis activation plugin gis

=> Pas de carte visible pour les articles.

Pour la faire apparaître, il m’a fallu ajouter le script avec la clé google dans la fonction pipeline pour l’entête privée.

// --------------------------------
// inserta no head da parte PRIVADA
// --------------------------------
function gis_insertar_head($flux){
if (($r=_request(‹ exec ›))==‹ articles › OR _request(‹ exec ›)==‹ mots_edit › OR $r==‹ gis ›){
$flux .= ‹ <script src= type=« text/javascript »> ›;
$flux .= ‹  ›;
$flux .= ‹  ›;
if ((_request(‹ exec ›)==‹ articles ›))
$flux .= ‹  ›;
}
return $flux;
}

Ceka fait peut-être une piste pour les connaisseurs ?

J’ai pu ajouter un point hors Espagne !
Je le retrouve dans la table spip_gis

id_gis id_article lat lonx

1 336 43.8778 3.70119

Par contre, rien dans la partie publique.
Seulement la carte (après rajout de la ligne « habituelle »).
Même en faisant une boucle « autour » de l’inclusion de inc-gis_map.

Exemples de tentatives :

<BOUCLE_rub(ARTICLES){id_article=336}>
<INCLURE{fond=inc-gis_map}{id_rubrique}{id_mot}{id_auteur}{recherche}{id_article=#ID_ARTICLE}{zoom}{latit}{lonxit}>
</BOUCLE_rub>

<INCLURE{fond=inc-gis_map}{id_rubrique}{id_mot}{id_auteur}{recherche}{id_article=336}{zoom}{latit}{lonxit}>

Mon squelette :

#INSERT_HEAD

bruno bergot a écrit :

Page blanche !

Christian Quentin a écrit :

Bonjour Antoine,

"après rajout de la ligne "habituelle"

J'ai mis la doc du plugin à jour sur spip-contirb le 12 juin car le
code à insérer dans son squelette pour afficher la carte a changé,
l'as-tu lu ?

Bon courage ++