I have a google map set up with markers supplied via a JSON feed. Since there are a large number of markers involved (over 600) I have used markerclusterer v3 to speed things up. Everything is working fine until I try to change the markers displayed via option buttons. I have this function assigned to radio buttons :
function activities(markerarray,mapused,actType) {
for(i in markerarray) {
if(markerarray[i].activity[actType] == null) {
markerarray[i].setMap(null);
}
else {
markerarray[i].setMap(mapused);
}
}
return markerarray;
}
This will stop the markers from displaying on the map and works fine for the actual google markers. However I don’t seem to be able to find how to update the cluster which was created when the page loaded.
I had the same problem and from what I could tell be reading the source code… you cant.
I cache all the items in the background as individual markers, filter them when required
this.markers is my cache of markers and this.markerCluster is my markerCluster object – both are global.
You cant directly edit a cluster but you can add and remove markers to to the markerCluster object using addMarker/removeMarker which in turn will remove them from a cluster and redraw it.