2

このページでhttps://developers.google.com/maps/articles/toomanymarkers

これが可能な最も簡単なクラスタリングであると述べていますが、これに対するクライアント側のソリューションが見つかりません。Googleマップマーカーのグリッドベースのクラスタリングの無料のオープンソース、クライアント側ソリューションを知っている人はいますか? MarkerClusterer は必要ありません。

見つからなかったので、独自のソリューションのコーディングを開始しました。最初の明らかな要求は、マップにロードされた少なくとも 1000 個のマーカーに対して高速でなければならないということです。ズームイン、アウト、移動などのたびに、クラスタリングの手順/機能が繰り返されます。グリッド ブロックはカスタマイズ可能で、デフォルト値は 50*50 ピクセルです。

下の画像は、結果がどのように見えるかを示しています。

アルゴリズムに問題があります。これを達成するために考えられるのは、各グリッドのすべてのマーカーを繰り返し処理し、境界内にあるかどうかを尋ねてから、グリッド ++ の配列を増やすことだけです。これは明らかにそのようにはできません。すべてのマーカーを 1 回反復するだけでよいハッシュまたは何かが必要であり、特定のマーカーがどのグリッドに属しているかがわかります。

誰かが私が求めているアルゴリズムのヒントを教えてくれることを願っています。ありがとうございました !ここに画像の説明を入力

4

2 に答える 2

0

ジオハッシュまたは空間充填曲線を使用して、次元を削減し、マーカーを並べ替えてハッシュすることができます。サーバー側では、ポイントと空間インデックス データ構造を使用できますが、ジオハッシュを手動で計算することもできます。xkcd インターネット マップ コミックとヒルベルト曲線を探して、それがどのように機能するかを確認してください。

于 2012-08-09T22:13:10.023 に答える