2012-03-21 76 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