Api Google Map erreur incomprehensible (pour moi!)
J'ai un probleme avec l'api et google map que je ne comprends pas
lorsque j'utilise
Code:
$markers_id = array(1);
j'ai comme retour les valeurs suivants
Code:
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:
$markers_id = $_POST['box']; //(recuperer un array d'une autre page)
j'ai toujours les valeurs suivants
Code:
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:
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:
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> |