4 回答

TA貢獻1851條經驗 獲得超5個贊
您可以嘗試使用地理定位 API 獲取用戶位置,并使用用戶的 IP 地址進行回退,以防 API 在用戶的環境中不起作用。
const success = (position) => {
// use position
};
const fallback = () => {
// try getting it via the user's IP
}
navigator.geolocation.getCurrentPosition(success, fallback);
當然,這完全取決于您需要多少精度。IP 地址本地化精度不高。

TA貢獻2019條經驗 獲得超9個贊
要在 Web 客戶端上查找用戶的地理位置,您可以使用HTML Geolocation API和Google Geolocation(請參閱 stackoverflow 上的這個問題)。但是總是需要獲得用戶的許可才能在瀏覽器上知道他們的位置(瀏覽器位置權限)。如果用戶不允許,Geolocation api 將不會提供任何結果。
盡管允許用戶使用,但與移動設備(使用內置 GPS)不同,計算機上運行的 Web 瀏覽器所產生的某些地理位置不會精確或什至不接近(沒有內置 GPS)。如果用戶使用 VPN 或代理,找到精確的地理位置也將是麻煩的。
所以總結一下,我們無法得到;
每個用戶的地理位置未經他們的許可
100% 準確度,無需在其 Web 訪問設備上使用本機 GPS,并且在使用 vpn 時,代理正在使用中。
添加回答
舉報