2017-02-10 135 views
1

我正试图在Google地图上显示KML。地图加载完美,但KML完全不显示。另外,我在控制台中没有收到任何错误消息。KML图层不显示在地图上

我从gadm.org下载了一个.kmz文件,解压缩并提取.kml文件。

这是我的代码和我的KML的URL。 http://locallocal.com/endline/mex2.kml

<script> 
    var map; 
    var src = 'http://locallocal.com/endline/mex2.kml'; 

    /** 
    * Initializes the map and calls the function that loads the KML layer. 
    */ 
    function initMap() { 
    map = new google.maps.Map(document.getElementById('map'), { 
     center: new google.maps.LatLng(-19.257753, 146.823688), 
     zoom: 2, 
     mapTypeId: 'roadmap' 
    }); 
    loadKmlLayer(src, map); 
    } 

    /** 
    * Adds a KMLLayer based on the URL passed. Clicking on a marker 
    * results in the balloon content being loaded into the right-hand div. 
    * @param {string} src A URL for a KML file. 
    */ 
    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; 
    }); 
    } 
</script> 
<script async defer 
src="https://maps.googleapis.com/maps/api/js?key=[MYKEY]&callback=initMap"> 
+0

相关问题:[与谷歌地图工作的县KML数据](http://stackoverflow.com/questions/35347003/county-kml-data-that-works-with-google-maps) – geocodezip

回答

3

我得到KML状态:INVALID_DOCUMENT(link)与KML。您的KML过大(这是5.8 MB),它并不满足the documentation这个要求:

  • 获取最大文件大小(原始KML,原始GeoRSS或压缩的KMZ)3MB

我可以加载它geoxml3,它没有这个限制。

或者,我可以压缩它(使它成为一个名为.kmz文件),它的工作原理(这是1.3 MB):

loading it as a KMZ file

+0

谢谢!我正把头撞在墙上 – user954208

0

如果它不是KML和KML网址内无效的XML将从浏览器下载,然后尝试重命名您的kml文件。重命名是唯一有效的解决方案。而且这不是我的浏览器缓存,因为我清理了很多次。看起来谷歌必须在api的末尾做一些缓存。