begin process at 2012 05 29 13:48:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

messages d'erreurs générés par le service DistanceMatrix de Google Maps


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

messages d'erreurs générés par le service DistanceMatrix de Google Maps

lundi 16 mai 2011 à 11:29:11 | messages d'erreurs générés par le service DistanceMatrix de Google Maps

nebenobo

Bonjour à tous, voici un code qui permet de calculer la distance entre deux adresses remplies dans un formulaire, code basé sur le service DistanceMatrix de Google Maps (voir la syntaxe ici). En fait, ce script permet théoriquement de sortir les distances relatives entre plusieurs adresses de départ et plusieurs d'arrivée. Il marche, mon problème c'est en ce qui concerne les messages d'erreurs : aucun problème s'il y a erreur sur l'adresse de départ, en revanche je n'arrive pas à générer de message d'alerte pour une adresse d'arrivée aberrante (du style "sdfsdf,sdiufyqsui,France"). Un autre problème se pose également, DistanceMatrix ne renvoie simplement aucune réponse quand on lui demande une distance entre une adresse en France et une adresse à Cuba. Quelqu'un a une idée pour résoudre au moins le premier problème ?
Voici le code:
Code HTML :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=fr"></script>
<script type="text/javascript">
function CalculDistance()
{
	//récupération des champs du formulaire
	var adr_dep=document.forms[0].adresse_dep.value;
	var cp_dep=document.forms[0].cp_dep.value;
	var ville_dep=document.forms[0].ville_dep.value;
	var pays_dep=document.forms[0].pays_dep.value;
	var adr_arr=document.forms[0].adresse_arr.value;
	var cp_arr=document.forms[0].cp_arr.value;
	var ville_arr=document.forms[0].ville_arr.value;
	var pays_arr=document.forms[0].pays_arr.value;
	
	var origine=adr_dep+', '+cp_dep+', '+ville_dep+', '+pays_dep;
	var destination=adr_arr+', '+cp_arr+', '+ville_arr+', '+pays_arr;
	
	//requête de distance auprès du service DistanceMatrix, avec ici une seule adresse de départ et une seule d'arrivée
	var service = new google.maps.DistanceMatrixService();
	service.getDistanceMatrix(
	  {
		origins: [origine],
		destinations: [destination],
		travelMode: google.maps.TravelMode.DRIVING,
		unitSystem: google.maps.UnitSystem.METRIC,
		avoidHighways: false,
		avoidTolls: false
	  }, callback);
}
	
function callback(response, status)
{
	if (status != google.maps.DistanceMatrixStatus.OK)
	{
		alert('Erreur : ' + status); //message d'erreur du serveur distant GG Maps
	}
	else
	{
		//réponses du serveur (
		var origins = response.originAddresses;
		var destinations = response.destinationAddresses;
		for (var i = 0; i < origins.length; i++)
		{
			var results = response.rows[i].elements;
			var dep = origins[i];
			if(dep!='')
			{
				for (var j = 0; j < results.length; j++)
				{
					var element = results[j];
					var dist = element.distance.value;
					var statut = element.status;
					var arr = destinations[j];
					if(arr!='')
					{
						document.forms[0].distance.value=parseInt(dist/1000);//distance en km
						document.getElementById('results').innerHTML = 'D&eacute;part : ' + dep + '<br />Arriv&eacute;e : ' + arr + '<br /><br />';
					}
					else
					{
						alert("impossible de localiser l'adresse d'arrivée");
					}
				}
			}
			else
			{
				alert("impossible de localiser l'adresse de départ");
			}
		}
	}
}
</script>
</head>

<body>
<form id="form1" name="form1" action="" method="post"/>
<p>adresse de d&eacute;part</p>
<p><label for="adresse_dep">Adresse :</label><input type="text" name="adresse_dep" /></p>
<p><label for="cp_dep">Code postal :</label><input type="text" name="cp_dep" /></p>
<p><label for="ville_dep">Ville :</label><input type="text" name="ville_dep" /></p>
<p><label for="pays_dep">Pays :</label><input type="text" name="pays_dep" /></p>
<hr />
<p>Adresse d'arriv&eacute;e</p>
<p><label for="adresse_arr">Adresse :</label><input type="text" name="adresse_arr" /></p>
<p><label for="cp_arr">Code postal :</label><input type="text" name="cp_arr" /></p>
<p><label for="ville_arr">Ville :</label><input type="text" name="ville_arr" /></p>
<p><label for="pays_arr">Pays :</label><input type="text" name="pays_arr" /></p>
<hr />
<p>Distance &agrave; parcourir : <input type="text" name="distance" class="date" />&nbsp;km&nbsp;<input value="calculer" type="button" onclick="CalculDistance();" /></p>
<p id="results"></p>
</form>
</body>
</html>


Nebenobo


Cette discussion est classée dans : var, adresse, dep, arr, maps


Répondre à ce message

Sujets en rapport avec ce message

aide pour un jv-sc qui test des champs [ par Moussetique ] function VerifForm() { adresse = document.krucial.email.value; motdp = document.krucial.mdp.value; var place = adresse.indexOf("@",1); var point = adr Erreur XMLHttpRequest [ par WhiteDwarf ] Bonjours, j'ai une erreur sur XMLHttpRequest," uncaught exception: Permission refusée d'appeler la méthode XMLHttpRequest.open "Voici mon code :     f dynamique dans les adresses d'objet [ par Ankaa1988 ] bonjour a tous, encore plein de question et toujours pas de réponse... cette fois c'est plutot un problème de syntaxe.. en effet j'ai une adresse d'o Recupération d'une adresse d'établissement pour google maps [ par math567 ] Bonjour, Je souhaiterai récupéré dans une variable javascript le contenu de la valeur d'un champ pour l'utiliser afin de situer le lieu d'un établisse Google Maps et Safari [ par peplum37 ] bonjour, désolé pour la double question, mais je m'étais trompé de forum. j'utilisa la géolocalisation de google maps V3, tout est ok, sauf avec Safa API GOOGLE MAP [ par tropik34 ] bONJOUR ya kek chose qui cloche dans ce script. La map ne s'affiche pas. Une idée Merci [code=html] <html xmlns="http://ww Intégration fonction geocodage - Api Google Map v3 [ par a44icus ] Bonsoir, J'aimerai intégrer la fonction de géocodage à ma carte google map qui appelle divers marqueur via une base de donnée. J'ai essayé d'intégrer Probleme pour afficher un itinéraire api google map [ par sentenzai ] Bonjour, Voici mon problème, je souhaiterais récupérer les coordonnées de longitude et de latitude de l'utilisateur. Puis créer l'itinéraire google m API Google Maps les markers [ par steppp ] Bonjour, Je sollicite votre aide pour un problème qui m'étonne. Il me paraîtrait logique qu'il y ait une erreur très simple mais pourtant je réécris Google map API V3 et lire un XML [ par ssd ] Bonjour, j'ai trouvé sur le web un script pour lire un fichier XML, cf-code mais je n'arrive pas a le faire tourner en local Merci. [code=html]@me


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,530 sec (4)

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