Itineraire
Calculer un itinéraire routier - GDirections - google.maps.Directions.
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.
"GDirections" est employé pour le calcul d'itinéraires. L'affichage se fait sous la forme d'une carte et/ou d'un descriptif détaillé de cet itinéraire.
Pour calculer un itinéraire, il vous faut :
Exemple :
Ligne
:
carteItineraire = new GMap2(document.getElementById("EmplacementCarteItineraire"));
Ou si vous utilisez Google AJAX API loader :
Ligne
:
carteItineraire = new google.maps.Map2(document.getElementById("EmplacementCarteItineraire"));
Lignes
:
texteItineraire = document.getElementById("EmplacementTexteItineraire");
Ligne
:
monItineraire = new GDirections(carteItineraire, texteItineraire);
Ou si vous utilisez Google AJAX API loader :
Ligne
:
monItineraire = new google.maps.Directions(carteItineraire, texteItineraire);
Lignes
:
monItineraire.load("from: Tours,FR to: Paris,FR");
<?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 : Calculer un itinéraire routier</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"});
/* Déclaration des variables globales */
var carteItineraire;
var texteItineraire;
var monItineraire;
/* Fonction initialize() */
function initialize() {
/* Si le navigateur est compatible avec l'API de Google Maps ... */
if (google.maps.BrowserIsCompatible()) {
/* ... Création d'une nouvelle carte nommée "carteItineraire" qui s'affichera à l'intérieur de la balise <div> ayant pour identifiant id="EmplacementCarteItineraire" ... */
carteItineraire= new google.maps.Map2(document.getElementById("EmplacementCarteItineraire"));
/* ... La carte nommée "carteItineraire" est centrée sur la Latitude 47.341571, la Longitude 0.514233, avec un niveau de zoom égal à 13 ... */
carteItineraire.setCenter(new google.maps.LatLng(47.341571,0.514233), 13);
/* ... texteItineraire : contenu de la balise <div> ayant pour identifiant id="EmplacementTexteItineraire" ... */
texteItineraire = document.getElementById("EmplacementTexteItineraire");
/* ... Création d'un nouvel itinéraire nommé "monItineraire" ... */
/* ... Le résultat s'affichera sous forme de carte dans la carte nommée "carteItineraire" ... */
/* ... Le résultat s'affichera sous forme textuelle dans "texteItineraire" ... */
monItineraire= new google.maps.Directions(carteItineraire, texteItineraire);
/* ... Envoi la requête aux serveurs de Google afin d'établir un itinéraire ... */
/* ... entre Tours et Paris. Si la requête aboutit, l'itinéraire ... */
/* ... s'affichera sous forme de carte et de texte ... */
monItineraire.load("from: Tours,FR to: Paris,FR");
/* 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>
<style type="text/css">
<!--
#EmplacementTexteItineraire {background-color: #FFFFFF;}
-->
</style>
</head>
<body>
<!-- La carte nommée "carteItineraire", va venir s'afficher à l' intérieur de -->
<!-- la balise <div> ayant pour identifiant id="EmplacementCarteItineraire". -->
<!-- Elle fera donc 100% de large et 400 pixels de haut. -->
<div id="EmplacementCarteItineraire" style="width:100%; height:400px;"></div>
<!-- Le descriptif de l'itinéraire "monItineraire", va venir s'afficher à l'intérieur -->
<!-- de la balise <div> ayant pour identifiant id="EmplacementTexteItineraire". -->
<div id="EmplacementTexteItineraire"></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.com : Calculer un itinéraire routier</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[
/* Déclaration des variables globales */
var carteItineraire;
var texteItineraire;
var monItineraire;
/* Fonction initialize() */
function initialize() {
/* Si le navigateur est compatible avec l'API de Google Maps ... */
if (GBrowserIsCompatible()) {
/* ... Création d'une nouvelle carte nommée "carteItineraire" qui s'affichera à l'intérieur de la balise <div> ayant pour identifiant id="EmplacementCarteItineraire" ... */
carteItineraire= new GMap2(document.getElementById("EmplacementCarteItineraire"));
/* ... La carte nommée "carteItineraire" est centrée sur la Latitude 47.341571, la Longitude 0.514233, avec un niveau de zoom égal à 13 ... */
carteItineraire.setCenter(new GLatLng(47.341571,0.514233), 13);
/* ... texteItineraire : contenu de la balise <div> ayant pour identifiant id="EmplacementTexteItineraire" ... */
texteItineraire = document.getElementById("EmplacementTexteItineraire");
/* ... Création d'un nouvel itinéraire nommé "monItineraire" ... */
/* ... Le résultat s'affichera sous forme de carte dans la carte nommée "carteItineraire" ... */
/* ... Le résultat s'affichera sous forme textuelle dans la "texteItineraire" ... */
monItineraire= new GDirections(carteItineraire, texteItineraire);
/* ... Envoi la requête aux serveurs de Google afin d'établir un itinéraire ... */
/* ... entre Tours et Paris. Si la requête aboutit, l'itinéraire ... */
/* ... s'affichera sous forme de carte et de texte ... */
monItineraire.load("from: Tours,FR to: Paris,FR");
/* 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>
<style type="text/css">
<!--
#EmplacementTexteItineraire {background-color: #FFFFFF;}
-->
</style>
</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 "carteItineraire", va venir s'afficher à l' intérieur de -->
<!-- la balise <div> ayant pour identifiant id="EmplacementCarteItineraire". -->
<!-- Elle fera donc 100% de large et 400 pixels de haut. -->
<div id="EmplacementCarteItineraire" style="width:100%; height:400px;"></div>
<!-- Le descriptif de l'itinéraire "monItineraire", va venir s'afficher à l'intérieur -->
<!-- de la balise <div> ayant pour identifiant id="EmplacementTexteItineraire". -->
<div id="EmplacementTexteItineraire"></div>
</body>
</html>
Dans :
monItineraire = new GDirections(carteItineraire, texteItineraire);
Ou si vous utilisez Google AJAX API loader :
monItineraire = new google.maps.Directions(carteItineraire, texteItineraire);
lorsque l'argument carteItineraire est passé dans "new GDirections()" ou "new google.maps.Directions()", toutes les fois qu'un nouvel itinéraire sera calculé, les polylines et marqueurs liés au résultat seront automatiquement ajoutés à la carte située dans la balise <div id="EmplacementCarteItineraire">.
De même, lorsque l'argument texteItineraire est passé dans "new GDirections()" ou "new google.maps.Directions()", toutes les fois qu'un nouvel itinéraire sera calculé, le descriptif de l'itinéraire lié au résultat sera ajouté à la balise <div id="EmplacementTexteItineraire">, remplaçant ainsi le contenu déjà existant.
Si l'un ou l'autre de ces arguments est null, les éléments associés ne seront pas recherchés à moins qu'ils ne soient explicitement demandés dans la méthode de monItineraire.load().
Lignes
:
texteItineraire = document.getElementById("EmplacementTexteItineraire"); monItineraire = new GDirections(null, texteItineraire); monItineraire.load("from: Tours,FR to: Paris,FR");
Ou si vous utilisez Google AJAX API loader :
Lignes
:
texteItineraire = document.getElementById("EmplacementTexteItineraire"); monItineraire = new google.maps.Directions(null, texteItineraire); monItineraire.load("from: Tours,FR to: Paris,FR");
<?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 : Calculer un itinéraire routier</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"});
/* Déclaration des variables globales */
var texteItineraire;
var monItineraire;
/* Fonction initialize() */
function initialize() {
/* Si le navigateur est compatible avec l'API de Google Maps ... */
if (google.maps.BrowserIsCompatible()) {
/* ... texteItineraire : contenu de la balise <div> ayant pour identifiant id="EmplacementTexteItineraire" ... */
texteItineraire = document.getElementById("EmplacementTexteItineraire");
/* ... Création d'un nouvel itinéraire nommé "monItineraire" ... */
/* ... On ne souhaite pas utiliser la carte, on indique donc "null" ... */
/* ... Le résultat s'affichera sous forme textuelle dans "texteItineraire" ... */
monItineraire= new google.maps.Directions(null, texteItineraire);
/* ... Envoi la requête aux serveurs de Google afin d'établir un itinéraire ... */
/* ... entre Tours et Paris. Si la requête aboutit, seul le ... */
/* ... descriptif de l'itinéraire s'affichera. ... */
monItineraire.load("from: Tours,FR to: Paris,FR");
/* 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>
<style type="text/css">
<!--
#EmplacementTexteItineraire {background-color: #FFFFFF;}
-->
</style>
</head>
<body>
<!-- Le descriptif de l'itinéraire "monItineraire", va venir s'afficher à l'intérieur -->
<!-- de la balise <div> ayant pour identifiant id="EmplacementTexteItineraire". -->
<div id="EmplacementTexteItineraire"></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.com : Calculer un itinéraire routier</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[
/* Déclaration des variables globales */
var texteItineraire;
var monItineraire;
/* Fonction initialize() */
function initialize() {
/* Si le navigateur est compatible avec l'API de Google Maps ... */
if (GBrowserIsCompatible()) {
/* ... texteItineraire : contenu de la balise <div> ayant pour identifiant id="EmplacementTexteItineraire" ... */
texteItineraire = document.getElementById("EmplacementTexteItineraire");
/* ... Création d'un nouvel itinéraire nommé "monItineraire" ... */
/* ... On ne souhaite pas utiliser la carte, on indique donc "null" ... */
/* ... Le résultat s'affichera sous forme textuelle dans "texteItineraire" ... */
monItineraire= new GDirections(null, texteItineraire);
/* ... Envoi la requête aux serveurs de Google afin d'établir un itinéraire ... */
/* ... entre Tours et Paris. Si la requête aboutit, seul le ... */
/* ... descriptif de l'itinéraire s'affichera. ... */
monItineraire.load("from: Tours,FR to: Paris,FR");
/* 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 */
//]]>
</script>
<style type="text/css">
<!--
#EmplacementTexteItineraire {background-color: #FFFFFF;}
-->
</style>
</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()">
<!-- Le descriptif de l'itinéraire "monItineraire", va venir s'afficher à l'intérieur -->
<!-- de la balise <div> ayant pour identifiant id="EmplacementTexteItineraire". -->
<div id="EmplacementTexteItineraire"></div>
</body>
</html>
Lignes
:
carteItineraire = new GMap2(document.getElementById("EmplacementCarteItineraire")); monItineraire = new GDirections(carteItineraire, null); monItineraire.load("from: Tours,FR to: Paris,FR");
Ou si vous utilisez Google AJAX API loader :
Lignes
:
carteItineraire = new google.maps.Map2(document.getElementById("EmplacementCarteItineraire")); monItineraire = new google.maps.Directions(carteItineraire, null); monItineraire.load("from: Tours,FR to: Paris,FR");
<?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 : Calculer un itinéraire routier</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"});
/* Déclaration des variables globales */
var carteItineraire;
var monItineraire;
/* Fonction initialize() */
function initialize() {
/* Si le navigateur est compatible avec l'API de Google Maps ... */
if (google.maps.BrowserIsCompatible()) {
/* ... Création d'une nouvelle carte nommée "carteItineraire" qui s'affichera à l'intérieur de la balise <div> ayant pour identifiant id="EmplacementCarteItineraire" ... */
carteItineraire= new google.maps.Map2(document.getElementById("EmplacementCarteItineraire"));
/* ... La carte nommée "carteItineraire" est centrée sur la Latitude 47.341571, la Longitude 0.514233, avec un niveau de zoom égal à 13 ... */
carteItineraire.setCenter(new google.maps.LatLng(47.341571,0.514233), 13);
/* ... Création d'un nouvel itinéraire nommé "monItineraire" ... */
/* ... Le résultat s'affichera sous forme de carte dans la carte nommée "carteItineraire" ... */
/* ... On ne souhaite pas utiliser le résultat sous forme textuelle, on indique donc "null" ... */
monItineraire= new google.maps.Directions(carteItineraire, null);
/* ... Envoi la requête aux serveurs de Google afin d'établir un itinéraire ... */
/* ... entre Tours et Paris. Si la requête aboutit, l'itinéraire ... */
/* ... s'affichera sous forme de carte uniquement. ... */
monItineraire.load("from: Tours,FR to: Paris,FR");
/* 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 "carteItineraire", va venir s'afficher à l' intérieur de -->
<!-- la balise <div> ayant pour identifiant id="EmplacementCarteItineraire". -->
<!-- Elle fera donc 100% de large et 400 pixels de haut. -->
<div id="EmplacementCarteItineraire" style="width:100%; height:400px;"></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.com : Calculer un itinéraire routier</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[
/* Déclaration des variables globales */
var carteItineraire;
var monItineraire;
/* Fonction initialize() */
function initialize() {
/* Si le navigateur est compatible avec l'API de Google Maps ... */
if (GBrowserIsCompatible()) {
/* ... Création d'une nouvelle carte nommée "carteItineraire" qui s'affichera à l'intérieur de la balise <div> ayant pour identifiant id="EmplacementCarteItineraire" ... */
carteItineraire= new GMap2(document.getElementById("EmplacementCarteItineraire"));
/* ... La carte nommée "carteItineraire" est centrée sur la Latitude 47.341571, la Longitude 0.514233, avec un niveau de zoom égal à 13 ... */
carteItineraire.setCenter(new GLatLng(47.341571,0.514233), 13);
/* ... Création d'un nouvel itinéraire nommé "monItineraire" ... */
/* ... Le résultat s'affichera sous forme de carte dans la carte nommée "carteItineraire" ... */
/* ... On ne souhaite pas utiliser le résultat sous forme textuelle, on indique donc "null" ... */
monItineraire= new GDirections(carteItineraire, null);
/* ... Envoi la requête aux serveurs de Google afin d'établir un itinéraire ... */
/* ... entre Tours et Paris. Si la requête aboutit, l'itinéraire ... */
/* ... s'affichera sous forme de carte uniquement. ... */
monItineraire.load("from: Tours,FR to: Paris,FR");
/* 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 "carteItineraire", va venir s'afficher à l' intérieur de -->
<!-- la balise <div> ayant pour identifiant id="EmplacementCarteItineraire". -->
<!-- Elle fera donc 100% de large et 400 pixels de haut. -->
<div id="EmplacementCarteItineraire" style="width:100%; height:400px;"></div>
</body>
</html>
Par défaut, la carte se centre de façon à optimiser l'affichage de l'itinéraire sur la carte.
Pour calculer un itinérare on peut indiquer aussi bien une adresse postale que des coordonnées GPS.
Exemples :
monItineraire.load("from: Tours,FR to: Paris,FR");
monItineraire.load("from: 47.388355,0.690422 to: ParisFR");
monItineraire.load("from: 47.388355,0.690422 to: 47.387789,0.662162");
monItineraire.load("from: Tours,FR to: 47.387789,0.662162 to: Amboise to: 47.33041,1.066554");