轨道地图标记不刷新
问题描述:
我试图找到正确的(或者是最好的)以下问题的解决方案:轨道地图标记不刷新
说,我有一个谷歌地图(这不是事情实际上是什么样的图)人们可以在其中创建和删除标记。任何用户都可以查看地图,并且我知道现在用户看起来正方形的边界。所以如果其他人在这个广场上创建标记,我需要立即在地图上显示它。为此,我将使用websockets。但问题不在于技术方面,而在于逻辑。将标记数据发送给用户的最佳方式是什么?我应该存储某处显示位置的当前范围吗?我不想向所有用户发送新标记,因为他们可能不需要它,我只想发送给那些看着那个广场的人。或者我必须有制片人将这些信息提供给消费者?
对不起,如果我写了令人困惑的东西,如果事情不清楚,请问我。感谢您的建议。
答
跟踪您当前连接的用户的地图范围。当他们平移地图时,请确保服务器使用这些边界进行更新。
当在服务器端添加新点时,循环遍历每个连接并检查坐标是否在这些边界内。如果是,请发送新标记。
谢谢,实际上这是我的决定之一,但是如果我有10000个用户在线,情况会好吗?我将不得不循环通过他们,并为每个人制定“如果”条件。 – tony 2012-07-09 21:23:36
@tony,你必须做你必须做的。我想如果你有10,000个用户,他们将分布在多个服务器上。无论如何,进行10,000次比较将是相当直接的。如果你必须处理非正方形或不同投影的边界,那将更加困难。 – Brad 2012-07-09 21:28:55