2012-03-21 74 views
0

你好女士和绅士,解析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

+0

只是注意,你使用Google Maps API第2版,但是这过时了,而早在明年可能会被关闭。 – 2012-03-21 22:43:36

回答

0

试试这个:

var latlong = markers[i].getAttribute("location").split(",");    
var latlongtomap = new GLatLng(parseFloat(latlong[0]), parseFloat(latlong[1])); 
+0

感谢您的回答。我可以看到你的意思,但拉特和长期保存一个数据库作为一个实体。这就是为什么我使用拆分字符串操作将它们分开的原因。我已经用硬编码的坐标加倍检查了。这里的问题首先是从我的php中解析XML数据。它似乎不想从PHP中读取任何东西:( – 2012-03-21 21:25:01

+0

再次看看,我修改了我的答案:),我意识到我张贴后,你只是有一个不必要的步骤在那里。 – javram 2012-03-21 21:25:48

+0

Ahhhh,谢谢Javram。我看到我的低效率大声笑。我仍然坚持这个代码没有得到PHP文件的问题。非常令人沮丧:@ – 2012-03-21 21:36:49