【问题标题】:how to keep reference to data structures inside recursive calls?如何在递归调用中保持对数据结构的引用?
【发布时间】:2011-11-23 10:33:12
【问题描述】:

我有带有 google maps api 的 JS 代码。 当我点击一个标记时,我会显示更多标记。 当我单击这些标记时,我会显示更多标记......等等 我通过折线连接所有这些,生成的结构看起来像蜘蛛图。 当我单击任何标记 agian 时,我想隐藏它创建的标记和折线。 如何创建并保留对这些折线和标记的引用,这些折线和标记是在每个父标记的事件监听器的递归调用中形成的,以便以后可以执行 setMap(null);

【问题讨论】:

    标签: javascript recursion google-maps-api-3


    【解决方案1】:

    我尚未对其进行测试,但我相信您可以在 Marker 对象中添加一组显示的标记。它看起来像这样:

    var originalMarkers = new Array();  //load markers you show at the beginning to some array
    
    function onMarkerClick(event) {
        if (marker.childMarkers){
            for (child in marker.childMarkers) {
                child.setMap(null);    
                //and so on, e.g remove polylines
                marker.childMarkers = null;
            }
        }
        else {
            marker.childMarkers = new Array();    
            //load markers you show after click here
        }
    }
    

    【讨论】:

    • 是的,我做了类似的事情
    猜你喜欢
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 2019-07-10
    • 2020-02-11
    • 2017-11-28
    相关资源
    最近更新 更多