3

リーフレットの問題が発生しましたが、解決できません。私が知らない簡単な解決策があるかもしれません。

したがって、基本的にグループ化されたマーカーのマップを中央に配置することはそれほど難しくなく、次のように実行できます。

var markerLayer = L.featureGroup(marker)
        .addTo(map);

var bounds = markerLayer.getBounds();
map.fitBounds(bounds);

ここで、markerはマーカーの配列です。しかし、私の問題は、このコードに送信するマーカー配列情報が別のシステムによって生成されていることです。したがって、基本的に、マーカーはマップ内で離れている場合もあれば、非常に近い場合もあります。

マーカーが離れている場合、上記のコードは完全に機能し、マップを中央に配置します。ただし、マーカーが非常に近い場合 (たとえば、同じ通りにある場合)、またはマーカーが 1 つしかない場合は問題が発生します。これは、getbounds が小さすぎてリーフレットが壊れる四角形を返すためです (これはユーザーにとっても役に立ちません)。つまり、マップは基本的にそのマーカーにズームインしようとします。だから私の質問は、ズームをどのように制限するかです。たとえば、マップにマーカーしかない場合、マップにマーカーとその周りのいくつかの通りを表示したいと思います。

4

2 に答える 2

0

メソッドマップ。fitBoundsは、maxZoomというパラメーターを受け取ります。このようにして、マップ用に 1 つ、fitBounds 用に 1 つずつ、合計 2 つの maxZoom を使用できます。

于 2014-01-18T12:03:01.470 に答える