如何在node.js中查找经度和纬度?

我正在从事networking分析,我们在服务器端使用node.js ,我们使用http请求(express framework)发送数据。

Requirement :必须find访问者的经纬度。

我的问题是如何findnode.js的纬度和经度? 任何框架可用?

我强烈build议在浏览器中使用HTML5地理位置API,然后将访问者位置信息发送到您的服务器 – 这比使用服务器端IP地址的地理位置更准确。 您将获得可能相当远的ISP的位置,此外,IP到位置数据库并不总是与最新的更改保持一致,所以您可能不会获得任何数据特定的IP地址。

想了解更多关于这个话题的信息,请看MaxMind,它提供了一个stream行的IP到位数据库,它发布了一些关于其数据库的统计数据:部分国家的GeoIP城市精度

下面是使用navigator.geolocation的一个很好的例子:

  • 使用Node.js实时定位服务

如果访问者通过浏览器访问您的网站,那么您是在错误的技术上提出这个问题。
Node.js是一种服务器端技术,意味着它不能直接访问用户的地理位置。

你应该问的是如何在客户端使用javascript获取地理位置,然后只需通过Ajax将这些信息发送到你的服务器。
这个问题很容易回答: http : //www.w3schools.com/html/html5_geolocation.asp 。 有一些课程图书馆可以缓解这个问题的使用。

如果你不能,不想,或不想麻烦得到信息的客户端,那么你可以尝试匹配的IP(这是什么Maxmind做的,虽然我不知道他们是否会给你的经度和latitide或只是一个城市名称)。
但是,这些并不准确,特别是如果您的访问者正在使用具有地理位置function的设备(如手机)。

Interesting Posts