gmaps从地图中删除FusionTablesLayer

时间:2013-03-28 16:00:31

标签: google-maps google-fusion-tables removeall

在添加融合表图层后,我在移动融合表图层时遇到了一些问题。我想修改我的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);
    }

2 个答案:

答案 0 :(得分:7)

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

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

layer.setMap(null);
Google Maps API v3中的

。或者您可以在不破坏和重新创建图层的情况下更改路径:

var route = document.getElementById("route").value;
layer.setOptions({query:
        {
            name: 'fusionLayer',
            select: 'name',
            from: '1I6lehOOrJJ-BkPznjdiIDnr0o9J8EqAnu73f6Ic',
            where: "name = '" + route + "'"
        }})

答案 1 :(得分:1)

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

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

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