1
我想將事件監聽器應用於多個圖層(例如:編號爲layer1至圖層8),嘗試做一個數組並且不起作用。 KMLlayers只在打開它們時纔會觸發,所以也許陣列不是正確的方式,但不知道如何。將事件監聽器應用於Google地圖中的多個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>