【问题标题】:Parsing XML to a google map to create multiple markers将 XML 解析为谷歌地图以创建多个标记
【发布时间】:2012-04-06 10:42:39
【问题描述】:

今天的问题是这样的:

    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);
     // }
    });
  }
}

如果我运行它,它将获取纬度和经度坐标并为我在地图上创建一个标记。但是,如果我尝试从我的 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?

【问题讨论】:

  • 请注意,您使用的是 Maps API 的第 2 版,但该版本已被弃用,最早可能在明年关闭。

标签: javascript html xml google-maps xml-parsing


【解决方案1】:

试试这个:

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

【讨论】:

  • 感谢您的回答。我明白你的意思,但是 lat 和 long 被保存为一个实体。这就是我使用拆分字符串操作将它们分开的原因。我已经用硬编码坐标仔细检查过。这里的问题首先是从我的 php 解析 XML 数据。它似乎不想从 php 中读取任何内容 :(
  • 再看一遍,我修改了我的答案:),我发帖后才意识到你只是有一个不必要的步骤。
  • 啊,谢谢 Javram。我看到我的低效率大声笑。我仍然遇到此代码没有获取 php 文件的问题。非常令人沮丧:@
  • 请记住,该文件需要在公共 Internet 上可用才能使用 GDownloadUrl。如果您指向本地计算机上的文件,GDownloadUrl 将不起作用。
  • 刚刚尝试了您发布的页面,它看起来对我有用。你在什么浏览器中测试它(在 Firefox 中工作)?
猜你喜欢
  • 2013-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-20
  • 2013-08-19
  • 1970-01-01
相关资源
最近更新 更多