問題タブ [leaflet.markercluster]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1694 参照

leaflet - マーカー クラスター プラグインを使用する場合の Leaflet マップ アイテムの強調表示

AngularJS アプリで Leaflet を Marker Cluster プラグインと一緒に使用しています。

マップのアイテムを選択するときは、それを強調表示する必要があります。divIcons を使用しているため、クラスを追加または削除し、アイテムがマーカーでない場合は色も設定します。

そのために、最後にクリックしたアイテムをメモリに保存して、次のアイテムが選択されたときに、前のアイテムの強調表示を解除して現在のアイテムを強調表示できるようにします。

マーカー クラスタリングがなければ、すべて問題ありません。ズームアウトして現在のマーカーのクラスターを取得し (最初に 1 つのマーカーを選択するとします)、そのクラスターにズームインすると、選択したマーカーに「マーカーで強調表示された」クラスが割り当てられません。

また、ズームインの最後にいて、クラスターがマーカーのクモの巣 (またはそれらの呼び出し方法) を表示している場合、マーカーが選択されているクラスターが閉じられている場合、クラスを設定解除できないようです。そのレイヤーの-それは未定義になります。

どうすれば問題を解決できますか?

ああ、私のマップ アイテムは新しい L.MarkerClusterGroup() として保持されます。

0 投票する
1 に答える
559 参照

leaflet - Leaflet fitBounds の奇妙な動作 (L.MarkerClusterGroup 使用時)

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

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

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

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

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

0 投票する
1 に答える
236 参照

leaflet - Leaflet で Leaflet.markercluster を使用する場合、_icon オプションと _icon.classList がありません

これを行うことで、あるレイヤーから別のレイヤーにポイントを移動する理由を誰かに説明してもらえますか:

そして、次のようにマーカー クラスを変更してみてください。

そのマーカーがマップ上の可視クラスター内に入ると、_icon が null であるというエラーが表示されますか?

それはある種の MarkerCluster バグですか、それとも何か不足していますか?

PS親クラスターを見つけようとしましたが、その中のすべてのマーカーを循環させましたが、それらのマーカーにはすべて _icon オプションがありません...

0 投票する
1 に答える
2734 参照

maps - クラスタ グループにカーソルを合わせるとポップアップ

Leaflet.markercluster を使用して作成されたクラスター グループにポップアップを追加したいのは、リーフレット マーカーにカーソルを合わせたときに表示されるポップアップと同じです。

0 投票する
1 に答える
2770 参照

javascript - マーカークラスターを使用して複数のレイヤーをクラスター化する

現在、 Leafletライブラリを使用したマップの視覚化に取り組んでいます。また、markerclusterプラグインを使用してポイントをクラスター化しています。

したがって、私の質問は次のとおりです。

3 つの異なるレイヤーに 3 つの異なるカテゴリのマーカーがあります。たとえば、レストラン、カフェ、バーのレイヤー。そして、すべてのアクティブなレイヤーを特定のクラスターに結合したいと考えています。

現時点では、エントリは個別にクラスター化されていますが、それらをまとめてクラスター化したいと考えています。

次のステップは、childMarkers に従ってクラスターを色付けすることです。たとえば、クラスターにはレストランとバーのマーカーが含まれます => 半分赤/半分緑、レストランのみ => 赤のみなど。

誰かが解決策を見つけるのを手伝ってくれることを願っています。ありがとうございました!

0 投票する
1 に答える
715 参照

javascript - Leaflet.markercluster: アニメーションが機能していません

Leaflet.markerclusterを使用すると、 exampleで素敵なアニメーションを見ることができます。次のようなアニメーションが有効になっている場合:

L.DomUtil.TRANSITIONには次の値があります: webkitTransition

アニメはまだ見てません。私がAngujarJSを使用しているのは問題ですか、それとも何か他のものですか?

0 投票する
1 に答える
695 参照

leaflet - Leaflet MarkerCluster clusterclick イベントを適切に発生させる方法

MarkerClusterGroup へのクリックをシミュレートしたいと思います。clusterclick以下の方法を使用して、MarkerClusterでイベントを発生させようとしています。

しかし、私は得る:

0 投票する
1 に答える
1696 参照

leaflet - Leaflet マーカークラスターを使用して、ズーム レベルを変更せずにクラスター化と非クラスター化を切り替えるにはどうすればよいですか?

ポイントをクラスター化するためにLeaflet.markerclusterプラグインを使用しています。

ただし、ユーザーは、クラスター化されたビューと非クラスター化されたビューを切り替える機能を求めています (基本的に、ユーザーはすべてのポイントを高倍率で表示したいと考えています)。

特定のズーム レベルでクラスタリングを無効にできることはわかっています。

ただし、さらにズームアウトしたときに、すべてを強制的に非クラスタ化するにはどうすればよいですか?