解決window.navigator.geolocation.getCurrentPosition在IOS10系統中無法進行地理定位問題

https://developer.mozilla.org/zh-CN/docs/Web/API/Geolocation/getCurrentPosition

https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only

 

發現手機上原來可以獲取到的物理地址現在不能獲取了,找了w3school的代碼發現是可以的,查看鏈接的文章後懷疑是http不能用了,應該用https的問題。

 

結果如下:

IOS也有類似問題,在IOS10推出就已存在。

具體的原因也說的比較明白:

  在IOS 10中,蘋果對webkit定位權限進行了修改,所有定位請求的頁面必須是https協議的。如果是非https網頁,在http協議下通過html5原生定位接口會返回錯誤,
  也就是無法正常定位到用戶的具體位置,而已經支持https的網站則不會受影響。

基本網上有兩種解決方案:

1、將網站的http設置爲Https。

2、通過第三方解決,即通過調用百度地圖或者騰訊地圖來獲取地理位置

文章鏈接地址 http://blog.csdn.net/for12/article/details/52803787

 

使用第三方解決時,在使用百度API去獲取地理位置的時候發現和真實的經緯度又有所偏差,原來百度地圖對地理位置又進行了二次加密,又是一個坑。

而第一個方案,升級網站爲https是個長期規劃的過程(鬼才知道有多少個坑在裏面),所以就需要找一個比較能短時間解決問題的方案。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章