在地图上实时显示网站访问者

时间:2011-08-18 06:17:28

标签: c# asp.net google-maps geolocation bing-maps

我想用一个世界地图开发一个网页(在ASP.NET,C#中),当有人访问并登录我们公司的网站时,该地图可以显示弹出的气泡。气泡应该实时出现,它应该显示用户的名称和位置。 每当用户登录我们的网站时,我们的数据库中都会为该用户提供名称和其他个人信息。

请提供实施方法。

谢谢!

更新

通过实时更新,我指的是一个包含地图的页面,一旦公众访问主页,或者我们的一个客户登录我们的网站,该页面就会刷新。这些客户拥有我们提供的登录ID以登录我们的网站,他们可以在世界任何地方。

当有人登录我们的网站并在地图上显示用户的位置时,有什么办法可以让我知道吗?是否可以在不输入数据库中的登录信息的情况下执行此操作?

3 个答案:

答案 0 :(得分:1)

我希望您能像http://forums.digitalpoint.com/usermap.php一样展示。

我的建议是: - 使用一些Web服务,比如使用用户IP地址获取地理位置。这将返回纬度经度 使用freegeoip.appspot.com http://shareourideas.com/2009/08/27/iplocation/

检查此网址

使用该纬度和多头位置,您可以在带有气泡的地图上添加图钉。 检查此URL以添加pin http://code.google.com/apis/maps/documentation/javascript/overlays.html#InfoWindows

答案 1 :(得分:0)

我确实尝试过Gmaps,尽管不完全符合您的要求。但我所能做的就是从Gmaps v2 API获取静态图像,因为我使用的是WinForms。但是V3 API应该提供交互式的javascript东西。不知道bing API。

答案 2 :(得分:0)

如果要在地图中任意缩放,则应使用Google或Microsoft的地图网络服务。所有这些服务允许您在地图中的某些经度/纬度放置一些引脚(或图像/标签),因此您可以使用它来显示气泡。

如果你对固定分辨率的地图没问题 - 例如,对于1000x1000像素的地图,你只能以这种精度显示位置。如果这是可以接受的,那么你可以采用这种方法,因为它会更快(因为你可以在浏览器端缓存地图图像等),因为访问地图服务可能会有一些滞后。

您需要定义实时更新的含义?谁将访问您的网页 - 一般公众通过互联网或一些公司内部的人与您的服务器有很好的连接?实际上,您有两种方法可以将更新从Web服务器传播到浏览器 - 您可以进行轮询(从浏览器触发异步Web服务或定期刷新整个Web页面),也可以使用长时间运行的HTTP请求(aka { {3}})。稍后的优势是更新可以更加实时/频繁 - ASP.NET几乎没有可用的实现 - 请参阅此SO线程:COMET