删除动态创建的kmlLayer

时间:2014-03-05 15:24:24

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

我有一个包含嵌入式浏览器窗口的应用程序。

我希望我的应用程序创建一个kmlLayer。我可以通过以下方式动态执行此操作:

function addKmlLayer(kmlURL) {
    var kmlLayer = new google.maps.KmlLayer({ url: kmlURL });
    kmlLayer.setMap(my_map);
}

我将允许我的用户添加几个kmlLayers。

我也知道我可以使用kmlLayer.setMap(null)删除图层。

如何找到我之前的kmlLayer将其设置为null?有没有办法识别kmlLayer(ID,名称等)?

1 个答案:

答案 0 :(得分:1)

一种选择是保持对KmlLayer的全局引用

var kmlLayer = null;
function addKmlLayer(kmlURL) {
    kmlLayer = new google.maps.KmlLayer({ url: kmlURL });
    kmlLayer.setMap(my_map);
}

然后隐藏它,这将有效:

kmlLayer.setMap(null); 

可能想做:

if ((kmlLayer != null) && kmlLayer.setMap) kmlLayer.setMap(null);