Attention :
L'API Google Maps Javascript Version 2 a été officiellement déclarée obsolète le 19 mai 2010 par Google. Elle continuera, cependant, à fonctionner durant encore trois ans, à compter de cette date, conformément à la politique de dépréciation de Google.
TouraineVerte.com ne diffusera plus de d'exemples ni de tutoriels sur cette version de l'API.
L'API Google Maps Javascript Version 3 est désormais la version officielle.
GMap2(contenant, options) ou google.maps.Map2(contenant, options) est la classe centrale de l'API Google Maps. C'est elle qui permet la création d'une nouvelle carte.
Lors de la création d'une carte il faut lui attribuer obligatoirement :
Il est également possible de préciser :
Pour créer une nouvelle carte nommée "maCarte" venant s'afficher dans une balise <div> ayant pour identifiant id="EmplacementDeMaCarte", il suffit d'insérer entre les balises <head></head> :
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"));
Exemple : (G*)
<head> ... <script type="text/javascript"> ... var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte")); ... </script> ... </head>
Ou si vous utilisez Google AJAX APIs :
var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"));
Exemple : (google.maps.*)
<head> ... <script type="text/javascript"> ... var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte")); ... </script> ... </head>
Ensuite, il suffit de placer entre les balises <body></body>, à l'endroit où l'on souhaite voir s'afficher la carte, le code :
<div id="EmplacementDeMaCarte"><div> :
Exemple
<body>
...
<div id="EmplacementDeMaCarte"><div>
...
</body>
Par défaut, la taille de la carte est égale à la taille de la <div> dans laquelle elle est insérée.
Si la taille de la carte est fixée à l'aide de {size:new GSize(500, 200)}, alors les dimensions de la <div> s'adapteront à la taille de la carte.
Exemples (G*)
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"),{size:new GSize(500, 200)});
Exemples (google.maps.*)
var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"),{size:new google.maps.Size(500, 200)});
mapTypes représente un tableau contenant les types de cartes pouvant être utilisés pour une carte donnée.
Par défaut, G_DEFAULT_MAP_TYPES est utilisé. G_DEFAULT_MAP_TYPES est un tableau comportant 3 types de cartes :
Conséquence, n'importe qu'elle carte, par défaut, va comporter 3 types des cartes : Plan - Satellite - Mixte.
On retrouve ces types de cartes sous la forme de 3 boutons situés en haut à droite de l'écran et placé dans le même ordre.
Exemple : Avec GMapTypeControl
Exemple : Avec GMenuMapTypeControl
Voici la liste des différents types de carte possibles pour la Terre :
| Type de Carte | Constante | Remarque |
|---|---|---|
| Par défaut | G_DEFAULT_MAP_TYPES | Il s'agit d'un tableau contenant les 3 premiers types de cartes cités ci-dessous |
| Plan | G_NORMAL_MAP | |
| Satellite | G_SATELLITE_MAP | |
| Mixte | G_HYBRID_MAP | |
| Relief | G_PHYSICAL_MAP | |
| 3D Earth | G_SATELLITE_3D_MAP | Pour pouvoir visualiser les cartes 3D, l'utilisateur doit installer le Plug-in Google Earth sur son ordinateur |
Remarque :
Pour information, sachez que d'autres types de cartes existent pour le ciel, la Lune et Mars) :
| Type | Constante | Description |
|---|---|---|
| Ciel | G_SKY_MAP_TYPES | Tableau renfermant l'unique type de carte du Ciel indiqué ci-dessous |
| G_SKY_VISIBLE_MAP | Voûte céleste | |
| Lune | G_MOON_MAP_TYPES | Tableau renfermant les 2 types de carte de la Lune indiqués ci-dessous |
| G_MOON_ELEVATION_MAP | Relief | |
| G_MOON_VISIBLE_MAP | Surface | |
| Mars | G_MARS_MAP_TYPES | Tableau renfermant les 3 types de carte de Mars indiqués ci-dessous |
| G_MARS_ELEVATION_MAP | Relief | |
| G_MARS_VISIBLE_MAP | Surface | |
| G_MARS_INFRARED_MAP | Infra rouge |
Grâce à l'utilisation de mapTypes, vous allez donc pouvoir modifier les types de cartes associés à une carte (modifier l'ordre, en ajouter ou supprimer).
Vous désirez que votre carte nommée "maCarte" s'affichant à l'intérieur de la <div> ayant pour identifiant id="EmplacementDeMaCarte" comporte 4 types de cartes dans l'ordre suivant :
Exemple (G*)
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"),{mapTypes: [G_PHYSICAL_MAP,G_HYBRID_MAP,G_NORMAL_MAP,G_SATELLITE_MAP]});
Exemple (google.maps.)
var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"),{mapTypes: [G_PHYSICAL_MAP,G_HYBRID_MAP,G_NORMAL_MAP,G_SATELLITE_MAP]});
Vous désirez que votre carte nommée "maCarte" s'affichant à l'intérieur de la <div> ayant pour identifiant id="EmplacementDeMaCarte" comporte 2 types de cartes dans l'ordre suivant :
Exemple (G*)
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"),{mapTypes: [G_PHYSICAL_MAP,G_SATELLITE_3D_MAP]});
Exemple (google.maps.)
var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"),{mapTypes: [G_PHYSICAL_MAP,G_SATELLITE_3D_MAP]});
Important :
Lorsque votre carte va s'afficher pour la première fois, son type sera équivalent au premier situé dans le tableau mapTypes.
| Constante | Type de curseur |
|---|---|
| draggableCursor | Curseur s'affichant lors du survol d'une carte déplaçable. Par défaut, il s'agit d'une main ouverte. |
| draggingCursor | Curseur s'affichant lorsque la carte est en cours de déplacement. Par défaut, il s'agit d'une main fermée. |
Exemple (G*)
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"),{draggableCursor:"help"}); var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"),{draggableCursor:"hand"}); var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"),{draggableCursor:"crosshair"}); var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"),{draggableCursor:"move"}); ... var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"),{draggingCursor:"help"}); var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"),{draggingCursor:"hand"}); var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"),{draggingCursor:"crosshair"}); var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"),{draggingCursor:"move"});
Exemple (google.maps.*)
var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"),{draggableCursor:"help"}); var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"),{draggableCursor:"hand"}); var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"),{draggableCursor:"crosshair"}); var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"),{draggableCursor:"move"}); ... var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"),{draggingCursor:"help"}); var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"),{draggingCursor:"hand"}); var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"),{draggingCursor:"crosshair"}); var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"),{draggingCursor:"move"});
Liste des propriétés CSS de cursor : http://www.echoecho.com/csscursors.htm
Une carte, créée à l'aide de Google Maps, est constituée d'une multitude de portions de cartes (appelées tuiles = tiles).
Chaque portion de carte, ou tuile, est téléchargée jusqu'à l'obtention de la carte globale.
Lorsqu'une portion de carte n'est pas encore téléchargée, l'arrière plan de la tuile est, par défaut, de couleur grise.
L'option backgroundColor permet de modifier cette couleur.
Exemple (G*)
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"),{backgroundColor:"#ff00ff"});
Exemple (google.maps.*)
var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"),{backgroundColor:"#ff00ff"});
<?xml version="1.0" encoding="utf-8"?>
<!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" xmlns:v="urn:schemas-microsoft-com:vml" xml:lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>TouraineVerte ma première carte</title>
<!-- Chargement du script Google AJAX APIs en précisant votre clé -->
<script type="text/javascript" src="http://www.google.com/jsapi?key=Inserez_Votre_Clef_API_Ici"></script>
<script type="text/javascript">
//<![CDATA[
/* Chargement du module "maps" dans sa version "2.x" */
google.load("maps", "2.x",{"other_params":"sensor=false"});
/* Fonction initialize() */
function initialize() {
/* Si le navigateur est compatible avec l'API de Google Maps ... */
if (google.maps.BrowserIsCompatible()) {
/* On définit les options à appliquer à la carte ... */
var optionsDeMaCarte = {
/* Taille de la carte : largeur : 1024 px - hauteur : 370 px ... */
size:new google.maps.Size(1024,370),
/* On définit les types de cartes : Relief - Mixte - Plan - Satellite ... */
mapTypes: [G_PHYSICAL_MAP,G_HYBRID_MAP,G_NORMAL_MAP,G_SATELLITE_MAP],
/* On définit l'apparence du curseur pour déplacer la carte : crosshair ... */
draggableCursor:"crosshair",
/* On définit l'apparence du curseur lors de son déplacement sur la carte : move ... */
draggingCursor:"move",
/* On définit la couleur d'arrière plan des tuiles : fushia = #ff00ff ... */
backgroundColor:"#ff00ff"
};
/* ... Création d'une nouvelle carte nommée "maCarte" qui s'affichera à l'intérieur de la balise <div> ayant pour identifiant id="EmplacementDeMaCarte" ... */
var maCarte = new google.maps.Map2(document.getElementById("EmplacementDeMaCarte"), optionsDeMaCarte);
/* ... La carte nommée "maCarte" est centrée sur la Latitude 47.341571, la Longitude 0.514233, avec un niveau de zoom égal à 13 ... */
maCarte.setCenter(new google.maps.LatLng(47.341571,0.514233), 13);
/* ... Affiche les boutons permettant de modifier le type de carte ... */
/* ... L'ordre d'affichage des boutons est fixé par l'option mapTypes: ... */
maCarte.addControl(new google.maps.MapTypeControl());
/* Si le navigateur n'est pas compatible avec l'API de Google Maps ... */
}else{
/* ... affichage du message "Désolé, mais votre navigateur n'est pas compatible avec Google Maps". */
alert('Désolé, mais votre navigateur n\'est pas compatible avec Google Maps');
}
}
/* Appelle la fonction "initialize" lorsque la page web sera chargée */
google.setOnLoadCallback(initialize);
//]]>
</script>
</head>
<body>
<!-- La carte nommée "maCarte", va venir s'afficher à l' intérieur de -->
<!-- la balise <div> ayant pour identifiant id="EmplacementDeMaCarte". -->
<div id="EmplacementDeMaCarte"></div>
<div style="margin:1em 0;padding:1em 0;height:auto;border:1px solid #513a0b;text-align:left;background-color:#e7e3d7;">
<ul>
<li>La taille de la carte est définie à l'aide de l'option <em>size:</em>
<ul>
<li><em>size:</em>new GSize(1024,370)</li>
</ul>
</li>
</ul>
<ul>
<li>Les types de carte sont définis à l'aide de l'option <em>mapTypes:</em>
<ul>
<li><em>mapTypes:</em>[G_PHYSICAL_MAP,G_HYBRID_MAP,G_NORMAL_MAP,G_SATELLITE_MAP]</li>
</ul>
</li>
</ul>
<ul>
<li>Le type de curseur affiché lors du survol de la carte est défini à l'aide de l'option <em>draggableCursor:</em>
<ul>
<li><em>draggableCursor:</em>"crosshair"</li>
</ul>
</li>
</ul>
<ul>
<li>Le type de curseur affiché lors du déplacement de la carte est défini à l'aide de l'option <em>draggingCursor:</em>
<ul>
<li><em>draggingCursor:</em>"move"</li>
</ul>
</li>
</ul>
<ul>
<li>La couleur d'arrière plan de la carte est défini à l'aide de <em>backgroundColor:</em>
<ul>
<li><em>backgroundColor:</em>"#ff00ff" - <span style="color:#f0f;font-weight: bolder;">couleur fushia</span></li>
</ul>
</li>
</ul>
</div></body>
</html>
<?xml version="1.0" encoding="utf-8"?>
<!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" xmlns:v="urn:schemas-microsoft-com:vml" xml:lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>TouraineVerte ma première carte</title>
<!-- Chargement du script Google Maps, version 2.x, en précisant votre clé -->
<script src="http://maps.google.com/maps?file=api&v=2.x&key=Inserez_Votre_Clef_API_Ici&sensor=false" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
/* Fonction initialize() */
function initialize() {
/* Si le navigateur est compatible avec l'API de Google Maps ... */
if (GBrowserIsCompatible()) {
/* On définit les options à appliquer à la carte ... */
var optionsDeMaCarte = {
/* Taille de la carte : largeur : 1024 px - hauteur : 370 px ... */
size:new GSize(1024,370),
/* On définit les types de cartes : Relief - Mixte - Plan - Satellite ... */
mapTypes: [G_PHYSICAL_MAP,G_HYBRID_MAP,G_NORMAL_MAP,G_SATELLITE_MAP],
/* On définit l'apparence du curseur pour déplacer la carte : crosshair ... */
draggableCursor:"crosshair",
/* On définit l'apparence du curseur lors de son déplacement sur la carte : move ... */
draggingCursor:"move",
/* On définit la couleur d'arrière plan des tuiles : fushia = #ff00ff ... */
backgroundColor:"#ff00ff"
};
/* ... Création d'une nouvelle carte nommée "maCarte" qui s'affichera à l'intérieur de la balise <div> ayant ... */
/* ... pour identifiant id="EmplacementDeMaCarte" et on lui applique les options nommées "optionsDeMaCarte" ... */
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"), optionsDeMaCarte);
/* ... La carte nommée "maCarte" est centrée sur la Latitude 47.341571, la Longitude 0.514233, avec un niveau de zoom égal à 13 ... */
maCarte.setCenter(new GLatLng(47.341571,0.514233), 13);
/* ... Affiche les boutons permettant de modifier le type de carte ... */
/* ... L'ordre d'affichage des boutons est fixé par l'option mapTypes: ... */
maCarte.addControl(new google.maps.MapTypeControl());
/* Si le navigateur n'est pas compatible avec l'API de Google Maps ... */
}else{
/* ... affichage du message "Désolé, mais votre navigateur n'est pas compatible avec Google Maps". */
alert('Désolé, mais votre navigateur n\'est pas compatible avec Google Maps');
}
}
//]]>
</script>
</head>
<!-- Une fois la page chargée la fonction initialize() est exécutée. -->
<!-- A la fermeture de la page , la fonction GUnload() est exécutée. -->
<body onload="initialize()" onunload="GUnload()">
<!-- La carte nommée "maCarte", va venir s'afficher à l' intérieur de -->
<!-- la balise <div> ayant pour identifiant id="EmplacementDeMaCarte". -->
<div id="EmplacementDeMaCarte"></div>
<div style="margin:1em 0;padding:1em 0;height:auto;border:1px solid #513a0b;text-align:left;background-color:#e7e3d7;">
<ul>
<li>La taille de la carte est définie à l'aide de l'option <em>size:</em>
<ul>
<li><em>size:</em>new GSize(1024,370)</li>
</ul>
</li>
</ul>
<ul>
<li>Les types de carte sont définis à l'aide de l'option <em>mapTypes:</em>
<ul>
<li><em>mapTypes:</em>[G_PHYSICAL_MAP,G_HYBRID_MAP,G_NORMAL_MAP,G_SATELLITE_MAP]</li>
</ul>
</li>
</ul>
<ul>
<li>Le type de curseur affiché lors du survol de la carte est défini à l'aide de l'option <em>draggableCursor:</em>
<ul>
<li><em>draggableCursor:</em>"crosshair"</li>
</ul>
</li>
</ul>
<ul>
<li>Le type de curseur affiché lors du déplacement de la carte est défini à l'aide de l'option <em>draggingCursor:</em>
<ul>
<li><em>draggingCursor:</em>"move"</li>
</ul>
</li>
</ul>
<ul>
<li>La couleur d'arrière plan de la carte est défini à l'aide de <em>backgroundColor:</em>
<ul>
<li><em>backgroundColor:</em>"#ff00ff" - <span style="color:#f0f;font-weight: bolder;">couleur fushia</span></li>
</ul>
</li>
</ul>
</div></body>
</html>
Depuis la version 2.95 de l'API, une nouvelle option a été ajoutée. Il s'agit de googleBarOptions.
Une fois la GoogleBar activée à l'aide de enableGoogleBar(), les options de la "GoogleBar" permettent :
Pour plus d'information veuillez consulter cet article :
Api Google Maps - Googlebar - Créer une GoogleBar - disableGoogleBar - enableGoogleBar