Я хочу применить слушатель событий к нескольким слоям (то есть: пронумерованный уровень от 1 до 8), попытался создать массив и не работает.KMLlayers срабатывают только когда вы их включаете, поэтому, возможно, массив не правильный путь, но не уверен, как иначе.
if (document.mapControlBox.checkbox1.checked) {
/* Load the layer */
var layer1 = new google.maps.KmlLayer('theURL', {suppressInfoWindows: true});
layer1.setMap(map);
layer1.set('preserveViewport', true);
};
/* repeat, repeat... */
/* try to select all layers */
for (var i = 1; i < layer.length; i++) {
var layers = layer[i];
google.maps.event.addListener(layers, 'click', function(kmlEvent) {
var text = kmlEvent.featureData.description;
showContentWindow(text);
});
}
/*default function from Gmap example */
function showContentWindow(text) {
var sidediv = document.getElementById('content_window');
sidediv.innerHTML = text;
};
Соответствующий HTML:
<form name="mapControlBox">
<ul>
<li>
<input type="checkbox" name="checkbox1" value="checkbox1" onclick="displayMaps();" />
<label class="mapoption">Checkbox1<label>
</li>
/*etc etc*/
</ul>