Google maps api 3 加载页面时如何显示一个kml层?

Google maps api 3 加载页面时如何显示一个kml层?,google-maps-api-3,kml,layer,Google Maps Api 3,Kml,Layer,我有一个带有谷歌地图的页面,显示了几个kml文件,当你点击图例中的复选框时可以看到这些文件。 如何配置地图,以便在加载页面时只看到第2层,就好像已经单击了它一样 源代码是: <script type="text/javascript"> var map; var layers = []; function initialize() { var myLatLng = new google.maps.LatLng(37.18186,-3.58843); var my

我有一个带有谷歌地图的页面,显示了几个kml文件,当你点击图例中的复选框时可以看到这些文件。 如何配置地图,以便在加载页面时只看到第2层,就好像已经单击了它一样

源代码是:

<script type="text/javascript"> 
var map;

var layers = [];

function initialize() {
    var myLatLng = new google.maps.LatLng(37.18186,-3.58843);
    var myOptions = {
zoom: 15,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
      streetViewControl: false
}

map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var legend = document.getElementById('legend');

map.controls[google.maps.ControlPosition.TOP_RIGHT].push
(document.getElementById('legend'));


var noPoi = [ 
    {
    featureType: "poi",
    stylers: [
      { visibility: "off" }
    ]   
      }
];

map.setOptions({styles: noPoi});



layers [0] = new google.maps.KmlLayer('https://granadainfo.com/googlemaps/kml/L33-2018.kml', 
  {preserveViewport: true, suppressInfoWindows: false});
layers [1] = new google.maps.KmlLayer('https://granadainfo.com/googlemaps/kml/C31-2018.kml', 
  {preserveViewport: true, suppressInfoWindows: false});
layers [2] = new google.maps.KmlLayer('https://granadainfo.com/googlemaps/kml/C34-2018.kml', 
  {preserveViewport: true, suppressInfoWindows: false});
layers [3] = new google.maps.KmlLayer('https://granadainfo.com/googlemaps/kml/C30-2018.kml', 
  {preserveViewport: true, suppressInfoWindows: false});

for (var i = 0; i < layers.length; i++) {
        layers[i].setMap(null);
      }
}

function toggleLayer(i) {
  if (layers[i].getMap() === null) {
    layers[i].setMap(map);
  }
  else {
    layers[i].setMap(null);
  }
}
</script>

var映射;
var层=[];
函数初始化(){
var mylatng=new google.maps.LatLng(37.18186,-3.58843);
变量myOptions={
缩放:15,
中心:myLatLng,
mapTypeId:google.maps.mapTypeId.ROADMAP,
街景控制:错误
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
var legend=document.getElementById('legend');
map.controls[google.maps.ControlPosition.TOP\u RIGHT].push
(document.getElementById(“图例”);
变量noPoi=[
{
特征类型:“poi”,
样式:[
{可见性:“关闭”}
]   
}
];
setOptions({style:noPoi});
层[0]=新的google.maps.kmlayer('https://granadainfo.com/googlemaps/kml/L33-2018.kml', 
{preserveViewport:true,suppressInfoWindows:false});
layers[1]=新的google.maps.Kmlayer('https://granadainfo.com/googlemaps/kml/C31-2018.kml', 
{preserveViewport:true,suppressInfoWindows:false});
layers[2]=新的google.maps.Kmlayer('https://granadainfo.com/googlemaps/kml/C34-2018.kml', 
{preserveViewport:true,suppressInfoWindows:false});
layers[3]=新的google.maps.KmlLayer('https://granadainfo.com/googlemaps/kml/C30-2018.kml', 
{preserveViewport:true,suppressInfoWindows:false});
对于(变量i=0;i
html代码是:

<div id="map_canvas"></div>
<div id="legend">
<p>
<input type="checkbox" id="layer0" onClick="toggleLayer(0)"/>&nbsp;Bus 33<br />
<input type="checkbox" id="layer1" onClick="toggleLayer(1)"/>&nbsp;Bus C31<br />
<input type="checkbox" id="layer2" onClick="toggleLayer(2)"/>&nbsp;Bus C34<br />
<input type="checkbox" id="layer3" onClick="toggleLayer(3)"/>&nbsp;Bus C30<br />

</div>


33路公共汽车
总线C31
总线C34
总线C30

您需要做两件事:

  • 将默认复选框设置为“选中”
  • 代码片段:

    var映射;
    var层=[];
    函数初始化(){
    var mylatng=new google.maps.LatLng(37.18186,-3.58843);
    变量myOptions={
    缩放:15,
    中心:myLatLng,
    mapTypeId:google.maps.mapTypeId.ROADMAP,
    街景控制:错误
    }
    map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
    var legend=document.getElementById('legend');
    控件[google.maps.ControlPosition.TOP_RIGHT].push(document.getElementById('legend');
    变量noPoi=[{
    特征类型:“poi”,
    样式:[{
    能见度:“关闭”
    }]
    }];
    map.setOptions({
    款式:noPoi
    });
    层[0]=新的google.maps.kmlayer('https://granadainfo.com/googlemaps/kml/L33-2018.kml', {
    对,,
    suppressInfoWindows:false
    });
    layers[1]=新的google.maps.Kmlayer('https://granadainfo.com/googlemaps/kml/C31-2018.kml', {
    对,,
    suppressInfoWindows:false
    });
    layers[2]=新的google.maps.Kmlayer('https://granadainfo.com/googlemaps/kml/C34-2018.kml', {
    对,,
    suppressInfoWindows:false
    });
    layers[3]=新的google.maps.KmlLayer('https://granadainfo.com/googlemaps/kml/C30-2018.kml', {
    对,,
    suppressInfoWindows:false
    });
    对于(变量i=0;i
    /*始终明确设置贴图高度以定义div的大小
    *包含映射的元素*/
    #地图画布{
    身高:100%;
    }
    /*可选:使示例页面填充窗口*/
    html,
    身体{
    身高:100%;
    保证金:0;
    填充:0;
    }
    
    
    33路公共汽车
    总线C31
    总线C34
    总线C30

    <input type="checkbox" id="layer2" onClick="toggleLayer(2)" checked="checked"/>&nbsp;Bus C34<br />
    
    toggleLayer(2);