begin process at 2012 02 14 02:05:54
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Tutoriaux

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

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


 Information sur le tutoriel

Note :
Aucune 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.


 Historique

03 juillet 2007 22:01:35 :
Amélioration de la présentation
04 juillet 2007 21:43:29 :
Mise en forme améliorée

Commentaires

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."

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

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

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

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 !

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?

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.

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

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

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

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?

Commentaire de sanil le 09/06/2008 18:13:44

Ce tutoriel a été compliqué car pour l'affichage d'une cartographie google et mettre les options que tu veux, c'est nettement plus simple au lieu de créer des variables tout au long du code.

Commentaire de lepitrenicolas le 11/06/2008 09:52:06

bonjour,
exelent script seulement je n'arrive toujours pas a entrer les coordonnées géographiques au lieu de l'adresse en toute lettre!
merci d'avance a une âme charitable qui pourra m'aiclairer ;-)

Commentaire de lepitrenicolas le 11/06/2008 10:08:59

Ah oui j'avais oublié que je n'arrive pas non plus a afficher deux maps différentes par page, a chaque fois une seule s'affiche!

Commentaire de neojackass le 13/11/2008 16:26:44

Bonjour et merci pour ce tutorial.

J'ai un petit problème cependant.
La map fonctionne sous firefox et ie 7 mais pas sous les versions antérieures de ie.

Qqn d'autres a rencontré ce problème ?
Quelle est la solution svp?

Merci.

Au revoir

Commentaire de Ludococo20 le 05/03/2009 16:10:47

Très bon tuto mais même problème que lepitrenicolas. Je n'arrive pas à afficher deux maps sur la même page. Il n'y en a qu'une à chaque fois.
Si quelqu'un connaissait une solution à ce petit soucis ?
Merci

Commentaire de tibiboune le 10/03/2009 10:47:25

Bonjour, explication super claires. Pour moi, il ne fonctionne pas sous IE7 alors qu'il n'y a pas de soucis sour fiefox
quelqu'un peut il m'aider??????

Commentaire de smorond le 03/04/2009 22:48:57

Super script.
Pour la recherche d'itinéraire, essayez cela:
A la place de "<a href='http://www.mnmsolutions.fr'>www.mnmsolutions.fr</a>", mettez
"Itinéraire : <a href='http://www.google.com/maps?source=uds&daddr=57 rue archereau,+75019,+PARIS&iwstate1=dir:to'>Arrivée</a> - <a href='http://www.google.com/maps?source=uds&saddr=57 rue archereau,+75019,+PARIS&iwstate1=dir:from'>Départ</a>"

Si quelqu'un pouvait m'aider pour un script de carte avec multi marqueur. Merci

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,078 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales