簡體   English   中英

地理位置無法在移動設備上使用,但可以在我的台式機上使用

[英]The geolocation isnt working on mobile but works on my desktop

我正在嘗試在我的項目上實現地理位置,我已經擁有api和東西,所有必需的代碼,但是在移動設備上,只要我嘗試訪問該位置,它就會顯示並在google地圖上顯示錯誤,並顯示“錯誤:地理位置服務失敗。 ” 但在我的桌面上它可以正常工作。

這里的代碼

原本希望在我的台式機上發生同樣的事情,提示要求訪問gps的權限,但沒有任何反應

@Pedro Teixeira-如果您是通過網絡服務器而不是本地HTML頁面運行此應用程序。 這就是為什么這不適合您的原因。

如果您的站點不是HTTPS或您所調用的地理位置不是HTTPS的頁面,為什么地理定位將不起作用? Chrome瀏覽器的公開意圖是棄用強大的功能,例如在非安全來源上進行地理位置定位,我們希望其他人能效仿。

從Chrome 50開始,Chrome不再支持使用HTML5地理位置API從非安全連接提供的頁面中獲取用戶的位置。 這意味着進行Geolocation API調用的頁面必須從安全上下文(例如HTTPS)提供服務。

這是一個重要的問題,因為它將直接影響需要使用地理位置API且未通過https進行投放的任何網站,但我們相信此更改對網絡上的所有用戶都是有益的。 這篇文章應該可以幫助您了解原因以及如何進行。

從什么時候開始這種改變有效? 此更改自Chrome 50(太平洋標准時間2016年4月20日下午12點)開始生效。

我們為什么要進行此更改? 位置是敏感數據! 需要HTTPS來保護用戶位置數據的隱私。 如果可以從非安全上下文中獲得用戶的位置,則網絡上的攻擊者將能夠知道該用戶的位置。 這嚴重損害了用戶隱私。

這會影響誰? 這會影響通過HTTP(非安全)提供的頁面中當前使用Geolocation API的任何頁面。 如果它們嵌入在HTTP頁面中,也會影響使用Geolocation API的HTTPS iframe。 (您將無法使用共享的HTTPS交付框架進行Polyfill。)

在Google開發者網站上的回復

如果您想使用HTML5 Geolocation API,或者您的站點已經在使用Geolocation API,請將將Geolocation API調用的頁面遷移到HTTPS,以確保在安全的上下文中使用它們。

有許多后備選項可用於獲取不受此更改影響的用戶位置,例如Google Maps Geolocation API,GeoIP(例如,還有其他基於地理的解決方案)以及用戶輸入的郵政編碼。 但是,我們強烈建議確保持續訪問地理位置的最佳途徑是轉到HTTPS。

請點擊此鏈接以獲取更多信息 https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM