2012-03-25 62 views
2

我不确定在Google地图上避免重复标记的最佳方法。我目前的设置是通过用户的地图边界将网站发布到服务器。返回的匹配地图位置/坐标的标记,但我决定是否更好地检查客户端上的重复标记(通过JavaScript中的所有当前标记进行循环)还是只通过循环返回先前返回的标记从服务器返回唯一标记?或者,也许有更好的方式,而不是使用循环?防止重复Google地图标记

回答

5

您保留associative array并以某种方式散列密钥,以便两个相似的标记获得相同的散列,如id。

现在,在将标记放入地图之前,如果该关键字存在条目,则检查关联数组,如果没有做任何其他添加键并将其添加到地图中。

var markers=[]; 

function addMarkerToMap(markerId,prop1,prop2) 
{ 

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

} 
+0

所以天才和简单。非常感谢! (也是避免深夜编程的另一个原因) – Yuriy 2012-03-25 07:20:00

+0

由于您可以在那里执行相同的哈希逻辑,因此可能会通过减少带宽来提高性能。 – 2012-03-25 12:59:51

+0

@EricBridger,不错,尽管如果你希望在请求之间使用无状态服务器,客户端会更有意义。 – 2015-08-04 14:15:07