因此,我希望能夠在登錄到我的網站的主頁時查找用戶的位置(即使僅限於城市/城鎮級別)。我想這不是不可能的,因爲Google似乎在登錄主頁時會這樣做,它似乎會將搜索結果轉向您所在的區域等。如何在網站訪問期間查找用戶的位置?
我能看到什麼能夠做到這一點?
因此,我希望能夠在登錄到我的網站的主頁時查找用戶的位置(即使僅限於城市/城鎮級別)。我想這不是不可能的,因爲Google似乎在登錄主頁時會這樣做,它似乎會將搜索結果轉向您所在的區域等。如何在網站訪問期間查找用戶的位置?
我能看到什麼能夠做到這一點?
您可以使用GeoIP位置服務,他們有不同級別的準確性。也可能有其他IP位置數據庫提供商。
另一種選擇是嘗試使用HTML5位置服務,如http://html5demos.com/geo和http://dev.w3.org/geo/api/spec-source.html。
您需要使用IP地理位置/協同定位API,例如this one等等。 This one擁有免費服務,只需註冊。
您還可以使用地理位置代碼信息下載數據庫。這將工作到一定的分辨率,但數據庫代表一個靜態快照和現實可能會隨着時間的推移顯着。 Here is a freely available CSV文件,可以讓你開始在本地數據庫的一面。 CSV文件(有點舊,最近一次更新爲2009年8月)包含59,000個條目。
您可以a)使用在線服務查找位置 - 許多都有api,或b)您可以下載的網絡中有大量的數據庫。根據您需要的分辨率,您可能需要付費。但是國家的決議當然是免費的。嘗試使用谷歌搜索「地理IP」或類似的。
如果您不關心超精確的精度,並且您不想讓用戶警惕請求他們訪問他們的位置的權限,那麼您可以使用類似FreeGeoIP的東西。我寫了一個使用這個的小jQuery插件。請參閱Locaternator。也支持jsonp
請求,因此您可以從任何網站使用它,包括僅用於靜態html的網站。
您可以在HTML5中使用navigator.geolocation.getCurrentPosition
。它將是合理的跨平臺,您可以將其構建到網頁中,並將其報告回數據庫。 見
http://html5demos.com/geo
http://www.w3.org/TR/geolocation-API/
http://diveintohtml5.info/geolocation.html
+1使用HTML5。令人驚歎 – slandau 2011-04-01 14:53:40
我會推薦保羅的答案,但這是你的電話,我想。當互聯網上的一半人不支持HTML5時,依靠HTML5是很冒險的。 – jhocking 2011-04-01 15:20:14