谷歌驱动器中包含的KML文件无法识别

时间:2016-05-27 21:06:04

标签: javascript google-maps google-maps-api-3

我在谷歌地图应用程序中尝试过显示KML文件。我使用了google map api documentation for that.

当我加载HTML文件时,它只显示谷歌地图。我认为这个问题关于KML文件。我如何解决它 ..?我已将KML文件上传到我的google驱动器中,并将其分享为“任何有链接的人都可以编辑”。 但Google Maps API的示例正在运行...... !!

这是代码: -

<script>
var map;
var src = 'https://drive.google.com/open?id=0B5oAxCVEQK5uZ0tJcFBDaGRfajg';

 function initialize() {
 map = new google.maps.Map(document.getElementById('map'), {
     center: new google.maps.LatLng(7.742291, 80.529785),
     zoom: 7,
     mapTypeId: google.maps.MapTypeId.TERRAIN
 });
 loadKmlLayer(src, map);
 }

  var kmlUrl = 'https://drive.google.com/open?id=0B5oAxCVEQK5uZ0tJcFBDaGRfajg';
 var kmlOptions = {
 suppressInfoWindows: true,
 preserveViewport: false,
 map: map
  };
 var kmlLayer = new google.maps.KmlLayer(kmlUrl, kmlOptions);

function loadKmlLayer(src, map) {
    var kmlLayer = new google.maps.KmlLayer(src, {
        suppressInfoWindows: true,
        preserveViewport: false,
        map: map
    });
    google.maps.event.addListener(kmlLayer, 'click', function(event) {
        var content = event.featureData.infoWindowHtml;
        var testimonial = document.getElementById('capture');
        testimonial.innerHTML = content;
    });}
     google.maps.event.addDomListener(window, 'load', initialize);
 </script>

1 个答案:

答案 0 :(得分:0)

这是问题的解决方案。整个代码是正确的,并且kml文件也是正确的。 关键是,我们无法将kml文件放在谷歌硬盘或Dropbox中。您必须在服务器上托管KML文件。为此你可以使用Google Sites to host Your KML

可能有用: - Display KML in a Google Map及以下google api

https://developers.google.com/maps/documentation/javascript/tutorials/kml#overview