你好女士和绅士,解析XML的谷歌地图,以创建多个标记
今天的问题是这样的:
GDownloadUrl("http://www.mysite/map.php",
function(data) {
var xml = GXml.parse(data);
//var markers = xml.documentElement.getElementsByTagName("marker");
//for (var i = 0; i < markers.length; i++) {
//var address = new GLatLng(parseFloat(markers[i].getAttribute("location")));
//var latlong = address.split(",");
//var latlongtomap = new GLatLng(parseFloat(latlong[0]), parseFloat(latlong[1]));
var latlongtomap = new GLatLng(51.477711,-3.176555);
var marker = createMarker(latlongtomap);
map.addOverlay(marker);
// }
});
}
}
如果我跑这一点,将获得纬度和长COORDS并创建一个标记在地图上为我。但是,如果我试图从我的PHP脚本获得了 “位置” 选项卡(使用全部注释掉的代码):
map.php
这<?php
mysql_connect("", "", "") or die(mysql_error());
mysql_select_db("") or die(mysql_error());
$query = "SELECT MAPADDRESS FROM report";
$result = mysql_query($query) or die(mysql_error());
$doc = new DomDocument('1.0');
$node = $doc->createElement("markers");
$parnode = $doc->appendChild($node);
header("Content-type: text/xml");
while($row = mysql_fetch_array($result)){
$node = $doc->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("location", $row['MAPADDRESS']);
}
print $doc->saveXML();
?>
结果是:
<markers>
<marker location="51.477711,-3.176555"/>
<marker location="51.472512,-3.187527"/>
<marker location="51.471057,-3.186263"/>
<marker location="51.473261,-3.192219"/>
</markers>
为什么代码不能正确读取这个php?
感谢您的帮助!
HEMM
只是注意,你使用Google Maps API第2版,但是这过时了,而早在明年可能会被关闭。 – 2012-03-21 22:43:36