2012-03-25 24 views
2

Googleマップ上でマーカーが重複しないようにするにはどうすればよいか分かりません。私の現在の設定は、Webサイトがユーザーのマップの範囲でサーバーにPOSTすることです。マップの場所/座標に一致するマーカーが返されますが、クライアント側で重複するマーカー(JavaScriptの現在のマーカーをすべてループ)を確認する方が良いか、以前に返されたマーカーをループしてサーバーからユニークなマーカーのみを返しますか?または、ループを使用するよりも良い方法がありますか?重複するGoogleマップマーカーの防止

答えて

5

あなたはassociative arrayを維持し、2つの同様のマーカーが同じハッシュを得るようにキーをハッシュします。idのようなものです。

マップにマーカーを配置する前に、そのキーのエントリが存在する場合は連想配列をチェックし、それ以外の場合はキーを追加して地図に追加します。

var markers=[]; 

function addMarkerToMap(markerId,prop1,prop2) 
{ 

    if(!markers[markerId]) 
    { 
     markers[markerId]=true; 
     //code to marker to map 
    } 

} 
+0

だから天才とシンプル。どうもありがとうございます! (深夜のプログラミングを避ける別の理由もあります) – Yuriy

+0

サーバーに依存しているので、同じハッシュロジックを実装することができます。 –

+0

@EricBridger、良い点ですが、要求の間にステートレスなサーバーが必要な場合、クライアントはもっと意味があります。 –

関連する問題