Я не проверял это, но я полагаю, что вы можете добавить массив показанных маркеров внутри объекта 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
}
}