0

すべてのマップ アイテムに使用する mapItems レイヤー (MarkerClusterGroup) があります。実行中、そのレイヤーからポイントを追加および削除しています(ああ、それはGeoJSONです)。

これを使用して、すべてのポイントをマップ内にうまく収めます。

map.fitBounds(mapItems.getBounds());

ポイントを追加すると奇妙なことが起こり、レイヤーの境界が拡大します。しかし、これらのポイントを削除すると、一部の領域にポイントがなくても、そのマップの境界 (もちろん fitBounds を使用した後) は最大値と同じままです。

何が問題になる可能性がありますか?どういうわけかそのレイヤーの境界をリセットする必要がありますか? それとも、レイヤーを破棄して、そのマップにポイントをロードするたびに新しいレイヤーを作成する方が良いですか?

PS L.MarkerClusterGroup を使用せず、代わりに L.FeatureGroup を使用している場合、すべてが正常に機能することに気付きました...つまり、クラスタリングと関係があります。

4

1 に答える 1

0

OK、私の問題はこれを使用してレイヤーをクリアすることでした:

        layer.eachLayer(
            function (sublayer) {
                layer.removeLayer(sublayer);
            }
        );

そして、これは L.MarkerClusterGroup では機能しないようです。代わりに、これを使用していますが、すべて正常に動作します。

        layer.clearLayers();
于 2014-08-29T09:59:43.723 に答える