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 :

gmap Erreur Javascript sous internet explorer [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre régulier Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Points : 122
    Points
    122
    Par défaut gmap Erreur Javascript sous internet explorer
    Bonjour à tous

    Sur une page HTML j'ai intégré un carte GMap avec l'API3

    tout semble marcher sauf sur IE7 et IE8



    voici mon code : page.html
    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
     
    <!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">  
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    	<meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <title>Test</title>
        <style type="text/css">
          body {
            margin: 0;
            padding: 10px 20px 20px;
            font-family: Arial;
            font-size: 16px;
          }
     
          #map-container {
            padding: 6px;
            border-width: 1px;
            border-style: solid;
            border-color: #ccc #ccc #999 #ccc;
            -webkit-box-shadow: rgba(64, 64, 64, 0.5) 0 2px 5px;
            -moz-box-shadow: rgba(64, 64, 64, 0.5) 0 2px 5px;
            box-shadow: rgba(64, 64, 64, 0.1) 0 2px 5px;
            width: 600px;
          }
     
          #map_content {
            width: 600px;
            height: 400px;
          }
     
        </style>
    	<script type="text/javascript">
    	function getQuerystring(key, default_) {
    	  if (default_==null) default_=""; 
    	  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    	  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
    	  var qs = regex.exec(window.location.href);
    	  if(qs == null)
    		return default_;
    	  else
    		return qs[1];
    	}
    	var langue = getQuerystring('lang','false');
    	var script = '<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&language=';
    		script += langue;
    		script += '"><' + '/script>';
    		document.write(script);	
    	</script>
     
     
       <script type="text/javascript" src="markerclusterer.js"></script>
       <script type="text/javascript" src="downloadxml.js"></script>
       <script type="text/javascript">
    	  var gmarkers = []; 
          function initialize() {
            var center = new google.maps.LatLng(48.894659,2.236615);
            var map = new google.maps.Map(document.getElementById('map_content'), {
              zoom: 3,
              center: center,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            });
     
     
    		var xmlDoc = loadXMLDoc("exemple.xml");
    		//alert(xmlDoc.getElementsByTagName('site').length);
     
            var markers = xmlDoc.getElementsByTagName('site');
    		//alert(markers.length);
     
            for (var i = 0; i < markers.length; i++) {
    			var gps = markers[i].getElementsByTagName('config')[i].childNodes[2].text;
    			//alert(gps);
    		}
     
    		var splitCoord = gps.split(',');
    		// obtain the attribues of each marker
    		var lat = parseFloat(splitCoord[0]);
     
    		var lng = parseFloat(splitCoord[1]);
     
    		  var marker = new google.maps.Marker({
    			'position' : new google.maps.LatLng(lat,lng),
    			'map' : map
    		  });
    		  gmarkers.push(marker);
    		  // création infobulle
    		  var oInfo = new google.maps.InfoWindow({
    			'content' : "test"
    		  });
     
    		// ajout evenement sur click
    		(function( bulle){
    			google.maps.event.addListener(marker, 'click', function(){
    				var map = this.getMap();           // récup. de l'objet carte
    				var index = map.zIndexBulle ++;    // incrémentation et récupération
    				bulle.setZIndex( index);           // affectation à l'InfoWindow
    				bulle.open( map, this);            // affichage de l'InfoWindow
    			});
    		})(oInfo);
            }
     
            var markerCluster = new MarkerClusterer(map, marker);
    		// });
          }
    	  // init lorsque la page est chargée
    	google.maps.event.addDomListener( window, 'load', initialize);
        </script>
    </head>	
      <body>
      <div id="map-container">
          <div id="map_content"></div>
    </div>	  
      </body>
    </html>
    downloadwml.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
     
    function loadXMLDoc(_fichierXML){
       var fichierXML = _fichierXML;
       var xhr_object = null;
     
       if(window.XMLHttpRequest) // Firefox
          xhr_object = new XMLHttpRequest();
       else if(window.ActiveXObject) // Internet Explorer
          xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
       else { // XMLHttpRequest non supporté par le navigateur
          alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
          return;
       }
     
       xhr_object.open("GET", fichierXML + "?" + new Date()*Math.random() , false);
       xhr_object.send(null);
    //   if(xhr_object.readyState == 4) alert("Requête effectuée !");
    //   var docXml = xhr_object.responseXML;
       var docXml = xhr_object.responseXML;
     //alert(docXml);
       //docXml = StringtoXML(docXml);
       return docXml;
    }
     
    function StringtoXML(text){
       if (window.ActiveXObject){
          var doc=new ActiveXObject('Microsoft.XMLDOM');
          doc.async='false';
          doc.loadXML(text);
       } else {
          var parser=new DOMParser();
          var doc=parser.parseFromString(text,'text/xml');
       }
       return doc;
    }
    les données sont parsé via un fichier XML

    Ma carte affiche bien la localisation via les données du XML par contre quand je clique sur le ballon pour afficher l'info bullE j'ai cette erreur

    Une erreur est survenue sur cette page
    ligne :29
    Caractère: 937
    Erreur :Argument non valide
    code : 0
    url : http://maps.gstatic.com/intl/fr_ALL/...3/9/14/main.js

    Dans mon debugger javascript
    ceci est coloré en jaune : return a.zIndex=b

    Merci pour votre aide

  2. #2
    Membre régulier Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Points : 122
    Points
    122
    Par défaut
    J'ai trouvé

    Mon problème se pose sur cette partie du script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    (function( bulle){
    			google.maps.event.addListener(marker, 'click', function(){
    				var map = this.getMap();           // récup. de l'objet carte
    				var index = map.zIndexBulle ++;    // incrémentation et récupération
    				bulle.setZIndex( index);           // affectation à l'InfoWindow
    				bulle.open( map, this);            // affichage de l'InfoWindow
    			});
    		})(oInfo);
    j'ai du l’implémenté autrement et ça a résolu le problème

    merci

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 679
    Points
    44 679
    Par défaut
    Bonjour,
    j'ai du l’implémenté autrement et ça a résolu le problème
    mais encore !

    peut être te manques t-il l'initialisation de la variable map.zIndexBulle à la création de la map.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/07/2011, 15h56
  2. erreurs javascript avec internet explorer
    Par cowboydeluxe dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/11/2009, 10h53
  3. compatibilité fonction javascript sous internet explorer
    Par frboyer dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/04/2009, 11h45
  4. Erreur DOCTYPE et Javascript ? sous Internet Explorer
    Par jeanflo037 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 03/02/2009, 17h15
  5. [Google Map] Erreur js sous Internet Explorer 7
    Par korbier dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/07/2007, 14h41

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