簡體   English   中英

XML / KML之外的JavaScript解析-Geoxml3

[英]JavaScript Parsing Outside XML/KML - Geoxml3

我已經實現了將KML解析為Google地圖的腳本,如此處所述。 這里還有一個工作示例。

這在Safari和IE中非常有效,但是在我的安裝(仍為本地)和演示站點上的Firefox或Chrome中什么也沒有發生。 日志中唯一的事情是這樣的:

--[13:07:38.076] "Unable to retrieve station.kml"

有人可以看看這個並闡明一些嗎? 我對JavaScript不夠熟練,無法弄清楚發生了什么。

謝謝!

更新:這是我的實際代碼。

<!DOCTYPE html>
<html class="no-js" lang="en"> <!--<![endif]-->
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Where Are Our Alumni?</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width">

    <style type="text/css">
    body, html {
      height: 100%;
      width: 100%;
      margin: 0;
      padding: 0; 
    }

    div#map-canvas {
      width: 100%; height: 100%;
    }
    </style>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="geoxml3.js"></script>
    <script src="markerclusterer.js"></script>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>


    <script type="text/javascript" charset="utf-8">
      $(document).ready(function(){
    var myOptions = {
          center: new google.maps.LatLng(41.8813571,-87.6294174),
          zoom: 3,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var mcOptions = {gridSize: 50, maxZoom: 15};
        var weather_url = "http://api.wunderground.com/api/6d9cb153ba3be6c0/conditions/forecast/q/";
        var count = 0;
        markers = [];
        var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
        markerclusterer  = new MarkerClusterer(map, [], mcOptions);
        var infoWindow = new google.maps.InfoWindow({maxWidth:800});
        var myParser = new geoXML3.parser({
        map: map, singleInfoWindow:true,
        createMarker:function(placemark){
                if (placemark.point.lat != '0') {
                var point = new google.maps.LatLng(placemark.point.lat, placemark.point.lng);
                var marker = new google.maps.Marker({position:point});
                markers.push(marker);

                google.maps.event.addListener(marker, "click", function(){
                    var marker_lat = marker.getPosition().lat();
                    var marker_lng = marker.getPosition().lng();
                    var request_url = weather_url + (marker_lat + "," + marker_lng);
                    infoWindow.close(); 
                    infoWindow.setOptions({maxWidth:800});
                    content = ("<div><strong>" + placemark.name + "</strong><br>");
                    content += (placemark.description + "</div>");
                    infoWindow.setContent(content);
                    infoWindow.open(map, marker);


                });
                markerclusterer.addMarker(marker);
        }
    }
    });
        myParser.parse('alumni.kml');
      });

      function clickMarker(i){
             google.maps.event.trigger(markers[i], "click");
      }
    </script>
</head>
<body>

    <div id="map-canvas"></div>


</body>
</html>

geoxml3.js腳本是導致錯誤的原因, 可從此處獲取。

看起來您正在使用geoxml3的舊版本。 你應該從使用最新版本的多邊形分支 ,除非你需要KMZ的支持,在這種情況下,使用最新版本從KMZ分支

來自帶有geoxml3的KML的集群標記的工作示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM