Controle
Créer un bouton ExtLargeMapControl - Déplacement et zoom de la carte grand format - Emplacement par défaut ou personnalisé.
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.
A l'aide du script extlargemapcontrol.js, externe à l'API Google MAps, vous pouvez insérer dans votre carte un contrôle ExtLargeMapControl ( 3D Large Map Control ) dont l'aspect est identique au nouveau bouton que l'on trouve désormais sur Google Maps.
Son aspect graphique est le suivant :
| Aspect | Descriptif | |
|---|---|---|
|
En bleu : 4 boutons, assignés au déplacement de la carte dans les 4 directions : Nord, Ouest, Sud, Est. |
|
En rouge : Un bouton, situé au centre des 4 précédents, permettant de replacer la carte dans son état intitial (point central et niveau de zoom). |
||
En vert : Une "échelle" destinée à faire varier le niveau de zoom. |
||
Par défaut, il s'affiche en haut à gauche de la carte.
Pour insérer ce contrôle dans votre carte, il vous suffit :
<script type="text/javascript" src="http://www.votreserveur.fr/votrerepertoire/script_js/extlargemapcontrol.js"></script>
après avoir créé votre carte, de respecter la régle suivante pour écrire votre code :
nomDeLaCarte.addControl(new leTypeDeControleAAjouter);
Exemple :
...
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"));
maCarte.addControl(new ExtLargeMapControl());
maCarte.setCenter(new GLatLng(47.389517,0.688705),13);
...
Autre écriture possible :
...
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"));
var monControle = new ExtLargeMapControl();
maCarte.addControl(monControle);
maCarte.setCenter(new GLatLng(47.389517,0.688705),13);
...
<?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.com : Exemples et tutoriels sur l'API Google Maps</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>
<!-- Chargement du script permettant l'affichage du contrôle ExtLargeMapControl -->
<script type="text/javascript" src="http://www.votreserveur.fr/votrechemin/extlargemapcontrol.js"></script>
<script type="text/javascript">
/* Fonction initialize() */
function initialize() {
/* Si le navigateur est compatible avec l'API de Google Maps ... */
if (GBrowserIsCompatible()) {
/* ... Création d'une nouvelle carte ayant pour nom "MaCarte" et qui se situera en lieu et place de la <div> ayant pour identifiant id="EmplacementDeMaCarte" ... */
var MaCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"));
/* ... La carte nommée "MaCarte" est centrée sur la Latitude 47.389517, la Longitude 0.688705, avec un niveau de zoom égal à 13 ... */
MaCarte.setCenter(new GLatLng(47.389517, 0.688705), 13);
/* ... Affichage sur la carte nommée "MaCarte" d'un contrôle "GLargeMapControl" avec ses caractéristiques par défaut */
MaCarte.addControl(new ExtLargeMapControl());
}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". -->
<!-- Elle fera donc 100% de large et 400 pixels de haut. -->
<div id="EmplacementDeMaCarte" style="width: 100%; height: 400px"></div>
<!-- Si JavaScript n'est pas activé sur votre navigateur, le message d'alerte situé entre les balises <noscript></noscript> s'affichera -->
<noscript>
<p>Attention : </p>
<p>Afin de pouvoir utiliser Google Maps, JavaScript doit être activé.</p>
<p>Or, il semble que JavaScript est désactivé ou qu'il n'est pas supporté par votre navigateur.</p>
<p>Pour afficher Google Maps, activez JavaScript en modifiant les options de votre navigateur, puis essayez à nouveau.</p>
</noscript>
</body>
</html>
Pour modifier l'emplacement du contôle ExtLargeMapControl sur la carte, il vous suffit d'utiliser GControlPosition et GSize, puis de respecter la régle suivante pour écrire votre code :
nomDeLaCarte.addControl(new leTypeDeControleAAjouter, new GControlPosition(AncrageDuControle, new GSize(margeHorizontale,margeVerticale)));
AncrageDuControle : peut prendre 4 valeurs différentes :
margeHorizontale et margeVerticale fixent la taille, en pixel(s), des marges à appliquer par rapport au point d'ancrage.
Exemple :
On souhaite que le contrôle ExtLargeMapControl soit positionné, avec une marge horizontale de 20 pixels et une marge verticale de 40 pixels, par rapport au coin supérieur droit de la carte.
...
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"));
maCarte.addControl(new ExtLargeMapControl(), new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(20,40)));
maCarte.setCenter(new GLatLng(47.389517,0.688705),13);
...
Autre écriture possible :
...
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"));
var monControle = new ExtLargeMapControl();
var nouvelEmplacement = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(20,40));
maCarte.addControl(monControle, nouvelEmplacement);
maCarte.setCenter(new GLatLng(47.389517,0.688705),13);
...
<?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.com : Exemples et tutoriels sur l'API Google Maps</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>
<!-- Chargement du script permettant l'affichage du contrôle ExtLargeMapControl -->
<script type="text/javascript" src="http://www.votreserveur.fr/votrechemin/extlargemapcontrol.js"></script>
<script type="text/javascript">
/* Fonction initialize() */
function initialize() {
/* Si le navigateur est compatible avec l'API de Google Maps ... */
if (GBrowserIsCompatible()) {
/* ... Création d'une nouvelle carte ayant pour nom "MaCarte" et qui se situera en lieu et place de la <div> ayant pour identifiant id="EmplacementDeMaCarte" ... */
var MaCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"));
/* ... La carte nommée "MaCarte" est centrée sur la Latitude 47.389517, la Longitude 0.688705, avec un niveau de zoom égal à 13 ... */
MaCarte.setCenter(new GLatLng(47.389517, 0.688705), 13);
/* ... Affichage sur la carte nommée "MaCarte" d'un contrôle "GLargeMapControl" avec ses caractéristiques # suivantes : */
/* ... Le contrôle sera situé dans le coin supérieur droit de la carte, à 20 pixels du bord vertical et 40 pixels du bord horizontal. */
MaCarte.addControl(new ExtLargeMapControl(), new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(20,40)));
}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". -->
<!-- Elle fera donc 100% de large et 400 pixels de haut. -->
<div id="EmplacementDeMaCarte" style="width: 100%; height: 400px"></div>
<!-- Si JavaScript n'est pas activé sur votre navigateur, le message d'alerte situé entre les balises <noscript></noscript> s'affichera -->
<noscript>
<p>Attention : </p>
<p>Afin de pouvoir utiliser Google Maps, JavaScript doit être activé.</p>
<p>Or, il semble que JavaScript est désactivé ou qu'il n'est pas supporté par votre navigateur.</p>
<p>Pour afficher Google Maps, activez JavaScript en modifiant les options de votre navigateur, puis essayez à nouveau.</p>
</noscript>
</body>
</html>
Par défaut, lorsque vous survolez les boutons de ce contrôle avec votre curseur, un titre en anglais apparaît. Pour les afficher en Français, il vous suffit d'utiliser les options de ExtLargeMapControl.
En voici le détail :
var options = {
zoomInBtnTitle : "Zoom [+]",
zoomOutBtnTitle : "Zoom [-]",
moveNorthBtnTitle : "Déplacer vers le Nord",
moveSouthBtnTitle : "Déplacer vers le Sud",
moveEastBtnTitle : "Déplacer vers le Est",
moveWestBtnTitle : "Déplacer vers l'Ouest",
homeBtnTitle : "Position initiale"
};
puis il suffit d'appliquer ces options à ExtLargeMapControl.
var monControle = new ExtLargeMapControl(options); maCarte.addControl(monControle);
Autre écriture possible :
maCarte.addControl(new ExtLargeMapControl({zoomInBtnTitle : "Zoom [+]", zoomOutBtnTitle : "Zoom [-]", moveNorthBtnTitle : "Déplacer vers le Nord", moveSouthBtnTitle : "Déplacer vers le Sud", moveEastBtnTitle : "Déplacer vers le Est", moveWestBtnTitle : "Déplacer vers l'Ouest", homeBtnTitle : "Position initiale"}));
<?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.com : Exemples et tutoriels sur l'API Google Maps</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>
<!-- Chargement du script permettant l'affichage du contrôle ExtLargeMapControl -->
<script type="text/javascript" src="http://www.votreserveur.fr/votrechemin/extlargemapcontrol.js"></script>
<script type="text/javascript">
/* Fonction initialize() */
function initialize() {
/* Si le navigateur est compatible avec l'API de Google Maps ... */
if (GBrowserIsCompatible()) {
/* ... Création d'une nouvelle carte ayant pour nom "maCarte" et qui se situera en lieu et place de la <div> ayant pour identifiant id="EmplacementDeMaCarte" ... */
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"));
/* ... La carte nommée "maCarte" est centrée sur la Latitude 47.389517, la Longitude 0.688705, avec un niveau de zoom égal à 13 ... */
maCarte.setCenter(new GLatLng(47.389517, 0.688705), 13);
/* ... options : options applicables au contrôle "ExtLargeMapControl" ... */
/* ... Ces options permettent l'affichage en Français des titres ... */
/* ... lorsque l'on passe le curseur sur les différents boutons du contrôle ... */
var options = {
zoomInBtnTitle : "Zoom [+]",
zoomOutBtnTitle : "Zoom [-]",
moveNorthBtnTitle : "Déplacer vers le Nord",
moveSouthBtnTitle : "Déplacer vers le Sud",
moveEastBtnTitle : "Déplacer vers l'Est",
moveWestBtnTitle : "Déplacer vers l'Ouest",
homeBtnTitle : "Position initiale"
};
/* ... Affichage sur la carte nommée "maCarte" d'un contrôle "GLargeMapControl" avec les caractéristiques suivantes : */
/* ... Le contrôle sera situé dans le coin supérieur droit de la carte, à 20 pixels du bord vertical et 40 pixels du bord horizontal. */
maCarte.addControl(new ExtLargeMapControl(options), new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(20,40)));
}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". -->
<!-- Elle fera donc 100% de large et 400 pixels de haut. -->
<div id="EmplacementDeMaCarte" style="width: 100%; height: 400px"></div>
<!-- Si JavaScript n'est pas activé sur votre navigateur, le message d'alerte situé entre les balises <noscript></noscript> s'affichera -->
<noscript>
<p>Attention : </p>
<p>Afin de pouvoir utiliser Google Maps, JavaScript doit être activé.</p>
<p>Or, il semble que JavaScript est désactivé ou qu'il n'est pas supporté par votre navigateur.</p>
<p>Pour afficher Google Maps, activez JavaScript en modifiant les options de votre navigateur, puis essayez à nouveau.</p>
</noscript>
</body>
</html>
Il est également possible de réduire l'affichage de ce contrôle à deux petits boutons permettant de faire varier le niveau de zoom. Pour cela, il vous suffit d'utiliser l'option small de ExtLargeMapControl.
Voici comment faire :
var option = {
type : "small"
};
puis il suffit d'appliquer cette option à ExtLargeMapControl.
var monControle = new ExtLargeMapControl(option); maCarte.addControl(monControle);
Autre écriture possible :
maCarte.addControl(new ExtLargeMapControl({type : "small"}));
<?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.com : Exemples et tutoriels sur l'API Google Maps</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>
<!-- Chargement du script permettant l'affichage du contrôle ExtLargeMapControl -->
<script type="text/javascript" src="http://www.votreserveur.fr/votrechemin/extlargemapcontrol.js"></script>
<script type="text/javascript">
/* Fonction initialize() */
function initialize() {
/* Si le navigateur est compatible avec l'API de Google Maps ... */
if (GBrowserIsCompatible()) {
/* ... Création d'une nouvelle carte ayant pour nom "maCarte" et qui se situera en lieu et place de la <div> ayant pour identifiant id="EmplacementDeMaCarte" ... */
var maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"));
/* ... La carte nommée "maCarte" est centrée sur la Latitude 47.389517, la Longitude 0.688705, avec un niveau de zoom égal à 13 ... */
maCarte.setCenter(new GLatLng(47.389517, 0.688705), 13);
/* ... option : option applicable au contrôle "ExtLargeMapControl" ... */
/* ... L'options "small" permet l'affichage d'un mini-contrôle ne ... */
/* ... comportant que deux petits boutons pour régler le niveau de zoom ... */
var option = {
type : "small"
};
/* ... Affichage sur la carte nommée "maCarte" d'un contrôle "GLargeMapControl" en tenant compte de l'option "small" ... */
maCarte.addControl(new ExtLargeMapControl(option));
}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". -->
<!-- Elle fera donc 100% de large et 400 pixels de haut. -->
<div id="EmplacementDeMaCarte" style="width: 100%; height: 400px"></div>
<!-- Si JavaScript n'est pas activé sur votre navigateur, le message d'alerte situé entre les balises <noscript></noscript> s'affichera -->
<noscript>
<p>Attention : </p>
<p>Afin de pouvoir utiliser Google Maps, JavaScript doit être activé.</p>
<p>Or, il semble que JavaScript est désactivé ou qu'il n'est pas supporté par votre navigateur.</p>
<p>Pour afficher Google Maps, activez JavaScript en modifiant les options de votre navigateur, puis essayez à nouveau.</p>
</noscript>
</body>
</html>
N'oubliez pas de changer les lignes suivantes, en insérant vos propres paramètres :
: Insérez votre clé API ici,
: Indiquez le chemin sur votre serveur vers le script extlargemapcontrol.js.