0

添加后,我在从地图中删除融合表图层时遇到了一些问题。我想修改我的 addRoute 函数(如下),以便在将新图层添加到地图之前删除任何现有的融合表图层。在此先感谢您的帮助!

function addRoute() {            
        var route = document.getElementById("route").value;
        var layer = new google.maps.FusionTablesLayer({
            query:
            {
                name: 'fusionLayer',
                select: 'name',
                from: '1I6lehOOrJJ-BkPznjdiIDnr0o9J8EqAnu73f6Ic',
                where: "name = '" + route + "'"
            }
        });            
        map.loadFromFusionTables(layer);
    }
4

2 回答 2

7

看起来您可能正在使用 gmap3.js ("loadFromFusionTables")

如果您在“addRoute”函数之外保留对图层的引用,则可以将其“map”属性设置为 null 以将其从地图中删除:

layer.setMap(null);

在谷歌地图 API v3 中。或者您可以在不破坏和重新创建图层的情况下更改路线:

var route = document.getElementById("route").value;
layer.setOptions({query:
        {
            name: 'fusionLayer',
            select: 'name',
            from: '1I6lehOOrJJ-BkPznjdiIDnr0o9J8EqAnu73f6Ic',
            where: "name = '" + route + "'"
        }})
于 2013-03-28T16:49:53.553 回答
1

谢谢,这很有帮助。我最终改变了一点:

for (var i = 0; i < map.layers.length; i++) {
   map.layers[i].setMap(null);                    
}

这将删除所有图层(包括我一直在努力的 FusionTablesLayer)

于 2013-03-28T19:48:03.783 回答