GMaps显示标记
问题描述:
我想从MySql数据库加载标记(我用一个PHP文件转换数据给出XML输出),但我只看到地图。在阅读*上的文章后,我仍然不知道如何使它工作。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>
答
您尝试访问属性lng
,但对于XML里面的标记定义的属性是lon
@ Dr.Molle,该解决方案不起作用 – Andrzej 2013-02-18 01:32:49
那么你将不得不显示你的函数'downloadUrl',因为它没有在代码上面的代码 – 2013-02-18 01:38:14
data.responseXML中包含什么?当它不是XML文档时,让PHP脚本发送一个XML-content-type-header – 2013-02-18 01:59:22