首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过id将变量设置为另一个变量

通过id将变量设置为另一个变量
EN

Stack Overflow用户
提问于 2012-09-15 06:36:04
回答 3查看 114关注 0票数 0

我正在使用谷歌地图,我正在尝试创建一个侧栏,支持不同的KML覆盖。我将KML层放入变量中,使用与按下按钮激活它们的ID标签相同的变量,希望调用该ID作为变量,然后可以在setMap函数中使用它。

我不确定这是否真的可行

在这个脚本中,我尝试这样做,所以您可以使用ID标记‘kml1’按element,设置testvar='kml1',然后能够将testvar.setMap(the_Map)放在kml1.setMap(the_Map)的位置,作为testvar==kml1

jQuery

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
<div id="kml1" class="kml_item">KML 1</div>
            <div id="kml2" class="kml_item">KML 2</div>
EN

Stack Overflow用户

发布于 2012-09-15 06:43:49

我认为你可以通过一些调整得到你想要的东西。

代码语言:javascript
运行
复制
// 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);
        }
    });
});
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12432843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档