Monday, May 13, 2024
79
rated 0 times [  83] [ 4]  / answers: 1 / hits: 18868  / 11 Years ago, fri, february 15, 2013, 12:00:00

i'm trying to hide/show markerClusterer when user clicks some buttons:



Here is what i'm trying to do:



    map = new google.maps.Map(document.getElementById(mappa),mapOptions);
var marker_tmp = [];
var markers_tmp = [];
$.each(json,function(index,value){
var latLng = new google.maps.LatLng(value.lat,value.lng);
var marker = new google.maps.Marker({'position': latLng});
if((value.candidato in markers_tmp)==false){
markers_tmp[value.name]=[];
}
markers_tmp[value.name].push(marker);
});
for(var name in markers_tmp){
markers[name]= new MarkerClusterer(map,markers_tmp[name]);
}


I create multiple markerClusterer each one is associated to a particular name.



So i have some buttons associated to these particular name and i need to hide/show the marker clusterer associated with that button.



/*This is the function associated to a button when it is clicked*/
function hide_show_cluster(name,visible){
var tmp_cluster = markers[name];
//call a function of markerClusterer (tmp_cluster) to hide/show it
}


I've done lots of tests but no one satisfy my request.
Can someone help me? Thanks!


More From » google-maps-markers

 Answers
6

I've been struggling the whole morning with this but fortunately I got to a solution.



First of all, make sure you have the latest MarkerClustererPlus version https://github.com/googlemaps/js-marker-clusterer



then it is very easy,



When creating the markers make sure you




set its visible flag to false.




And when creating the marker clusterer do it this way:



new MarkerClusterer(map, markers, { ignoreHidden: true });


if you want to show the clusterer just do this:



for (var it in markers) {
markers[it].setVisible(true);
}

markerCluster.repaint();


to hide the cluster:



for (var it in markers) {
markers[it].setVisible(false);
}

markerCluster.repaint();


Hope it helps, regards


[#80206] Thursday, February 14, 2013, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
carlo

Total Points: 705
Total Questions: 87
Total Answers: 101

Location: Indonesia
Member since Wed, Jul 7, 2021
3 Years ago
;