Bonjour,

J'ai sur un site, une carte google maps avec plusieurs markers que j'affiche grâce à un fichier xml où il y a les adresses.

Voici le code:

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
      <script type="text/javascript"> 
     //<![CDATA[ 
     var geocoder = null; 
 
     function load() 
	 { 
        var map = new GMap2(document.getElementById("map")); 
        map.addControl(new GMapTypeControl()); // Différentes vues (plan, satellite, mixte)
        map.addMapType(G_PHYSICAL_MAP);        // Ajout de la vue en "Relief" 
        //map.addMapType(G_SATELLITE_3D_MAP);  // Ajout de la vue "Google Earth"
        map.setMapType(G_NORMAL_MAP);          // Forcer sur vue "mixte": G_HYBRID_MAP 
        map.addControl(new GLargeMapControl3D());  // Zoom large 3D
        //map.addControl(new GOverviewMapControl()); // Vue d'ensemble
        map.enableScrollWheelZoom();           // Activation du zoom avec la souris
        map.addControl(new GScaleControl());   // Echelle
        map.setCenter(new GLatLng(48.865,2.349), 14);   // Centrage de la carte sur PARIS
 
       GDownloadUrl("add.xml", function(data)   // Fichier xml contenant les valeurs de la BDD
       { 
	       var xml = GXml.parse(data); 
	       var markers = xml.documentElement.getElementsByTagName("marker"); 
	       for (var i = 0; i < markers.length; i++){		   
             var add = new Array();         // Tableau adresse
	         var autre = new Array();       // Tableau autre
	         add = markers[i].getAttribute("adresse");        // Valeur de l'attribut adresse du fichier xml
	         autre = markers[i].getAttribute("autre");        // Valeur de l'attribut photo du fichier xml
	         showAddress(add,autre);       //Création du marker en fonction de l'adresse
		   } 
       }); 
       function showAddress(address,onglet4)   // Fonction permettant de créer des markers en fonctions des adresses
       {
        geocoder = new GClientGeocoder();   // Géocoding
        if (geocoder)
        {
          geocoder.getLatLng(address, function(point)
          {
            if (!point) { /*alert(address + " : Adresse non connue");*/ } 
			else { 
              //map.setCenter(point, 12);       // Recentrage de la carte sur l'adresse
              var marker = new GMarker(point);  // Initialisation d'un marker
              map.addOverlay(marker);           // Affichage du marker
              var infoTabs = [  
		         new GInfoWindowTab("autre", onglet4)   
		         ]; 
              GEvent.addListener(marker, "click", function() { 
		        marker.openInfoWindowTabsHtml(infoTabs);       // Affichage d'une bulle contenant l'adresse et le type de bien
		      });  // ou openInfoWindowHtml
		    }
           });
         }
       } 
     }  //Fin load     
     //]]>
     </script>

Le problème c'est que lorsque je rafraichit la page, à chaque fois, il y a des markers qui n'apparaissent pas.
En général il arrive à m'en afficher une dizaine.
Mais si j'ai plus de 10 adresses, c'est rare qu'il me les affiche toutes.

Savez-vous d'où peut venir le problème?

Merci de votre aide.
En espérant que ce code servira à d'autres (il est fonctionnel )