【问题标题】:A variable number of Google maps on a single page单个页面上可变数量的 Google 地图
【发布时间】:2011-12-13 18:24:08
【问题描述】:

我正在使用 ajax 在一个页面内加载多个 Google 地图。它们是动态生成的,每页呈现的地图数量不同。我找到了我的问题here 的部分解决方案。

我的解决方案的问题是我没有固定数量的地图。有没有办法动态生成存储地图对象(map1、map2 等)的变量的名称?有没有更好的不涉及生成变量名的解决方案?

【问题讨论】:

    标签: javascript jquery google-maps variables code-reuse


    【解决方案1】:

    是的。在 JavaScript 中使用数组。像这样:

        var mapObjects;
    
        function geAllMapDivs() {
            var allDivs = document.getElementsByTagName('DIV'), i, L;
            var mapDivs = [];
            for(i=0, L=allDivs.length; i<L; i++) {
                if (allDivs[i].id.substring(0,4) == "map_") {
                    mapDivs.push(allDivs[i]);
                }
            }
            return mapDivs;
        }
    
        function createMaps() {
            var mapDivs = getAllMapDivs(), i, L;
            mapObjects = [];
            for(i=0, L=mapDivs.length; i<L; i++) {
                mapObjects.push(new google.maps.Map(mapDivs[i], myOptions)); 
            }
        }
    

    【讨论】:

    • 之后,我将如何引用它们?
    • mapObjects[0]、mapObjects[1] 等等。在createMaps() 函数完成后,您可以像在mapDivs 内引用mapDivs 一样引用mapObjects。 它们都是对象数组。 (虽然mapDivs 仅在createMaps 函数内部已知)
    猜你喜欢
    • 2013-03-14
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2018-03-19
    • 2018-09-26
    • 1970-01-01
    相关资源
    最近更新 更多