Application Distance entre deux Adresses

NISSOU2019 Messages postés 6 Date d'inscription mercredi 30 janvier 2019 Statut Membre Dernière intervention 26 mars 2019 - 30 janv. 2019 à 10:52
 NISSOU2019 - 21 févr. 2019 à 09:01
Bonjour je veux développer une application en java scripte qui prend deux tables excels salaries avec leurs cordonnées et tables lieux de travail avec les adresses aussi
le but et de calculer la distance entre depart et arriver on utulisant google maps
jais utiliser le code source trouée sur votre site avec des modifications le problème a exécution du programme message d'erreurs !(erreur :requeste-dinied!!! ou problème de géolocalisation des adresses de départ ou arrivées ) si vous avez des idées pour me débloquer !
bonne journée a tous

2 réponses

jordane45 Messages postés 37261 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 mars 2023 341
30 janv. 2019 à 11:08
Bonjour,

Déjà... on ne sait pas de quel code tu parles.... (A minima, tu nous mets le lien vers la source que tu as utilisé )

Tu peux également nous partager ton code en le postant ici.
Attention de bien appliquer ceci pour poster ton code correctement : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Pour finir... google map a modifié sa façon de faire sur pas mal de points....
Il faut se créer un compte google, activé les options de geoloc, renseigner sa carte bleue..


0
NISSOU2019 Messages postés 6 Date d'inscription mercredi 30 janvier 2019 Statut Membre Dernière intervention 26 mars 2019
30 janv. 2019 à 11:59
bonjour merci pour votre repense je vais vous mettre mon code sachant jais pas encore fais la liaison avec la base de donnée .je veux commencer par calculer la distance entre deux adresses.
0
NISSOU2019 Messages postés 6 Date d'inscription mercredi 30 janvier 2019 Statut Membre Dernière intervention 26 mars 2019
Modifié le 30 janv. 2019 à 15:01
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <script src="https://maps.google.com/maps/api/js?keyAIzaSyCSabp44wvVQpl7WWyncWsXKwbT-q4FvNA type="text/javascript"></script>
  <script async type="text/javascript">
   // On initialise la latitude et la longitude de Paris (centre de la carte)
   var lat = 48.852969;
   var lon = 2.349903;
   var map = null;
   // Fonction d'initialisation de la carte
   function initMap() {
    // Créer l'objet "map" et l'insèrer dans l'élément HTML qui a l'ID "map"
    map = new google.maps.Map(document.getElementById("map"), {
     // Nous plaçons le centre de la carte avec les coordonnées ci-dessus
     center: new google.maps.LatLng(lat, lon), 
     // Nous définissons le zoom par défaut
     zoom: 11, 
     // Nous définissons le type de carte (ici carte routière)
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     // Nous activons les options de contrôle de la carte (plan, satellite...)
     mapTypeControl: true,
     // Nous désactivons la roulette de souris
     scrollwheel: false, 
     mapTypeControlOptions: {
      // Cette option sert à définir comment les options se placent
      style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR 
     },
     // Activation des options de navigation dans la carte (zoom...)
     navigationControl: true, 
     navigationControlOptions: {
      // Comment ces options doivent-elles s'afficher
      style: google.maps.NavigationControlStyle.ZOOM_PAN 
     }
    });
   }
   window.onload = function(){
    // Fonction d'initialisation qui s'exécute lorsque le DOM est chargé
    initMap(); 
   };
  </script>
  <style type="text/css">
   #map{ /* la carte DOIT avoir une hauteur sinon elle n'apparaît pas */
    height:400px;
   }
  </style>
  <title>Distance Google Maps </title>
 </head>
 <body>
  <div id="map">
   <!-- Ici s'affichera la carte -->
  </div>
  
 <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 statut = element.status;
     var arr = destinations[j];
     if(statut=='OK')
     {
      var dist = element.distance.value;
      document.forms[0].distance.value=parseInt(dist/1000);//distance en km
      document.getElementById('results').innerHTML = 'Départ : ' + dep + '<br />Arrivée : ' + arr + '<br /><br />';
     }
     else if(statut=='NOT_FOUND')
     {
      alert("impossible de localiser l'adresse d'arrivée");
     }
     else if(statut=='ZERO_RESULTS')
     {
      alert("impossible de calculer cette distance");
     }
    }
   }
   else
   {
    alert("impossible de localiser l'adresse de départ");
   }
  }
 }
}
</script>

<style>
body{
background-color:black;
font-family:courier;
color:yellow;
}
</style>
<form id="form1" name="form1" action="" method="post"/>
<p><strong>Départ</strong></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><strong>Arrivée</strong></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 à parcourir : <input type="text" name="distance" /> km <input value="calculer" type="button" onclick="CalculDistance();" /></p>
<p id="results"></p>
</form> 
   
 </body>
</html>

EDIT : Ajout des balises de code !!!

0
jordane45 Messages postés 37261 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 mars 2023 341
30 janv. 2019 à 15:06
Bon.. déjà ...

Attention de bien appliquer ceci pour poster tes prochains codes correctement sur le forum : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ensuite, il semble que tu aies oublié une quote fermante pour l'attribut src
<script src="https://maps.google.com/maps/api/js?keyAIzaSyCSabp44wvVQpl7WWyncWsXKwbT-q4FvNA type="text/javascript"></script>
  <script async type="text/javascript">

A remplacer par :
<script src="https://maps.google.com/maps/api/js?keyAIzaSyCSabp44wvVQpl7WWyncWsXKwbT-q4FvNA" type="text/javascript"></script>
  <script async type="text/javascript">


Et enfin:
- L'API KEY que tu utilises est elle bien celle que tu as créés depuis ton compte google dev ?
- As tu bien activé la géolocalisation dans les options de l'api ?
- As tu vérifié les "quotas" limites ? Par défaut ils doivent être à 1 par jour je crois.. il faut drastiquement les augmenter.
0
NISSOU2019 Messages postés 6 Date d'inscription mercredi 30 janvier 2019 Statut Membre Dernière intervention 26 mars 2019
30 janv. 2019 à 15:50
oui c'est ça!!
oui jais activée la géolocalisation dans les options ..
je vais revérifier tous ça merci beaucoup
si non est ce que c'est possible d'ajouter a mes tables d'adresses les cordonnées google Maps et ensuite j'applique l'algorithme de calcule de distance dans mon programme sans passer par google Maps ?
0
jordane45 Messages postés 37261 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 mars 2023 341
30 janv. 2019 à 17:45
Ajouter les coordonnées dans des tables : Oui
Appliquer l'aglo de calcul sans google map ? ... et tu le ferais comment ce calcul ?
Mais Oui tu peux faire les calculs (distance) sans afficher la carte (si c'est ça qui te pose problème).. mais toujours en passant par les API de google (ou d'autres.. comme OpenStreetMap par exemple)
0
<gras></gras bonjour jai trouvée un site geoportal . qui propose les memes services de google maps et IGN propose des bibliothèques je voulais savoir comment je peux utiliser leur bibliothèques ? et leur code source pour faire mon application qui calcule la distance entre deux tables depart et arrivée merci d'avance pour vos réponses !
0
jordane45 Messages postés 37261 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 mars 2023 341
20 févr. 2019 à 23:31
Ma réponse va te sembler familière....... mais.... ben...... regarde leur documentation...
Y'a pas de meilleur réponse....

Sinon tu as aussi openstreetmap.
et pour l'api OSRM tu peux regarder https://github.com/Project-OSRM/osrm-backend/blob/master/docs/http.md
Visiblement tu peux te tourner vers cette API : https://developer.mapquest.com/documentation/open/directions-api/
0
merci !
0