在地图上实时显示网站访问者
Posted
技术标签:
【中文标题】在地图上实时显示网站访问者【英文标题】:Displaying website visitors on a map in real-time 【发布时间】:2011-08-18 06:17:28 【问题描述】:我想开发一个带有世界地图的网页(在 ASP.NET,C# 中),每当有人访问并登录我们公司的网站时,它就会显示弹出气泡。气泡应该实时出现,并且应该显示用户的姓名和位置。 每当用户登录我们的网站时,我们的数据库中都会为该用户提供姓名和其他个人信息。
请提出实施方法。
谢谢!
更新:
我所说的实时更新是指一个带有地图的页面,一旦任何公众访问主页,或者我们的一个客户登录到我们的网站,该页面就会被刷新。这些客户拥有我们提供的登录 ID,用于登录我们的网站,他们可以在世界任何地方。
有什么方法可以让我知道某人何时登录我们的网站,并在地图上显示用户的位置?不输入数据库中的登录信息是否可以做到这一点?
【问题讨论】:
【参考方案1】:我希望你想这样显示http://forums.digitalpoint.com/usermap.php。
我的建议是:- 使用一些网络服务,例如使用用户 IP 地址获取地理位置。这将返回 Latitude 和 Longitude 使用 freegeoip.appspot.com http://shareourideas.com/2009/08/27/iplocation/检查此 URL
使用经纬度位置,您可以在地图上添加带有气泡的图钉。 检查此 URL 以添加 pin http://code.google.com/apis/maps/documentation/javascript/overlays.html#InfoWindows
【讨论】:
我们还需要使用javascript(不仅是C#和asp.net)。【参考方案2】:我确实尝试过使用 Gmaps,但并不完全符合您的要求。但我所能做的就是从 Gmaps v2 API 获取静态图像,因为我使用的是 WinForms。但是 V3 API 应提供交互式的 javascript 内容。不知道 bing API。
【讨论】:
【参考方案3】:如果您想任意放大/缩小地图,则应使用 Google 或 Microsoft 的地图网络服务。所有这些服务都允许您在地图中的某些经度/纬度处放置一些图钉(或图像/标签),以便您可以使用它来显示气泡。
如果您可以使用固定分辨率的地图 - 例如,使用 1000x1000 像素的地图,您只能以该精度显示位置。如果这是可以接受的,那么您可以使用这种方法,因为它会更快(因为您可以在浏览器端缓存地图图像等),因为访问地图服务可能会有一些延迟。
您需要定义实时更新是什么意思?谁将访问您的网页——互联网上的普通公众或公司 n/w 上与您的服务器有良好连接的内部人员?本质上,您有两种方法可以将更新从 Web 服务器传播到浏览器 - 您可以进行轮询(从浏览器触发异步 Web 服务或定期刷新整个网页),或者您可以使用长时间运行的 HTTP 请求(又名@ 987654321@)。稍后的优点是更新可以更实时/更频繁 - ASP.NET 可用的实现很少 - 请参阅此 SO 线程:Comet implementation for ASP.NET?
【讨论】:
感谢您的回复。实时更新是指一个带有地图的页面,一旦任何公众访问主页,或者我们的一个客户登录到我们的网站,该页面就会被刷新。这些客户拥有我们提供的登录 ID,用于登录我们的网站,他们可以在世界任何地方。以上是关于在地图上实时显示网站访问者的主要内容,如果未能解决你的问题,请参考以下文章