begin process at 2008 05 17 06:00:35
1 173 917 membres
49 nouveaux aujourd'hui
13 973 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PLAN D'ACCÈS SUR VOTRE SITE AVEC ZOOM, VUE SATTELITE, VOTRE LOGO ET ADRESSE GRÂCE À GOOGLE MAPS.


Information sur le tutorial

Catégorie :Tutoriaux Date de création : 23/06/2007 00:20:10 Vu : 11 193 fois

Note :
Aucune note

Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

Description

Profitez de toutes les fonctionnalités de google maps sur votre site.

Tutorial

Vous désirez mettre en place un plan d'accés Google Maps sur votre site alors lisez ce tutoriel.
Voici à quoi ressemblera votre plan :
maps1.JPG
L'avantage de ce plan est que l'on peut zoomer, passer en vue satellite et aussi se déplacer dans les 4 directions.


Tout d'abord nous allons commencer par présenter l'API Google Maps, à quoi ça sert, quelles sont les fonctionnalités puis nous verrons comment configurer et créer un plan. Pour les personnes pressées rendez vous directement à la partie C.

A) Présentation de Google Maps

Google Maps
est un service entièrement gratuit de carte géographique et de plan en ligne. Ce service permet de visualiser le monde sous forme de plan, de vue sattelite ou les deux en même temps. Avec le zoom il est possible d'avoir une vision qui varie de la rue à la terre entière. Tout l'intéret d'intégrer un plan de ce type sur votre site est qu'avec le système de zoom on retrouvera plus facilement votre localisation car en prennant un peu de hauteur on peut prendre des points de répère avec les ville voisine.


D'autre part le site Google Maps permet de faire des recherches d'itinéraires et des recherches de proximité (ou sont les pizzéria dans votre quartier). Ce qui vous éblouira avec Google Maps, c'est la qualité des plans et le détails des images sattelites (zoom jusqu'à 30m de hauteur seulement).


B) Fonctionnalité de l'API

L'API Google Maps offre des fonctionnalités trés puissante qui dépasse le cadre de ce tutorial. Elle est simple d'utilisation pour un peu que l'on maitrise le javascript. Parmis les possibilités offerte par cette API on trouve :
  • L'affichage de carte (plan et satellite)
  • La possiblité de choisir l'adresse qui servira de centre pour l'affichage du plan
  • L'ajout de repère(icône) cliquable avec apparition d'un calque (genre de fenêtre) qui peut afficher du texte simple, des images, du HTML ou bien même des applications de type forum ou autre. Ces fenêtres peuvent contenir plusieurs onglets contenant différentes informations
  • Il est possible d'effectuer des tracés par exemple entre deux adresses
  • On peut ajouter un système de recherche d'itinéraires
  • L'ajout de marqueur n'est pas limité, on en affiche autant qu'on le souhaite et il est possible de les afficher ou cacher suivant le niveau de zoom

Techniquement cette API se présente sous forme d'un ensemble d'objets javascript ayant chacun leur fonction. Les trois objets principaux sont :
  • GMAP2 qui permet de créer un carte
  • GClientGeocoder qui traduit une adresse en longitude,latitute.
  • GMarker qui permet de placer un repère sur la carte

Voyons comment mettre en place tous ces objets pour obtenir un plan. Mais avant tout avez vous une clef d'activation ?

C) Plan

Etape 1 - La clef d'activation
Pour utiliser l'API de google vous avez besoin d'un clef d'activation et pour avoir un clef il vous faut un compte google.

Si vous n'avez pas de compte google il suffit d'en créer un ici, bien sur c'est gratuit : https://www.google.com/accounts/ManageAccount

Ensuite pour avoir un clef d'activation il faut aller sur le site d'aide à l'utilisation de l'API (cliquer sur "Sign up for a Google Maps API key"): http://www.google.com/apis/maps/

Cette clef est valide pour un nom de domaine exemple www.iworks.fr et tous les sous répertoires du site, par exemple www.iworks.fr/plans/
En revanche pour plan.iworks.fr il faudrait une autre clef.

Voici a quoi ressemble une clef : ABQIAAAAW9GyMK3xmJic7HkkJ6_FKhRgqac2kDoat0qdh_Gp70xojZjKPBS0aYcbexH1s9cAbRM8T_PeZX9xrg
Et ça s'utilise de la manière suivante (cf code ci dessous) :      
<script src=" http://maps.google.com/?file=api&amp;v=2.x&amp;key=ABQIAAAAW9GyMK3xmJic7HkkJ6_FKhRgqac2kDoat0qdh_Gp70xojZjKPBS0aYcbexH1s9cAbRM8T_PeZX9xrg" type="text/javascript"></script>


Etape 2 - le Plan
Voici ce qui est configurable dans votre carte grâce aux variables commençant par 'cfg_' (cf code ci dessous):
  • la hauteur
  • la largeur
  • le niveau de zoom
  • l'adresse
  • le texte du popup (texte simple ou HTML)
Certaines options sont configurable en commentant on décommentant des lignes de code (lire les commentaires pour voir lesquelles):
  • le zoom grâce à la molette de la souris
  • le type de barre de zoom (à gauche dans la carte)
  • l'affichage ou non des boutons vue sattelite, plan, hybride

Etape 2 - Le code à insérer là ou doit apparaitre votre plan :
    <!-- Remplacer la clef aprés key= par la votre//-->
    <script src=" http://maps.google.com/?file=api&amp;v=2.x&amp;key=ABQIAAAAW9GyMK3xmJic7HkkJ6_FKhRgqac2kDoat0qdh_Gp70xojZjKPBS0aYcbexH1s9cAbRM8T_PeZX9xrg" type="text/javascript"></script>
    <script type="text/javascript">
    //<![CDATA[   
   
    // Adresse sur laquelle le carte sera centrer et ou sera placer le marqueur
    var cfg_adress         = '57 rue archereau, 75019 Paris';
   
    // Largeur de la carte
    var cfg_largeur     = '500px';
   
    // Hauteur de la carte
    var cfg_hauteur     = '400px';
   
    // Niveau de zoom, entre 1 (niveau globe) et 17 (niveau rue)
    var cfg_zoomLevel    = 13;
   
    // Texte pour le popup
    // Si vous ne souahitez pas de poupup laisser mettre simplement "" comme valeur
    var cfg_description = ""+
    "<table border='0' width='207' cellpadding='3' cellspacing='0'>"+
    "<tr><td valign='top'><div style='color: blue; font-size: 14px; font-weight:bold;'>MnM Solutions</div><br/>57 rue archereau<br/>75019 Paris<br/>01 34 00 16 71<br/>"+
    "<a href='http://www.mnmsolutions.fr'>www.mnmsolutions.fr</a>"+
    "</td>"+
    "<td>"+
    "<img src='http://www.business-in-europe.com/fr/visuals/new-voie-express.gif' border='0' alt='Photo' vspace='5' align='right' />"+
    "</td></tr></table>";
   
    // Variable globale pour l'objet GMAP2
    var map;
   
    // Variable global pour l'objet GClientGeocoder qui traduit une adresse en longitude,latitude
    var geocoder;

    // Function appellée au chargement de la page web
    // Créee et configure la carte
    function loadMyMap() {
   
        // Teste si le navigateur est compatible avec l'API Gmaps
        if (GBrowserIsCompatible()) {
           
            // Affecte la carte à la div  "map_mezy" (voir tout en bas)
            var divMap    = document.getElementById("map_mezy");
           
            // Redimensionne la carte
            divMap.style.width    = cfg_largeur;
            divMap.style.height    = cfg_hauteur;
           
            // Création des objets princiapux
            map         = new GMap2(divMap); 
            geocoder     = new GClientGeocoder();
           
            // Pour zoomer avec la molette de la souris
            // Pour le désactiver ajouter // devant la ligne suivante ou bien la supprimer :)
            map.enableScrollWheelZoom();
           
            // Grande barre de zoom
            map.addControl(new GLargeMapControl());
           
            // Ou bien : Deux boutons zoom + 4 directions
            //map.addControl(new GSmallMapControl());
           
            // Ou bien : Juste deux boutons pour zoomer et dézoomer
            //map.addControl(new GSmallZoomControl());
           
            //Pour switcher entre les différentes vues (sattelite, plan, hybride)
            map.addControl(new GMapTypeControl());                       
           
            // On centre la carte sur votre adresse
            centerMapOnAdress(cfg_adress);
        }
        else alert('Votre navigateur ne permet pas l\'affichage de carte Google Maps');
    }
   
    // Centre une carte sur une adresse
    // Geocode l'adresse
    // Message d'erreur si adresse non trouvé
    function centerMapOnAdress(adresse) {
   
        if (!adresse.length) alert('Remplir la variable adresse');
       
        // Décodage de l'adresse         
        geocoder.getLatLng(
          adresse,
          function(point) {
         
            // Adresse introuvable
            if (!point) {
                alert('Adresse : ' + addresse + " introuvable");
            } else {
           
                // Centre la carte sur l'adresse
                map.setCenter(point, cfg_zoomLevel);
               
                // On créer un marqueur à l'adresse spécifiée
                var marker = new GMarker(point);
               
                var textePopUp = cfg_description;
               
                // Si il y a une description
                if (textePopUp.length) {               
               
                    // Affiche un popup lors du clic sur le marqueur
                    GEvent.addListener(marker, "click", function() {
                        marker.openInfoWindowHtml(textePopUp);
                    });
                    // Affiche le marqueur
                    map.addOverlay(marker);
                   
                    // Par défaut on affiche le popup tout de suite sans attendre un clic
                    // Désactiver en commentant la ligne
                    marker.openInfoWindowHtml(textePopUp);
                }
                    else  map.addOverlay(marker); // Affiche le marqueur
                }
              }
        );
          
    }
   
    // Au chargement de la page on affiche la carte
    window.onload=loadMyMap;
   
    // A la fermeture de la page on libère la mémoire allouée à la carte
    window.onunload=GUnload;
    //]]>
    </script>
    <!-- div dédiée à la carte //-->
    <div id="map_mezy"></div>
    
   


La suite : itinéraire
Cette contribution sera bien utile à tous les webmasters qui veulent avoir un vrai plan sur leur site. Prochainement nous montrerons comment ajouter une recherche d'itinéraire pour voir comment se rendre facilement à votre adresse.


03 juillet 2007 22:01:35 :
Amélioration de la présentation
04 juillet 2007 21:43:29 :
Mise en forme améliorée
  • signaler à un administrateur
    Commentaire de juanpa le 04/08/2007 19:18:52

    Vraiment excellent comme tuto ...Bravo!
    mais je n'ai pas trouvé la partie :

    "comment ajouter une recherche d'itinéraire pour voir comment se rendre facilement à votre adresse."

  • signaler à un administrateur
    Commentaire de profwaken le 08/08/2007 13:02:25

    Bonjour à tous,
    j'ai testé le script proposé, il fonctionne bien seulement dans mon cas cela ne correspond pas à mon attente, je m'explique:
    Nota: Je précise de suite que mes connaissances en JS sont nulles, je suis donc preneur d'une solution aboutie.

    Le site à indiquer sur ma carte n'est pas directement sur une route donc le marqueur avec l'adresse n'est pas placé de manière précise, j'ai donc tenté depuis 2 jours de trouver comment modifier le script pour prendre en compte les coordonnées longitude et latitude à la place de l'adresse, non sans mal j'y suis arrivé mais dans ce cas là je n'ai plus l'affichage du marqueur sur la carte et la popup d'information ne s'affiche plus non plus.

    Comment faut-il modifier le script pour que cela fonctionne ? Je fourni les coordonnées à utiliser dans le code au cas ou une bonne âme puisse me sortir de cette impasse, long: 43.5808  et lat: 7.0537

    Merci par avance pour votre appui,
    Cordialement,
    Profwalken

  • signaler à un administrateur
    Commentaire de ramsou le 03/10/2007 14:40:17

    Bonjour,

    Je trouve ce script excellent et j'ai un petit problème quand je le met sur mon site(en local). j'ai le message suivant que ce soit sur IE ou Firefox "votre navigateur ne permet pas d'afficher le google maps.

    Merci pour votre aide.
    ramsou

  • signaler à un administrateur
    Commentaire de aquewel le 13/10/2007 15:53:28

    super ton script dis moi

    chez moi j'affiche le plan en 180*200 et j'ai un souci avec le copyright qui sort du cadre de la carte google et ki me fourre mon design.... si tu as une idee

  • signaler à un administrateur
    Commentaire de paulcool le 30/10/2007 16:05:18

    @ ramsou : as tu activé le javascript?
    @aquewel : voir au niveau de ta feuille CSS, j'ai eu le même PB avec un 'span' , si c'est ton cas,  astuce > changer le 'span' en 'span1' et le tour est joué
    @ profwaken : utilise alors un autre type de positionnement, en indiquant directement les coordonnees dans le corps > voir :http://www.journaldunet.com/developpeur/tutoriel/dht/061222-google-maps-api/3.shtml
    Mais je pense que depuis Aout tu as du trouver ?

    Sinon le script est excellent , en effet !
    Par contre, astuce : Ajouter 'france' a l'adresse(cfg_adress ), pour eviter de tomber  aux USA ou dans un coin perdu de la planete sur des adresses mal renseignées !

  • signaler à un administrateur
    Commentaire de juanpa le 31/10/2007 17:02:21

    bah moi depuis le mois d'Aout j'ai pas trouvé la suite .... :(

    "comment ajouter une recherche d'itinéraire pour voir comment se rendre facilement à votre adresse."

    quelqu'un a un lien?

  • signaler à un administrateur
    Commentaire de mondo78fr le 07/11/2007 16:42:52

    Bon Tutorial, merci.
    Avec les coordonnées numériques on peut vraiment indiquer un point précis, ce qui est avantageux lorsqu'on passe en mode sat.

  • signaler à un administrateur
    Commentaire de devlo le 03/01/2008 17:58:11

    Bonjour,

    super source :)

    Si j'ai bien compris la méthode addOverlay ajoute un marker sur la carte
    mais est ce qu'il éxiste une méthode qui enlève un marker de la carte par exemple removeOverlay ou quelque chose du genre

    Je cherche à masquer une partie des markers affichés en fonction d'une action d'un utilisateur...

    Si quelqu'un peut m'aider, d'avance merci

  • signaler à un administrateur
    Commentaire de jlesausse le 24/01/2008 17:19:21

    Tout est la dedans !

    Méthodes et événements : http://www.webjax.eu/p/157-GMap2-GMaps-Google-Google.GMaps-Class-GMaps-disableDragging-addControl-getZoom-zoomIn-addOverlay-openInfoWindowTabsHtml-dragend-GMapsOptions-marqueurs

    Classes : http://www.webjax.eu/p/156-GMaps-Google-Google.GMaps-Class-LibrairieGMaps-GMaps2-GMaps-disableDragging-addControl-getZoom-zoomIn-addOverlay-openInfoWindowTabsHtml-dragend-GMapsO

  • signaler à un administrateur
    Commentaire de jlesausse le 24/01/2008 17:24:14

    Oups ! Désolé ! on ne voit pas les URL en entier.
    (retours chariot à supprimer pour utiliser comme URL, bien évidemment !)

    Méthodes et événements :
    http://www.webjax.eu/p/157-GMap2-GMaps-Google-Google.GMaps-Class-GMaps-disableDragging-
    addControl-getZoom-zoomIn-addOverlay-openInfoWindowTabsHtml-dragend-GMapsOptions-marqueurs

    Classes :
    http://www.webjax.eu/p/156-GMaps-Google-Google.GMaps-Class-LibrairieGMaps-GMaps2-GMaps-
    disableDragging-addControl-getZoom-zoomIn-addOverlay-openInfoWindowTabsHtml-dragend-GMapsO

    cdlt

  • signaler à un administrateur
    Commentaire de toutpourmoinsch le 28/01/2008 11:33:10

    Bonjour,

    excellent tutoriel qui m'est très utile...
    Mais il me manque des connaissances car je voudrai mettre plusieurs adresses avec pour chacune une description différente.

    Quelqu'un peut m'aider?

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Boutique

Boutique de goodies CodeS-SourceS