0

我想使用 MySQL、jQuery 和 PHP——可能是谷歌地图或我自己的带有叠加层的矢量。

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

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

感谢一些帮助。完成后,我将在这里自由发布我的代码。

4

1 回答 1

0

与其说是答案本身,不如说是一些想法。

无论您将访问者 IP 放入数据库中的任何代码都应该执行 GeoIP 查找并将result+ip address放入某种缓存中(memcache、redis、apc,如果它在单个服务器上),并为缓存的项目提供一个 TTL一会儿。

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

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

提高上述效率还有很大的空间,但它应该是一个很好的起点,并且可以避免不必要地敲击你的数据库。

对于 GeoIP 看看MaxMind,他们有一个免费的 IP 地址到使用 PHP api 的国家/城市产品。

于 2012-11-11T16:21:14.517 回答