2013-02-18 95 views
-1

我想从MySql数据库加载标记(我用一个PHP文件转换数据给出XML输出),但我只看到地图。在阅读StackOverflow上的文章后,我仍然不知道如何使它工作。GMaps显示标记

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=true"></script> 
</head> 

<body> 

<script> 
function initialize() 
{ 
var map=new google.maps.Map(document.getElementById("mapka"), { 
    center:new google.maps.LatLng(51.109612,17.036276), 
    zoom:12, 
    mapTypeId:google.maps.MapTypeId.ROADMAP 
}); 

    downloadUrl("dane.php", function(data) 
    { 
    var xml = data.responseXML; 
    var markers = xml.documentElement.getElementsByTagName("marker"); 
    for (var i = 0; i < markers.length; i++) 
    { 
     var nazwa = markers[i].getAttribute("nazwa"); 
     var lat = parseFloat(markers[i].getAttribute("lat")); 
     var lng = parseFloat(markers[i].getAttribute("lng")); 
     var point = new google.maps.LatLng(lat,lng); 

     var marker = new google.maps.Marker({ 
     map: map, 
     position: point 
     }); 
    } 
}); 
} 

function downloadUrl(url, callback) { 
    var request = window.ActiveXObject ? 
     new ActiveXObject('Microsoft.XMLHTTP') : 
     new XMLHttpRequest; 

    request.onreadystatechange = function() { 
    if (request.readyState == 4) { 
     request.onreadystatechange = doNothing; 
     callback(request, request.status); 
    } 
    }; 

    request.open('GET', url, true); 
    request.send(null); 
} 
function doNothing() {} 


google.maps.event.addDomListener(window, 'load', initialize); 

</script> 

<div id="mapka" style="width:700px;height:500px;"></div> 

</body> 
</html> 

的XML看起来是这样的:

<dane> 
    <marker lat="51.110287" lon="17.062647" nazwa="Hello_1" address="Street_1"/> 
    <marker lat="51.111807" lon="17.058012" nazwa="Hello_2" address="Street_2"/> 
</dane> 
+0

@ Dr.Molle,该解决方案不起作用 – Andrzej 2013-02-18 01:32:49

+0

那么你将不得不显示你的函数'downloadUrl',因为它没有在代码上面的代码 – 2013-02-18 01:38:14

+0

data.responseXML中包含什么?当它不是XML文档时,让PHP脚本发送一个XML-content-type-header – 2013-02-18 01:59:22

回答

1

您尝试访问属性lng,但对于XML里面的标记定义的属性是lon