2017-08-06 12 views
0

我正在做一個網站,我需要註冊用戶的IP地址作出一種「地理位置」的經度和緯度通過IP地址。檢測IP位置沒有第三個服務,如ipinfo

其實我使用php的geoip庫和maxmind geoipcity.dat(http://php.net/manual/en/book.geoip.php)。 我看到,對於60/70%這種方法不起作用,我的意思是它沒有找到經度和緯度和城市,但只有國家。

我不想使用第三種服務,就像我在主題標題中寫的那樣。也許你可以給我一些建議或者我在網絡上找不到的東西。

謝謝你的回覆!

回答

0

除非您可以訪問最終用戶的GPS數據,否則您必須使用第三方服務將IP地址或WIFI MAC地址轉換爲經度和緯度。

以下是2項解決您的問題的建議。

  1. 請求最終用戶通過HTML 5分享自己的GPS位置在這種情況下,網絡瀏覽器將共享座標給您(視情況而定)之前請求從最終用戶授權。您可以訪問http://ipgeo5.com獲取示例代碼。

  2. 更改另一個地理位置數據庫。如果您關注覆蓋範圍,則可以評估其他數據庫提供商。您可以訪問http://lite.ip2location.com並使用他們的IP2Location LITE數據庫,看看它是否符合您的要求。

+0

真的很感謝你。我會嘗試ip2location數據庫。 但我有一個問題。從第一種方式(ipgeo)我可以得到用戶的IP? 我用經度和緯度上傳了一個sql表中的所有城市。 我的想法是創建一個查詢,創建一個關於用戶的經度和緯度的半徑,並獲得最近的城市。這是一個好主意還是壞主意? – Stackedo

+0

更新:我試過ip2location(http://www.ip2location.com/developers/php),它的效果真的不錯! 更新2:這是一個DB9演示BIN數據庫。您可以評估IP地址從0.0.0.0到99.255.255.255,只支付我解決? x' – Stackedo

+0

@stackedo您應該從http://lite.ip2location.com註冊免費的IP2Location LITE並下載完整的DB9 BIN文件。爲了演示目的,開發人員區域中的示例文件不完整。 –