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