в общем пошел другим путём ... 
создаю массив маркеров по id который получаю
...........
//координаты маркера
var lat = ...;
var lng = ...;
var point = new google.maps.LatLng(parseFloat(lat),parseFloat(lng));
	
//присваиваем иконке изображение (в моём случае разные) поэтому нужна переменная		
var myicon = ...;
//создаём балун для каждого маркера с различным контентом
var contentString = '<div id="balloon">....</div>';
var infowindow = new google.maps.InfoWindow({
				content: contentString
				});
//создаём сам маркер				
markers[id] = new google.maps.Marker({
				icon: myicon,
				position: point,
				map: MYMAP,
				title: ...
			});
			
//добавляем событие при клике по маркеру 			
google.maps.event.addListener(markers[id], 'click', function() {
				infowindow.open(MYMAP,markers[id]);
				});
..............
удаляю маркеры когда это нужно очень просто по тому же id по которому они были созданы
.......
markers[id].setMap(null);
.......