Question

Actuellement, j'ai un ensemble de marqueurs et je les regroupe comme ceci:

var markerCluster = new MarkerClusterer(map, cm_mapMarkers);

Mais j'ai aussi un ensemble de filtres que j'utilise pour définir des marqueurs visibles faux ou vrai. Malheureusement, lorsque je définis le marqueur setVisible (false), le nombre de cluster ne change pas.

J'ai donc cherché des méthodes pour faire ceci:

J'ai essayé ce qui suit:

MarkerClusterer.redraw();
MarkerClusterer.repaint();

Les deux résultent: n'a pas de méthode «repeindre» n'a pas de méthode «redessiner»

Voici un jsfiddle:

http://jsfiddle.net/tdycx/30/

Quelqu'un sait ce que je fais mal?

Merci d'avance

Était-ce utile?

La solution

J'ai réussi à le faire en utilisant MarkerClusterErerPlus et en utilisant markerCluster.setIgnoreHidden(true); and markerCluster.repaint();

Autres conseils

Le MarkerCluster n'est pas vraiment conçu pour ce genre de chose. La façon la plus simple de faire ce que vous voulez est de clearMarkers() alors addMarkers(markers) avec une nouvelle gamme de marqueurs qui correspondent à votre filtre.

Après un certain temps, j'ai trouvé une solution qui fonctionne, peut-être utile pour quelqu'un là-bas ...

Enregistrez votre marqueur et votre carte (MYMAP) en variables.

Ensuite, faire bouger tous vos marqueurs disponibles et pour aimer ceci:

if (show) {
        markerCluster.addMarker(markers[i]);

        if (markers[i].getMap == null)
            markers[i].marker.setMap(mymap);
        showing++;
    } else {

        markerCluster.removeMarker(markers[i]);

        if (markers[i].getMap != null)
            markers[i].marker.setMap(null);
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top