我想使用MySQL,jQuery和PHP - 可能是Google地图或我自己的带叠加的矢量。
我正在尝试做的演示:http://www2.clustrmaps.com/counter/maps.php?url=http://clustrmaps.com
我有一个数据库,每秒更新大约200条记录,显示访问者的IP。我想知道是否有一种方法可以将其显示在地图上 - 我在想:刷新页面并每1秒获取最新的数据库结果。然后使用这些50条左右的记录,使用某种API IP匹配器,然后将它们放在地图上的坐标中?有更简单的方法吗?
感谢一些帮助。一旦完成,我将在这里免费发布我的代码。
答案 0 :(得分:0)
本身不是一个答案,而是一些想法。
无论您将访问者IP放在数据库中的代码是什么,都应该进行GeoIP查找并将result
+ ip address
放入某种缓存中(memcache,redis,apc,如果它在单个服务器),并为缓存项目提供几分钟的TTL。
如果您只使用PHP,那么在服务器上有一个端点,它通过读取缓存中的项目来返回一个lat / lons数组。
在浏览器中,每隔x秒向端点发送一个请求,并在地图上绘制项目。
有很大的空间使上述内容更有效率,但它应该是一个很好的起点,并且可以避免不必要的锤击你的数据库。
对于GeoIP,请查看MaxMind,他们使用PHP api为国家/城市产品提供免费IP地址。