我想知道我的用戶來自哪裏。我遇到了兩種方法。HTML地理位置API與php IP與數據庫
PHP:
$ip=$_SERVER["REMOTE_ADDR"];
$ip_with_proxy=$_SERVER['HTTP_X_FORWARDED_FOR'];
然後IP比較經度/緯度的數據庫。
OR
HTML地理位置API(請使用JS用戶):
http://www.w3schools.com/html/html5_geolocation.asp
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
哪一個都會讓我更準確的經度/緯度?用戶方法的請求是否存在代理位置問題?
我在想我可以使用JS請求用戶地理位置,如果用戶拒絕請求,請使用IP來查找一般位置。但是我只會在JS請求方法更準確時才這樣做。我知道PHP方法依賴於我的數據庫的準確性,但JS方法通常更準確嗎?
我想要一個精確的位置相比,一般的位置。我寧願將用戶房屋或其周圍的位置與城市或國家相比。
準確度的主要區別是什麼? HTML Geolocation API從哪裏獲取數據?任何想法或意見表示讚賞。謝謝。
你的db在一段時間內會過時,最好使用在線api。 –
我也在考慮這個問題。感謝您的評論 –
IP地址永遠不會給你一個確切的位置。只要想想手機,...所以你的情況下,你會結合「詢問用戶」(並使用用戶瀏覽器的API)與回退通過在線API的ip - 我想。 – Jeff