谷歌地图上的KML图层

时间:2013-06-11 10:14:13

标签: google-maps-api-3

您好我有2套KML文件要添加到谷歌地图。但我不能让这两套同时存在于地图上。个别这些套装工作正常。任何人都可以指导我吗? 我将KML文件设置如下

kml19 =  new google.maps.KmlLayer({url:'url',preserveViewport: true,map: map});
kml19.setMap(map);

[被修改]

我尝试将两组KML文件组合在一起并将其设置在地图上。我发现在地图上设置了16个KML文件后,我们又尝试添加一个,地图上没有显示任何KML文件。我们可以添加的KML文件的数量是否有任何限制?

    kml11 = new  google.maps.KmlLayer({url:'url1',preserveViewport: true,map: map});
    kml12 =  new google.maps.KmlLayer({url:'url2',preserveViewport: true,map: map});
    kml13 = new  google.maps.KmlLayer({url:'url3',preserveViewport: true,map: map});
    kml14 =  new google.maps.KmlLayer({url:'url4',preserveViewport: true,map: map});
    kml15 =  new google.maps.KmlLayer({url:'url5',preserveViewport: true,map: map});
    kml16 =  new google.maps.KmlLayer({url:'url6',preserveViewport: true,map: map});
    kml17 =  new google.maps.KmlLayer({url:'url7',preserveViewport: true,map: map});
    kml18 =  new google.maps.KmlLayer({url:'url8',preserveViewport: true,map: map});
    kml19 =  new google.maps.KmlLayer({url:'url9',preserveViewport: true,map: map});

    kml11.setMap(map);
    kml12.setMap(map);
    kml13.setMap(map);
    kml14.setMap(map);
    kml15.setMap(map);
    kml16.setMap(map);
    kml17.setMap(map);
    kml18.setMap(map);
    kml19.setMap(map);

    kml1    =  new google.maps.KmlLayer({url:'url10',preserveViewport: true,map: map});
    kml2    = new google.maps.KmlLayer({url:'url11',preserveViewport: true,map: map});
    kml3    = new google.maps.KmlLayer({url:'url12',preserveViewport: true,map: map});
    kml4    = new google.maps.KmlLayer({url:'url13',preserveViewport: true,map: map});
    kml5    = new google.maps.KmlLayer({url:'url14',preserveViewport: true,map: map});
    kml51   =  new google.maps.KmlLayer({url:'url15',preserveViewport: true,map: map});
    kml52   =  new google.maps.KmlLayer({url:'url16',preserveViewport: true,map: map});     
    /*kml6  =  new google.maps.KmlLayer({url:'url17',preserveViewport: true,map: map});
    kml61   =  new google.maps.KmlLayer({url:'url18',preserveViewport: true,map: map});
    kml7    = new google.maps.KmlLayer({url:'url19',preserveViewport: true,map: map});
    kml71   = new google.maps.KmlLayer({url:'url20',preserveViewport: true,map: map});
    kml8    = new google.maps.KmlLayer({url:'url21',preserveViewport: true,map: map});
    kml9    =  new google.maps.KmlLayer({url:'url22',preserveViewport: true,map: map});
    kml91   =  new google.maps.KmlLayer({url:'url23',preserveViewport: true,map: map});*/

    kml1.setMap(map);

    kml2.setMap(map);

    kml3.setMap(map);

    kml4.setMap(map);

    kml5.setMap(map);

    kml51.setMap(map);
    kml52.setMap(map);      
    /*kml6.setMap(map);
    kml61.setMap(map);
    kml7.setMap(map);
    kml71.setMap(map);
    kml8.setMap(map);
    kml9.setMap(map);
    kml91.setMap(map);*/

1 个答案:

答案 0 :(得分:1)

您需要为每个网址创建一个KmlLayer对象:

var kml19 =  new google.maps.KmlLayer({url:'url1',preserveViewport: true,map: map});
var kml11 =  new google.maps.KmlLayer({url:'url2',preserveViewport: true,map: map});

<强>更新 您正在加载大量KML文件。可以加载的数量有限,如documentation

中所述
  

可以在单个Google地图上显示的KML图层数量有限制。如果超过此限制,   您的图层都不会显示。该限制基于传递给KMLLayer类的所有URL的总长度,   因此会因申请而异;平均而言,您应该能够在没有的情况下加载10到20层   达到极限。