8

現在、私はマーカーのセットを持っており、次のようにそれらをクラスター化します。

var markerCluster = new MarkerClusterer(map, cm_mapMarkers);

しかし、マーカーをfalseまたはtrueに表示するために使用するフィルターのセットもあります。残念ながら、マーカーsetvisible(false)を設定しても、クラスター数は変化しません。

だから私はこれを行う方法を探しました:

私は次のことを試しました:

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

結果として:にはメソッドがありません'repaint'にはメソッドがありません'redraw'

これがJSfiddleです。

http://jsfiddle.net/tDYcX/30/

誰かが私が間違っていることを知っていますか?

前もって感謝します

4

3 に答える 3

22

私はmarkerclustererplusを使用してそれを行うことができましたmarkerCluster.setIgnoreHidden(true); and markerCluster.repaint();

于 2012-01-30T09:28:25.033 に答える
3

MarkerClustererは、実際にはそのようなもののために設計されていません。必要なことを行う最も簡単な方法は、フィルターclearMarkers()addMarkers(markers)一致するマーカーの新しい配列を使用することです。

于 2012-01-27T02:59:52.587 に答える
2

After a while of trying, I found a solution that works, maybe helpful for someone out there ...

Save your markerCluster and your map (mymap) in variables.

Then loop throuth all of your available markers and to like this:

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);
    }
于 2014-04-17T11:54:09.200 に答える