1

ズーム レベルがしきい値を下回っている場合に無効にしたい MarkerClusterer があります。

例: ズーム レベルは 10 で、クラスターが表示されます。しきい値は 5 であるため、ユーザーが世界を見るためにズームアウトした場合、すべてのマーカーはレンダリングされません。ただし、ユーザーが再びズームインした場合にマーカーを表示する必要があるため、マーカーをクリアしたくありません。

4

1 に答える 1

2

マーカーをクリアしたくない場合は、代わりにsetMap()を使用して、MarkerClusterが割り当てられているマップを、ユーザーが表示しているマップとは異なるマップに設定できます。

setMap()はnull有効なパラメータを取ります。

もう1つのオプションは、ユーザーに表示されない2番目のマップを作成し、そのマップにMarkerClusterを割り当てるなど、ひどいハックを行うことです。コーディングコンペに勝つことはありませんが、機能します。

次に、適切なズームレベルに戻ったら、setMap()を再度使用して、MarkerClusterをマップに戻すことができます。

Zoom_changedイベントを使用して、マップのズームが変更されたことを検出し、setMap()を適切に呼び出すことができます。

うまくいけば、これを行うために必要なのはこれだけですが、そうでない場合は、コードの一部を投稿してください。これを実現するためにコードを変更する方法について、より具体的に試みることができます。

于 2011-05-21T16:49:16.537 に答える