我如何制作一个显示我网站上所有人的实时地图程序?

时间:2012-11-11 16:01:28

标签: php jquery html mysql maps

我想使用MySQL,jQuery和PHP - 可能是Google地图或我自己的带叠加的矢量。

我正在尝试做的演示:http://www2.clustrmaps.com/counter/maps.php?url=http://clustrmaps.com

我有一个数据库,每秒更新大约200条记录,显示访问者的IP。我想知道是否有一种方法可以将其显示在地图上 - 我在想:刷新页面并每1秒获取最新的数据库结果。然后使用这些50条左右的记录,使用某种API IP匹配器,然后将它们放在地图上的坐标中?有更简单的方法吗?

感谢一些帮助。一旦完成,我将在这里免费发布我的代码。

1 个答案:

答案 0 :(得分:0)

本身不是一个答案,而是一些想法。

无论您将访问者IP放在数据库中的代码是什么,都应该进行GeoIP查找并将result + ip address放入某种缓存中(memcache,redis,apc,如果它在单个服务器),并为缓存项目提供几分钟的TTL。

如果您只使用PHP,那么在服务器上有一个端点,它通过读取缓存中的项目来返回一个lat / lons数组。

在浏览器中,每隔x秒向端点发送一个请求,并在地图上绘制项目。

有很大的空间使上述内容更有效率,但它应该是一个很好的起点,并且可以避免不必要的锤击你的数据库。

对于GeoIP,请查看MaxMind,他们使用PHP api为国家/城市产品提供免费IP地址。