2013-05-02 24 views
4

我正在從事網絡分析,我們在服務器端使用node.js,我們使用http請求(express framework)發送數據。如何查找node.js中的經度和緯度?

Requirement:必須找到訪問者的經度和緯度。

我的問題是如何找到node.js的經緯度?任何框架可用?

+1

只有通過[geoIP](http://www.maxmind.com/en/geolocation_landing)或類似的服務才能運行他們的知識產權。 – Stephan 2013-05-02 10:20:20

+0

你可以用谷歌地圖api – Alex 2013-05-02 10:52:39

回答

4

我強烈建議您在瀏覽器中使用HTML5地理位置API,然後將訪問者位置信息發送到您的服務器 - 這比使用服務器端IP地址的地理位置更準確。您將獲得可能相當遙遠的ISP的位置,此外,IP到位置數據庫並不總是與最新的更改保持同步,因此您可能無法獲得任何數據特定的IP地址。

要了解更多有關這個話題看一看的MaxMind,它提供了公佈其數據庫的一些統計數據的流行的IP到位置數據庫:GeoIP City Accuracy for Selected Countries

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

+0

做這個客戶端然後用戶會看到「XX想要得到你的位置」並點擊禁止。輝煌。 – 2017-11-23 14:58:43

0

如果訪問者是通過瀏覽器訪問您的網站,然後你問了錯誤的技術問題。
Node.js是一種服務器端技術,這意味着它無法直接訪問用戶的地理位置。

你應該問的是如何在客戶端使用javascript獲取地理位置,然後通過Ajax將這些信息發送到服務器。
這個問題很容易回答:http://www.w3schools.com/html/html5_geolocation.asp。有一些課程庫可以減輕這種使用。

如果你不能,不想,或者不希望打擾獲取信息的客戶方,那麼你可以嘗試並匹配IP(這是的MaxMind做什麼,雖然我不知道,如果他們會給你經度和latitide或只是一個城市名稱)。
但是這些並不準確,特別是當您的訪問者使用具有地理位置功能的設備(例如手機)時。

+0

地理位置支持,即9+。 – karthick 2013-05-02 12:29:56

相關問題