我正在使用谷歌地图,我正在尝试创建一个侧栏,支持不同的KML覆盖。我将KML层放入变量中,使用与按下按钮激活它们的ID标签相同的变量,希望调用该ID作为变量,然后可以在setMap函数中使用它。
我不确定这是否真的可行
在这个脚本中,我尝试这样做,所以您可以使用ID标记‘kml1’按element,设置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>发布于 2012-09-15 06:43:49
我认为你可以通过一些调整得到你想要的东西。
// These kml objects will be attached to the global window object at
// window.kml1
// or
// window['kml1']
var kml1 = new google.maps.KmlLayer("http://www.domain.com/map_overlay1.txt", {
preserveViewport: true,
});
var kml2 = new google.maps.KmlLayer("http://www.odomain.com/map_overlay2.txt", {
preserveViewport: true,
});
$(document).ready(function() {
$('.kml_item').click(function() {
// Access the various kml objects and set the_Map
var kml = window[this.id]
if(kml.getMap()) {
kml.setMap(null);
}
else {
kml.setMap(the_Map);
}
});
});https://stackoverflow.com/questions/12432843
复制相似问题