我正在使用Google Maps,并且正在尝试创建启用不同KML叠加层的侧边栏。我已经将KML图层放入与按钮的ID标记相同的变量中,以便按下它们以激活它们,希望将该ID作为变量调用,然后将其用于setMap函数。
不知道这是否真的可能
在这个脚本这里我试图让它按ID标签'kml1',设置testvar ='kml1',然后能够把testvar.setMap(the_Map )代替kml1.setMap(the_Map的),如图的testvar == kml1通过编号将变量设置为另一个变量
jQuery的
kml1 = new google.maps.KmlLayer("http://www.domain.com/map_overlay1.txt", {
preserveViewport: true,
});
kml2 = new google.maps.KmlLayer("http://www.odomain.com/map_overlay2.txt", {
preserveViewport: true,
});
$(document).ready(function() {
$('.kml_item').toggle(
function() {
for (i=0; i<50; i++) {
testvar = this.id
if (testvar == 'kml' + i) {
testvar.setMap(the_Map);
break;
}
}
},
function() {
for (i=0; i<50; i++) {
testvar = this.id
if (testvar == 'kml' + i) {
testvar.setMap(null);
break;
}
}
);
})
相关联的HTML
<div id="kml1" class="kml_item">KML 1</div>
<div id="kml2" class="kml_item">KML 2</div>
慎用'i'它泄漏到在两个回路全球范围内。会造成混乱和麻烦。不要忘记使用'var'。 – elclanrs