J'ai un probleme avec l'api et google map que je ne comprends pas
lorsque j'utilise
j'ai comme retour les valeurs suivants
Code : Sélectionner tout - Visualiser dans une fenêtre à part $markers_id = array(1);
et les marqueur s'affiche bien sur ma carte
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 lorsque j'ecris
j'ai toujours les valeurs suivants
Code : Sélectionner tout - Visualiser dans une fenêtre à part $markers_id = $_POST['box']; //(recuperer un array d'une autre page)
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>
Partager