J'ai un probleme avec l'api et google map que je ne comprends pas

lorsque j'utilise

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$markers_id = array(1);
j'ai comme retour les valeurs suivants
Code =xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
- <markers>
<marker nom="Pan Africa Market" lat="47.608940" long="-122.340141" url="restaurant" /> 
</markers>
et les marqueur s'affiche bien sur ma carte

mais lorsque j'ecris

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$markers_id = $_POST['box']; //(recuperer un array d'une autre page)
j'ai toujours les valeurs suivants
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
- <markers>
<marker nom="Pan Africa Market" lat="47.608940" long="-122.340141" url="restaurant" /> 
</markers>

mais rien ne s'affiche sur ma carte et j'ai le message d'ereur suivant de IE Message: 'documentElement' is null or not an object

Avez vous une idee d'ou cela peut venir?

voici mon code



fichier ajax_mysql.php

/
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
/ Récupération des variables
$box = $_POST['box'];
mysql_connect($host,$user,$password);
  mysql_select_db($bdd) or die("erreur de connexion à la base de données");
 
 
  $sql = "select * from markers where id  IN (".implode(',', $box).")";
  $res = mysql_query($sql) or die(mysql_error());
  $dom = new DomDocument('1.0', 'iso-8859-1');
  $node = $dom->createElement("markers");
  $parnode = $dom->appendChild($node);
  while ($result = mysql_fetch_array($res)){
    $node = $dom->createElement("marker");
    $newnode = $parnode->appendChild($node);
    $newnode->setAttribute("nom", $result['name']);
    $newnode->setAttribute("lat", $result['lat']);
    $newnode->setAttribute("long", $result['lng']);
    $newnode->setAttribute("url", $result['type']);
  }
  $xmlfile = $dom->saveXML();
  echo $xmlfile;


et pour afficher la carte : api.php

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
<!DOCTYPE html "-//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>
    <title>
     [Google Maps] 10. Utiliser Ajax, MySQL et PHP pour afficher des marqueurs
   </title>
   <style type="text/css">
     html { overflow:hidden; height:100%; } 
     body { height:100%; margin:0; }
     #map { width:100%; height:100%; }
   </style>
   <link rel="icon" type="image/png" href="./favicon.png"/>
   <script src="http://maps.google.com/maps?file=api&v=2&key=xxxxx" type="text/javascript"></script>
   <script type="text/javascript">
 
     function createMarker(point,nom,url) {
       var marker = new GMarker(point);
       var html = "<b><a href=\""+url+"\">"+nom+"</a></b>";
       GEvent.addListener(marker, 'click', function() {
         marker.openInfoWindowHtml(html);
       });
       return marker;
     }
 
     function initialize() {
       if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById('map'));
        map.setCenter(new GLatLng(47.608940, -122.340141),15);
        map.addControl(new GMapTypeControl());
        map.removeMapType(G_HYBRID_MAP);
        map.addMapType(G_PHYSICAL_MAP);
        map.setMapType(G_PHYSICAL_MAP);
        map.addControl(new GOverviewMapControl());
        map.addControl(new GScaleControl());
        map.addControl(new GLargeMapControl());
        map.enableScrollWheelZoom();
 
 
       var urlstr = "./ajax_mysql.php";
       GDownloadUrl(urlstr, function(data) {
         var xml = GXml.parse(data);
         var markers = xml.documentElement.getElementsByTagName("marker");
         for (var i = 0; i < markers.length; i++) {
           var nom = markers[i].getAttribute("nom");
           var url = markers[i].getAttribute("url");
           var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),parseFloat(markers[i].getAttribute("long")));
           var marker = createMarker(point,nom,url);
           map.addOverlay(marker);
         }
       });
 
      }
      else{
       alert('Désolé, mais votre navigateur n\'est pas compatible avec Google Maps');
      }
    }
  </script>
  </head>
  <body onload="initialize()" onunload="GUnload()">
    <div id="map"></div>
   </body>
</html>