【问题标题】:Marker XML data with downloadUrl in Google maps v3在 Google 地图 v3 中使用 downloadUrl 标记 XML 数据
【发布时间】:2011-10-16 19:56:28
【问题描述】:

我正在尝试从 XML 加载标记,但我的代码中存在问题。我尝试使用警报进行调试,但找不到问题所在。 Test2 未显示。

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js sensor=false"></script>
//<script type="text/javascript" src="util.js"></script>
<script type="text/javascript">

  function initialize() {
    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var myOptions = {
      zoom: 8,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    alert("test1");

    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var marker = new google.maps.Marker({position: latlng, map: map});

    downloadUrl("data.xml", function(data) {
      alert("test2");
      var markers = data.documentElement.getElementsByTagName("marker");
      alert("test3");
      for (var i = 0; i < markers.length; i++) {
        var latlng = new google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));
        var marker = new google.maps.Marker({position: latlng, map: map});
      }
    });

    alert("test4");
  }

</script>

【问题讨论】:

  • latingmarker 的声明仍然有效吗?
  • @Kovand:我的回答有用吗?

标签: javascript xml google-maps google-maps-markers


【解决方案1】:

您需要定义您在程序中调用的函数downloadUrl()。最简单的版本是:

function downloadUrl(url, callback) {  
    var request = window.ActiveXObject ? 
        new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest;   
    request.onreadystatechange = function() {    
        if (request.readyState == 4) {            
            callback(request);    
        } 
    };   
    request.open('GET', url, true);  
    request.send(null); 
}

在调用本身中,您需要从 data 获取 XML:

downloadUrl("data.xml", function(data) {
    alert("test2");
    var xml = data.responseXML;
    var markers = xml.documentElement.getElementsByTagName("marker");
    // ...
}

【讨论】:

    猜你喜欢
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    相关资源
    最近更新 更多