浏览器定位
前言
- 地理位置(Geolocation)是 HTML5 的重要特性之一,提供了確定用戶位置的功能,借助這個特性能夠開發基于位置信息的應用。
- 瀏覽器定位
- 高德地圖支持瀏覽器定位
- 百度地圖支持瀏覽器定位
- 騰訊地圖支持瀏覽器定位
瀏覽器定位
怎么知道瀏覽器是否具備地理位置功能?
if (navigator.geolocation) {//console.log("瀏覽器支持!");}else {// console.log("瀏覽器不支持!");}瀏覽器定位
//獲取用戶當前位置 void getCurrentPosition(onSuccess,onError,options);//持續獲取當前用戶位置 int watchCurrentPosition(onSuccess,onError,options);//watchId 為watchCurrentPosition返回的值 //取消監控 void clearWatch(watchId);詳細使用方法
https://blog.csdn.net/zyz00000000/article/details/82774543
https://www.cnblogs.com/daipianpian/p/5811204.html
高德地圖:瀏覽器定位
介紹+示例 : https://lbs.amap.com/api/javascript-api/guide/services/geolocation
高德地圖:如何提高定位成功率
- 在PC端,因為原生接口成功率很低,JS-API會優先調用精確IP定位服務,在IP定位失敗的時候,嘗試使用瀏覽器原生定位接口進行定位,如果原生定位接口也定位失敗,則返回error事件或回調error信息。
- 在移動端,如果開發者開啟了sdk輔助定位,那么安卓手機上我們會優先嘗試調用sdk的定位接口,失敗之后優先調用瀏覽器原生定位接口進行定位,瀏覽器定位失敗之后嘗試進行精確IP定位,如果以上三種定位全部嘗試失敗則返回error事件或回調error信息。
簡單來說,在PC端沒啥好辦法,在移動端可以使用SDK輔助定位。
高德地圖:開啟SDK輔助定位
貌似是自動開啟的?
高德JS API提供的瀏覽器定位接口,融合了HTML5 Geolocation定位接口、精確IP定位服務,以及安卓定位sdk定位。
高德地圖:開發文檔
https://lbs.amap.com/api/javascript-api/summary
百度地圖:瀏覽器定位
介紹 : http://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/geolocation
示例 : http://lbsyun.baidu.com/jsdemo.htm#i8_1
百度地圖:如何提高定位成功率
瀏覽器定位精度依賴瀏覽器自身特性,IP定位的精度值為城市級別。
對于安卓WebView頁面的開發者,可以結合定位SDK進行輔助定位,使用方法參見定位SDK相關章節。
簡單來說,在PC端沒啥好辦法,在移動端可以使用SDK輔助定位。
百度地圖:開啟SDK輔助定位
初始化H5控件時,設置地圖SDK:
http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/addition-func/assistant-h5
在瀏覽器中開啟SDK輔助定位:
// 開啟SDK輔助定位geolocation.enableSDKLocation();百度地圖:開發文檔
http://lbsyun.baidu.com/index.php?title=jspopular3.0
騰訊地圖:瀏覽器定位
介紹+示例 : https://lbs.qq.com/tool/component-geolocation.html
其它
高德地圖:Geolocation的定位流程以及定位失敗的原因?
https://lbs.amap.com/faq/web/javascript-api/80
瀏覽器失敗的原因
- 瀏覽器不支持原生定位接口,如IE較低版本的瀏覽器
- Chrome、火狐以及部分套殼瀏覽器接入的定位服務在國外,有較大限制,失敗率高
- 用戶禁用了定位權限,需要用戶開啟設備和瀏覽器的定位權限,并在瀏覽器彈窗中點擊“允許使用定位”選項
- 瀏覽器禁止了非安全域的定位請求,比如Chrome、IOS10已陸續禁止,這時候需要升級站點到HTTPS
- 百度地圖:請求JavaScript API v3.0的定位功能時,必須獲取用戶授權
總結
- 上一篇: 机械键盘的修理方法是什么
- 下一篇: selenium:使用已打开的chrom