IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

Retour de message d'erreur pour calcul d'itinéraire [Google Maps]


Sujet :

APIs Google

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2012
    Messages : 159
    Par défaut Retour de message d'erreur pour calcul d'itinéraire
    Bonjour,

    Sur un site perso de randonnées j'ai mis en place une page pour le calcul de l'itinéraire depuis la provenance jusqu'au départ de la randonnée. Si sur la plupart des circuits cela fonctionne, sur d'autres, j'ai en retour ce message d'erreur "Le calcul d'itinéraire a échoué." (ex. région du Mercantour : Le Col de la Boucharde, Le Vallon de l'Estrop, Le Circuit des Lacs) De plus pour le même circuit cela fonctionne avec une provenance et pas avec une autre (Ex. "Le Col de Malaure" ok depuis Abriès erreur depuis Gap) j'ai pourtant le même code pour tous les circuits.

    Merci d'avance.

    Jean Marc.

    Le site en question : http://randos.montagne.free.fr

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si tu veux des réponses, il faut être plus précis (et donner plus d'exemples) concernant "ce qui marche" et "ce que ne marche pas".
    Ça donnera certainement des indices sur la piste à suivre (sans jeu de mot )

    Citation Envoyé par arverne63 Voir le message
    ...j'ai pourtant le même code pour tous les circuits...
    On peut voir ?
    Dernière modification par Invité ; 17/11/2018 à 16h41.

  3. #3
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Si tu ne nous mets pas un peu de ton code ...... on ne peut pas te proposer de réponse.

    J'ai fait des essais sur un programme personnel, j'ai pas le problème, que ce soit parcours routier et/ou vélo/à pieds.

    Motif de l'édit: un peu trop long dans ma réponse.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2012
    Messages : 159
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    Citation Envoyé par ProgElecT Voir le message
    Ton lien ne fonctionne pas
    Excusez moi, c'est une erreur de frappe, voici le bon lien.
    http://randos.montagne.free.fr

    si tu ne nous mets pas un peu de ton code ...... on ne peut pas te proposer de réponse.
    Voici le fichier php d'un circuit avec erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    <!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" xml:lang="fr" lang="fr">
    <head>
    			<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    	<title>
    		Col de la Boucharde, Accès auto au départ de la rando 
    	</title>
    	<!-- Ce meta tag spécifie que la carte sera affichée
        à la dimension imposée et de sera pas modifiable par l'utilisateur -->
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
     
     
    	<!-- La feuille de styles "base.css" doit être appelée en premier. -->
    	<link rel="stylesheet" type="text/css" href="../../styles/base.css" media="all" />
    	<link rel="stylesheet" type="text/css" href="../../styles/style_rando.css" media="screen" />
     
    	<link rel="stylesheet" type="text/css" href="../../styles/print.css" media="print" />
     
    	<link rel="shortcut icon" href="http://randos.montagne.free.fr/favicons/randonnee.ico" />
    <link rel="icon" type="image/x-icon" href="http://randos.montagne.free.fr/favicons/randonnee.ico" />	
    <link rel="icon" type="image/gif" href="http://randos.montagne.free.fr/favicons/randonnee.gif" />
     
    </head>
     
    <!-- Au chargement de la page, charge la fonction "initialize()". -->
      <body onload="initialize()">
     
    <div id="global">
     
    	<?php include("../../circuits/entete_itineraires.php"); ?>
     
    	<div id="centre">
    		<div id="gauche">
     
    			<?php include("../../circuits/navigation_acces.php"); ?>	
    		</div> <!-- #gauche -->
     
    			<div id="haut">
    		<p><a href ="#bas"><img src="../../images/down.png" alt="bas de page" title="bas de page" /></a></p>
    		</div> <!--#haut-->
     
    		<div id="contenu">
    		<h2>Le col de la Boucharde</h2>
    			<h3>Itinéraire automobile.</h3>
     
    <form action="../../circuits/boucharde.php" method="get" name="direction" id="direction">
    	<fieldset>
    		<legend>Accès au parking sur la D 2202</legend>
    		<div id="label_12">
    			<label>Indiquez votre provenance.</label>
    			<input type="text" value="" onfocus="this.value='';" title="Adresse ou coordonnées GPS" name="origin" id="origin" class="depart" />
    		</div>					
    			<div id="arrivee"><input  type="text" value="44.244587, 6.757144" name="destination" id="destination"  /></div> <!-- Coordonnées du parking -->	
     
    		   <input id="button_6" type="button" value="Calculer l'itinéraire" onclick="javascript:calculate()" />
    		   <button type="submit" value="Calculer l'itinéraire">Retour à la fiche de la randonnée</button>
     
    		</fieldset>		
    </form><br />
     
            <div id="panel"></div>
            <div id="map_canvas">
                <p>Veuillez patienter pendant le chargement de la carte...</p>
            </div><!-- map_canvas -->												
    		</div><!-- #contenu -->
     
    		<div id="bas">
    			<p><a href ="#haut"><img src="../../images/up.png" alt="haut de page" title="haut de page" /></a></p>
    		</div> <!-- #bas -->
     
    	</div><!-- #centre -->
     
    	<?php include("../../circuits/pied.php"); ?>
     
    </div><!-- #global -->
     
     
        <!-- Charge les fichier contenant le code javascript -->
    	<!-- Carte Google Maps V3 -->
    		<script type="text/javascript" src=https://maps.googleapis.com/maps/api/js?key=AIzaSyClzTMApNKXPtEdDwXgl_IhD4pE87ZkUdU&callback=initMap></script>
    	<!-- Calcul de l'itinéraire -->
    		<script type="text/javascript" src="../js/acces_boucharde.js"></script>
     
    	<!-- Menu accordéon 
    	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    	<script type="text/javascript" src="../../scripts/menu.js"></script>
    	<!--Diaporama 
    	<script type="text/javascript" src="../../yoxview/yoxview-init.js"></script>-->
     
    </body>
    </html>
    Et son fichier js.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    var map;
    var directionsDisplay;
    var directionsService = new google.maps.DirectionsService();
    function initialize() {
    var latlng = new google.maps.LatLng(44.089224, 6.853763999999956); // Correspond au centre de la carte (Guillaumes)
    var myOptions = {
    zoom: 12, 
    center: latlng,
     scrollwheel: false,
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    };
    map = new google.maps.Map(document.getElementById('map_canvas'),
    myOptions);
     
    directionsDisplay = new google.maps.DirectionsRenderer();
    directionsDisplay.setMap(map);
    directionsDisplay.setPanel(document.getElementById(
    'panel'));
    }
    function calculate(){
    directionsService.route({
    origin: document.getElementById('origin').value,
    destination: document.getElementById('destination').value,
    unitSystem: google.maps.DirectionsUnitSystem.METRIC,
    travelMode: google.maps.DirectionsTravelMode.DRIVING
    }, function(result, status){
    if (status == google.maps.DirectionsStatus.OK){
    directionsDisplay.setDirections(result);
    directionsDisplay.setOptions({'suppressMarkers': true}); // supprime les marqueurs 
    var data = result.routes[0].legs[0];      // 1st itinéraire retourné
          var debPoint = data.start_location;       // format LatLng
          var endPoint = data.end_location;         // format LatLng
     
          var depart = new google.maps.Marker({
            position: debPoint,
            map: map,
    		title: "Cliquez-moi",
            icon: "../icon/home_bleu.png"
          });
    	  var parking = new google.maps.Marker({
    		position: endPoint,
    		map: map,
    		title: "Cliquez-moi",
    		icon: "../icon/parking.png"
    		});
     
    	var infoWindowparking = new google.maps.InfoWindow({
    	content: '<h4 style="text-align: center;">Le col de la Boucharde</h4><p style="text-align: center;">Départ de la randonnée.<br /> Parking sur la D 2202 au dessus du refuge de la Cantonnière</p>' +	
    							'<p style="text-align: center;">Coordonnées GPS: 44.244587, 6.757144</p>'
    });
     
    google.maps.event.addListener(parking, 'click', function(){
    	infoWindowparking.open(map, parking);
    });
     
    var infoWindowdepart = new google.maps.InfoWindow({
    	content: '<div id="bulle"><h4>Votre lieu de départ : </h4>'+ data.start_address + '</div>' 
    });
     
    google.maps.event.addListener(depart, 'click', function(){
    	infoWindowdepart.open(map, depart);
    });
     
    } else {
    alert('Le calcul d\'itinéraire a échoué.');
    }
    });
    }
    Citation Envoyé par jreaux62 Voir le message
    si tu veux des réponses, il faut être plus précis (et donner plus d'exemples) concernant "ce qui marche" et "ce que ne marche pas".
    Voici 2 copies d'écran.




    En espérant que ces précisions puissent vous être utiles.

    Bonne journée.

    Jean Marc.
    Images attachées Images attachées   

  5. #5
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Il y a toujours une erreur si le choix de la provenance peut portée à confusion, dans l'exemple pour Gap, si on tape Gap France, c'est bon.
    Je pense qu'il faudrait traiter le problème avant que de lancer la fonction contenu dans cette ligne
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="button_6" type="button" value="Calculer l'itinéraire" onclick="javascript:calculate()" />
    Personnellement, je n'ai pas réussi à trouver la fonction.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2012
    Messages : 159
    Par défaut Retour de message d'erreur pour calcul d'itinéraire
    Bonjour,

    Merci pour votre réponse, je vais continuer à chercher de mon coté.

    Jean Marc.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    je n'ai pas compris où et comment on pouvais "calculer un itinéraire" sur ton site...
    Où et comment définit-on la "provenance" ??

    [EDIT] Ah si !
    Il faut cliquer sur l'icône de la voiture !
    La vache... Si tu ne sais pas...

    En terme d'ergonomie et d'accessibilité, ce n'est pas terrible !
    • Au lieu de "cliquer-moi" (title), il faudrait au moins écrire "cliquez pour calculer votre itinéraire".
    • Et/ou le mettre en toutes lettres à coté de l'icône !
    • Et mettre l'icône dans un bouton (vert), qu'on sache au 1er coup d’œil qu'on peut cliquer dessus


    OK...
    @ProgElecT
    La fonction calculate() est dans le fichier /itineraires/js/acces_lacs.js
    Mais à priori, ce n'est pas la fonction qui est en cause (puisque certains itinéraires fonctionnent correctement).

    Correctement indentée, ça donne :
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    var map;
    var directionsDisplay;
    var directionsService = new google.maps.DirectionsService();
    function initialize() {
      var latlng = new google.maps.LatLng(44.089224, 6.853763999999956); // Correspond au centre de la carte (Guillaumes)
      var myOptions = {
        zoom: 12, 
        center: latlng,
        scrollwheel: false,
        mapTypeId: google.maps.MapTypeId.ROADMAP 
      };
      map = new google.maps.Map(document.getElementById('map_canvas'),
                                myOptions);
     
      directionsDisplay = new google.maps.DirectionsRenderer();
      directionsDisplay.setMap(map);
      directionsDisplay.setPanel(document.getElementById(
        'panel'));
    }
     
    function calculate(){
      directionsService.route({
        origin: document.getElementById('origin').value,
        destination: document.getElementById('destination').value,
        unitSystem: google.maps.DirectionsUnitSystem.METRIC,
        travelMode: google.maps.DirectionsTravelMode.DRIVING
      }, function(result, status){
        if (status == google.maps.DirectionsStatus.OK){
          directionsDisplay.setDirections(result);
          directionsDisplay.setOptions({'suppressMarkers': true}); // supprime les marqueurs 
          var data = result.routes[0].legs[0];      // 1st itinéraire retourn\0000E9
          var debPoint = data.start_location;       // format LatLng
          var endPoint = data.end_location;         // format LatLng
     
          var depart = new google.maps.Marker({
            position: debPoint,
            map: map,
            title: "Cliquez-moi",
            icon: "../icon/home_bleu.png"
          });
          var parking = new google.maps.Marker({
            position: endPoint,
            map: map,
            title: "Cliquez-moi",
            icon: "../icon/parking.png"
          });
     
          var infoWindowparking = new google.maps.InfoWindow({
            content: '<h4 style="text-align: center;">Le Circuit des Lacs</h4><p style="text-align: center;">D\u00e9part de la randonn\u00e9e.<br /> Parking du Col de la Cayolle sur la D 2202</p>' +	
            '<p style="text-align: center;">Coordonn\u00e9es GPS: 44.260041, 6.743710</p>'
          });
     
          google.maps.event.addListener(parking, 'click', function(){
            infoWindowparking.open(map, parking);
          });
     
          var infoWindowdepart = new google.maps.InfoWindow({
            content: '<div id="bulle"><h4>Votre lieu de d\u00e9part : </h4>'+ data.start_address + '</div>' 
          });
     
          google.maps.event.addListener(depart, 'click', function(){
            infoWindowdepart.open(map, depart);
          });
     
        } else {
          alert('Le calcul d\'itin\u00e9raire a \u00e9chou\u00e9.');
        }
      });
    }

    @arverne63

    1- Après tests, il semble que ce NE soient PAS le nom de la ville qui pose problème.
    En testant avec "lille", certains itinéraires s'affichent bien, d'autres échouent.

    2- Ce n'est pas non plus un problème d'accents, ni d'apostrophe dans les noms ("L'Uomo_di_Cagna", "La vallée de Chaudefour" fonctionnent)

    3-
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      directionsService.route({
        origin: document.getElementById('origin').value,
        destination: document.getElementById('destination').value,
        unitSystem: google.maps.DirectionsUnitSystem.METRIC,
        travelMode: google.maps.DirectionsTravelMode.DRIVING
      }, function(result, status){
        if (status == google.maps.DirectionsStatus.OK){
    ...
    La fonction "échoue" quand google.maps.DirectionsStatus n'est pas "OK".

    Selon les tests, l'erreur doit provenir de cette ligne :
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    			<div id="arrivee"><input  type="text" value="44.690481, 6.976439" name="destination" id="destination"  /></div> <!-- Coordonnées du parking -->
    Pas que la ligne soit fausse, mais selon les coordonnées fournies, parfois ça fonctionne, parfois ça échoue...
    • "45.556683, 2.857485" fonctionne
    • "44.260041, 6.743710" échoue ("Le Circuit des Lacs")

    Mieux :
    • "44.260041, 6.643710" fonctionne !
    • "44.260041, 6.843710" aussi !


    Tu devrais donc vérifier les coordonnées (latitude, longitude) enregistrées pour les destinations.
    Dernière modification par Invité ; 17/11/2018 à 12h11.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message "#Erreur" pour calculs dans formulaire
    Par tieuphuong dans le forum IHM
    Réponses: 10
    Dernier message: 09/08/2007, 12h27
  2. message d'erreur pour supprimer une table
    Par marco361020 dans le forum Access
    Réponses: 4
    Dernier message: 22/11/2006, 17h22
  3. Réponses: 9
    Dernier message: 17/08/2006, 15h04
  4. Message d'erreur pour débutant
    Par PhpDeb dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 27/04/2006, 12h14
  5. [MySQL] Message d'erreur pour atteindre ma base
    Par leloup84 dans le forum Installation
    Réponses: 7
    Dernier message: 04/02/2006, 01h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo