We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 23050
    • 1,842 Posts
    Salut roki et merci pour ton témoignage (hum... témoignage n’est pas le bon terme mais tu m’as comprise ! wink )

    Ce que tu décris là est bien alléchant mais j’avoue que techniquement, je vais être un peu larguée !

    D’un point de vue graphique, quel sera le rendu de la carte de France ? Est-ce qu’on pourra zoomer exactement comme sur Google Maps ? Est-ce qu’on peut switcher vue sat / vue carte ?

    Je serai curieuse de voir le rendu sur ton site, si tu as quelque chose en ligne, par ex ?
      • 25420
      • 74 Posts
      ok je viens de faire un petit exemple. Pour le moment c’est statique mais ca donne une idee du resultat:

      http://be-k.ovh.org/index.php?id=109

      Le code:


      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
          <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
          <title>be-k.net</title>
      
      <script src="http://maps.google.com/maps?file=api&v=2&key=abcede"
                  type="text/javascript"></script>
          <script type="text/javascript">
          //<![CDATA[
      
          function load() {
            if (GBrowserIsCompatible()) {
              var map = new GMap2(document.getElementById("map"));
              map.setCenter(new GLatLng(46.227638,1.700749), 6);
      
              map.addControl(new GSmallMapControl());
              map.addControl(new GMapTypeControl());
              
           
      
      // Creates a marker at the given point with the given number label
      function createMarker(point, texte) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(texte);
        });
        return marker;
      }
      
      //partie a remplacer par un appel en base pour recuperer les infos des points a afficher
      var point = new GLatLng(44.142016,6.590699);
      map.addOverlay(createMarker(point, "mon beau village<br>Place du village<br>04370 <b>Beauvezer</b>"));
        
      
            }
          }
      
          //]]>
      
          </script>
        </head>
        <body onload="load()" onunload="GUnload()">
          <div id="map" style="width: 600px; height: 600px"></div>
        </body>
      </html>
      



      J’ai commente dans le code la partie a remplacer. C’est la qu’il faut recuperer tous les documents a transformer en points et pour chacun d’entre eux recuperer les coordonnees via http://maps.google.com/maps/geo?q=<mon adresse>&output=xml&key=abcde

      Ce qui serait bien d’arriver a faire maintenant c’est di’isoler ine zone geographique (i.e. la France) pour ne pas voir les pays autour. Mais je ne crois pas que ce soit possible.
      Sinon je n’ai pas encore reussi a integrer le zooming via la roulette de la souris. Ca a l’air d’etre assez long a faire..



      Seb
        • 23050
        • 1,842 Posts
        Ok merci infiniment Roki pour cette démo. Cela répond à mes questions concernant l’aspect graphique.

        Je pense que je vais rester sur une solution que j’ai évoquée plus haut : une carte de France dessinée, sur laquelle chaque département est cliquable. Au clic sur un dpt, on affiche la liste des adresses du dpt concerné.
        A la longue, j’ai de toute façon peur que l’affichage des points fasse un peu anarchique. Contrairement à ton cas où tu as, semble-t-il, un nombre limité de bureaux à afficher, dans mon cas, la liste ne va cesser de grossir.

        Le fait de rendre chaque dpt cliquable et d’afficher ensuite une liste me permet d’éviter le positionnement de points sur la carte. J’ai déjà une tv qui contient le code postal, j’ai plus qu’à récupérer la valeur pour appeler les documents demandés.

        Et puis de toute façon, je souhaite à terme intégrer sur chaque fiche "adresse", un lien vers Google Maps pour indiquer le plan d’accès donc l’internaute aura de toute façon accès à cette information... C’est juste qu’il devra passer par la fiche et non pas directement par la carte. Je vais creuser du côté du snippet GoogleMap, voire faire un lien direct vers GoogleMap himself pour que l’internaute ait les fonctions de zoom.
          • 11214
          • 225 Posts
          Bjr,

          Coté interface, moi j’aurai bien vu un effet de roll over qui affiche le detail du dpt au survol (à un autre endroit bien sur que sur la carte). Et coté données, ce serait pas mieux une petite table contenant toutes les infos qui vont bien, et l’affichage des résultas via une simple requete par dpt ?

          Je dis cela mais serai bien incapable de vous dire comment faire...! En revanche, coté mise à jour, cela semble plus propre, et surtout extensible à loisir.....Mais pardon si je raconte des bêtises undecided
            Verum Index sui et falsi
            • 23050
            • 1,842 Posts
            Salut Mamie smiley

            Pour le rollover, il y aura quelque chose effectivement.

            En 2005, je suis intervenue sur un site où nous avons implémenté une simple carte (http://www.cabrita-promotion.fr/investir.php)
            Je pense reprendre la même idée, sans les points, mais avec une info bulle en js ou css à voir indiquant le contenu, même succint, du département.

            Une fois cliqué, on se retrouve sur une simple liste où je verrai à trier les adresses par ville ou département... mais le principe est là wink
              • 11214
              • 225 Posts
              Super beau Perrine ! Et côté table et requête sql pour les résultats (hormi une génération d’image à la volée..) y-t-il des solutions simples ?
                Verum Index sui et falsi
                • 23050
                • 1,842 Posts
                Je pense utiliser Ditto pour récupérer les infos qui vont bien. Par ex, quand je suis dans le dpt 13, récupérer tous les docs dont la tv code postal commence par 13... le seul hic, c’est que je ne sais pas si je peux opérer un calcul sur la tv ou si je vais devoir scinder le code postal en 2 : 2 premiers et les 3 derniers.
                  • 11214
                  • 225 Posts
                  Il n’est donc pas possible de faire directement une requete sql sur une table sans passer par Ditto ? Template Variable sert à entrer le code de la requete n’est-ce-pas ? Et Ditto, c’est pour mettre en forme le résultat de la requete ?

                  Si le TV se refère bien à une table, il suffit peut-être d’allouer à la table un champ de numérotation automatique des items commencant par chaque département
                    Verum Index sui et falsi
                    • 16732
                    • 592 Posts
                    Quote from: grand-mère at Apr 17, 2007, 03:18 AM

                    Il n’est donc pas possible de faire directement une requete sql sur une table sans passer par Ditto
                    Si en perdant du temps à créer un snippet qui gère ta requête et l’affichage de celle-ci … soit Ditto en moins puissant wink

                    Quote from: grand-mère at Apr 17, 2007, 03:18 AM

                    Template Variable sert à entrer le code de la requete n’est-ce-pas ?
                    Non les TVs servent à étendre le modèle de document MODx pour des templates particuliers,
                    cad à rajouter des champs à certains templates .

                    Par exemple dans le cas de Perrine, le document MODx de base ne comprend pas de champ "code postal".
                    On peut donc créer une TV "CP" de type texte et l’associer au template qui va afficher la fiche du professionnel.
                    Lorsque l’on créera un document associé à ce template on aura, dans le manager (et dans QuickEdit) en plus des champs par défaut du document MODx un champ "code postal" que l’on pourra alors remplir puis afficher/manipuler comme tout autre champ de base.

                    On pourra aussi utiliser ce champ dans un appel Ditto pour filtrer les résultats

                    On peut effectivement effectuer une requête grâce à une TV en utilisant un Binding @SELECT... mais le résultat servira plutôt à générer des choix pour cette TV (généralement utilisé pour des TV Listes)

                    Quote from: grand-mère at Apr 17, 2007, 03:18 AM

                    Si le TV se refère bien à une table, il suffit peut-être d’allouer à la table un champ de numérotation automatique des items commencant par chaque département
                    En créant une TV "département" on arrive au même résultat sans toucher au modèle de données de MODx et en s’offrant la possibilité de l’utiliser avec Ditto grin
                    Bon il faudra choisir le département lors de la création de chaque doc (bien qu’il soit possible d’automatiser la chose si vraiment on est feignant laugh) mais le gain de temps et de flexibilité est la !

                      • 11214
                      • 225 Posts
                      Merci bp de ces précisions. Ca a l’air vraiment interessant tout ca mais aussi assez compliqué pour les grands-mères anglophobes ! A quand un beau manuel très complet sur les TV ? Parce que je crois compendre que c’est vraiment un des pts forts de Modx, non ?
                        Verum Index sui et falsi