-1

クラスタ グループを使用しています。しかし、クラスターの拡張レベルを制限する方法。デフォルトのクラスター グループが大陸レベルで読み込まれ、クリックするとします。より深いレベルに展開し、クラスター グループを 3 回目に再度クリックすると、国レベルに展開されます。国レベルを下回らないクラスター グループの 3 つの拡張レベルを修正します。

freezeAtZoom() を試しましたが、最初のレベルからでもクラスター グループの展開が停止します。

4

1 に答える 1

0

あなたの問題はまだ少し不明です。

まず、クラスターをクリックすると、その子マーカーの範囲にズームされることに注意してください。これは、実際の子マーカーに応じて、いくつかのズーム レベルを表す場合があります。すべてのマーカーが互いに非常に接近している場合は、直接マップの最大ズーム レベルになることさえあります。そのため、クリックしたときにマップが移動する定義済みのターゲット ズーム レベルはなく、すべてそのクラスター内のマーカーに依存します。

これらのマーカーが変化せず、クリック時にクラスターが分割されないようにする正確なマップのズーム レベルを記録できる場合は、いくつかの方法でそれを実現できます。

  • マップのmaxZoomオプションをそのズーム レベルに定義して、ユーザーがそれ以上深く移動できないようにします。
  • マップの"zoomend"イベント リスナーを追加して、ユーザーが既知のズーム レベルよりも深く移動した場合に、クラスター グループをその記録されたズームに固定します。.freezeAtZoom(frozenZoom)は、現在のズーム レベルに関係なく、クラスターを固定するズーム レベルを指定する引数を取ることができることに注意してください。
  • singleMarkerMode個々のマーカーを、記録されたズーム レベル (「国レベル」) での同等のクラスターに置き換えます。スタイリングには Leaflet.markercluster オプションを使用iconCreateFunctionし、カウントをオーバーライドして、クラスターに多くのマーカーがあるかのように表示するオプションを使用します。
于 2016-08-03T09:58:31.723 に答える