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

JavaScript Discussion :

Erreur Javascript par intermittence!


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Par défaut Erreur Javascript par intermittence!
    Bonjour à toutes et à tous,
    Je conçoit actuellement une application windows sous Windev ou je dois afficher une cartes google map (itiniéraires, marqueurs,...etc)
    Sans trop entrer dans les détails, je dois en gros, à partir d'une liste de coordonnées GPS (longitude,Latitude), afficher la carte google map avec l'itinéraire (depuis les coordonnées).
    Pour cela, je génère de manière dynamique un document HTML/javascript où j'affiche la carte ainsi que l'itinéraire (en reliant les points "polylines").
    N'étant pas vraiment connaisseur de javascript, je me suis basé sur un tutoriel afin de générer mon document.
    Lorsque j'affiche le document HTML dans mon application j'obtiens quelques fois une erreur de script, le problème c'est que pour le même document, l'erreur n’apparaît pas systématiquement !quelques fois oui, d'autres fois non
    De plus l'erreur apparait uniquement sous Internet explorer et jamais sous google chrome.
    Voici donc le modèle de document (provoquant l'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
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
     
    <head>
    <title>Tutoriel Google Maps</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
     
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
     
     
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
    function initialiser() {
    var latlng = new google.maps.LatLng(46.779231, 6.659431);
     
    var options = {
    center: latlng,
    zoom: 19,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    };
     
    var carte = new google.maps.Map(document.getElementById("carte"), options);
     
    /****************Nouveau code****************/
     
    //redéfinition du centre de la carte
    carte.setCenter(new google.maps.LatLng(46.779872043155, 6.6497500934796));
    //redéfinition du zoom
    carte.setZoom(15);
     
    //chemin du tracé
    var parcoursBus = [
    new google.maps.LatLng(46.781367900048, 6.6401992834884),
    new google.maps.LatLng(46.780821285011, 6.6416348016222),
    new google.maps.LatLng(46.780496546047, 6.6421830461926),
    new google.maps.LatLng(46.779835306991, 6.6426765713417),
    new google.maps.LatLng(46.777748677169, 6.6518819126808),
    new google.maps.LatLng(46.778027878803, 6.6541349682533),
    new google.maps.LatLng(46.778484884759, 6.6557324922045),
    new google.maps.LatLng(46.778752327087, 6.6573654211838),
    new google.maps.LatLng(46.778605381016, 6.6588674582321) ];
     
    var traceParcoursBus = new google.maps.Polyline({
    path: parcoursBus,//chemin du tracé
    strokeColor: "#FF0000",//couleur du tracé
    strokeOpacity: 1.0,//opacité du tracé
    strokeWeight: 2//grosseur du tracé
    });
     
    //lier le tracé à la carte
    //ceci permet au tracé d'être affiché sur la carte
    traceParcoursBus.setMap(carte);
     
    /********************************************/
    }
    </script>
    </head>
     
    <body onload="initialiser()">
    <div id="carte" style="width:100%; height:100%"></div>
    </body>
    </html>

    L'erreur affichée est la suivante :


    Je pensais à un problème de navigateur, j'ai donc mis à jours IE à la version 11 ; le problème persiste!

    pensez vous qu'il ait en effet une erreur dans le documents HTML/javascript ci-dessous ou le problème est ailleurs.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    • la première chose à faire est de déclarer un DOCTYPE à ton document, <!doctype html> est très bien.
    • la deuxième chose à faire est de déclarer clairement que ton <body> doit faire au moins 100% de la hauteur de la fenêtre de visualisation
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    html, body {
      height:100%;
    }
    de la sorte dans ta déclaration <div id="carte" style="width:100%; height:100%"></div>, ton élément n'aura pas une hauteur égale à 0.

  3. #3
    Membre émérite Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Par défaut
    Je vous remercie de votre réponse et prend bien note des remarques. (déclaration du DOCTYPE et hauteur du body)
    Dans mon cas, l'erreur provenait, d'une part, de la version de l'api google map utilisée. En choisissant la version 3.22 l'erreur n'est plus apparu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3.22"></script>
    D'autre part, l'erreur pouvais aussi provenir de la version d'IE :
    En fait dans mon cas, la page HTML est affichée dans un champs de type activex (Microsoft Webbrowser), cet activex n'utilise pas forcément la version IE installée sur le poste.
    L'erreur disparaît aussi en forçant l'activex à utiliser IE 11.

    Merci encore à vous.

    Je m'excuse si ma demande n'est pas vraiment dans la section appropriée ; je pensais au début qu'il s'agissait uniquement d'une erreur javascript

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Je n'avais pas noté l'adresse pour la récupération de l'API mais il y a fort longtemps qu'il est préconiser d'utiliser http://maps.googleapis.com/maps/api/js.

    PS : merci de penser au bouton Résolu.

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

Discussions similaires

  1. Erreur native récupérée par intermittence
    Par carjo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/02/2006, 07h18
  2. [SAX] Comment gerer les erreurs soulevés par sax
    Par tipaquo dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 03/07/2005, 12h00
  3. Réponses: 2
    Dernier message: 04/03/2005, 12h02
  4. [debutant][servlet]erreur causée par une listBox
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/03/2004, 10h53
  5. [TWebBrowser][Javascript] Ignorer erreurs Javascript
    Par ludo.guy dans le forum Composants VCL
    Réponses: 3
    Dernier message: 09/01/2004, 01h07

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