我有google maps api的JS代码。 当我点击标记时,我会显示更多标记。 当我点击这些标记时,我会显示更多标记...依此类推 我通过折线连接所有这些,结果结构看起来像蜘蛛图。 当我点击任何标记agian时,我想隐藏它创建的标记和折线。 如何为每个父标记创建并保留对eventlistener的递归调用内部形成的这些折线和标记的引用,以便稍后我可以执行setMap(null);
答案 0 :(得分:0)
我还没有测试过,但我相信你可以在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
}
}