使用Javascript API在Google地图上显示KML图层

时间:2016-10-11 12:37:13

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

我有一个未在Google地图上加载的KML文件。这是JSFiddle:

https://jsfiddle.net/rh0az9rr/

function initMap() {
  var map = new google.maps.Map(document.getElementById('map'), { 
    zoom: 4, 
    center: {lat: 39.8282, lng: -98.5795} }); 
  var ctaLayer = new google.maps.KmlLayer({ 
    url: 'http://www.agstechnologies.com/counties.kml', 
    map: map 
  }); 
}

1 个答案:

答案 0 :(得分:1)

API返回的KmlStatus为INVALID_DOCUMENT

updated fiddle

Your KML file is 14 MBThe allowed limits are

  

(注意:这些限制随时可能发生变化。)

     

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

     

最大未压缩KML文件大小 10MB

     

最大网络链接数10

     

文档范围内的最大功能总数1,000

您的KML也无效(在<xml>标记之前的XML顶部有一个空行。

显示大于这些限制的KML的一个选项是使用第三方解析器(例如geoxml3geoxml-v3):example

然而,可能存在性能问题(这就是谷歌有这些限制的原因)。最好的选择是:

  1. 使用KMZ文件(压缩KML)
  2. 降低KML的复杂性
  3. 或使用FusionTablesLayer显示FusionTables中的数据。