浏览器定位
前言
- 地理位置(Geolocation)是 HTML5 的重要特性之一,提供了確定用戶(hù)位置的功能,借助這個(gè)特性能夠開(kāi)發(fā)基于位置信息的應(yīng)用。
- 瀏覽器定位
- 高德地圖支持瀏覽器定位
- 百度地圖支持瀏覽器定位
- 騰訊地圖支持瀏覽器定位
瀏覽器定位
怎么知道瀏覽器是否具備地理位置功能?
if (navigator.geolocation) {//console.log("瀏覽器支持!");}else {// console.log("瀏覽器不支持!");}瀏覽器定位
//獲取用戶(hù)當(dāng)前位置 void getCurrentPosition(onSuccess,onError,options);//持續(xù)獲取當(dāng)前用戶(hù)位置 int watchCurrentPosition(onSuccess,onError,options);//watchId 為watchCurrentPosition返回的值 //取消監(jiān)控 void clearWatch(watchId);詳細(xì)使用方法
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端,因?yàn)樵涌诔晒β屎艿?#xff0c;JS-API會(huì)優(yōu)先調(diào)用精確IP定位服務(wù),在IP定位失敗的時(shí)候,嘗試使用瀏覽器原生定位接口進(jìn)行定位,如果原生定位接口也定位失敗,則返回error事件或回調(diào)error信息。
- 在移動(dòng)端,如果開(kāi)發(fā)者開(kāi)啟了sdk輔助定位,那么安卓手機(jī)上我們會(huì)優(yōu)先嘗試調(diào)用sdk的定位接口,失敗之后優(yōu)先調(diào)用瀏覽器原生定位接口進(jìn)行定位,瀏覽器定位失敗之后嘗試進(jìn)行精確IP定位,如果以上三種定位全部嘗試失敗則返回error事件或回調(diào)error信息。
簡(jiǎn)單來(lái)說(shuō),在PC端沒(méi)啥好辦法,在移動(dòng)端可以使用SDK輔助定位。
高德地圖:開(kāi)啟SDK輔助定位
貌似是自動(dòng)開(kāi)啟的?
高德JS API提供的瀏覽器定位接口,融合了HTML5 Geolocation定位接口、精確IP定位服務(wù),以及安卓定位sdk定位。
高德地圖:開(kāi)發(fā)文檔
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
百度地圖:如何提高定位成功率
瀏覽器定位精度依賴(lài)瀏覽器自身特性,IP定位的精度值為城市級(jí)別。
對(duì)于安卓WebView頁(yè)面的開(kāi)發(fā)者,可以結(jié)合定位SDK進(jìn)行輔助定位,使用方法參見(jiàn)定位SDK相關(guān)章節(jié)。
簡(jiǎn)單來(lái)說(shuō),在PC端沒(méi)啥好辦法,在移動(dòng)端可以使用SDK輔助定位。
百度地圖:開(kāi)啟SDK輔助定位
初始化H5控件時(shí),設(shè)置地圖SDK:
http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/addition-func/assistant-h5
在瀏覽器中開(kāi)啟SDK輔助定位:
// 開(kāi)啟SDK輔助定位geolocation.enableSDKLocation();百度地圖:開(kāi)發(fā)文檔
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、火狐以及部分套殼瀏覽器接入的定位服務(wù)在國(guó)外,有較大限制,失敗率高
- 用戶(hù)禁用了定位權(quán)限,需要用戶(hù)開(kāi)啟設(shè)備和瀏覽器的定位權(quán)限,并在瀏覽器彈窗中點(diǎn)擊“允許使用定位”選項(xiàng)
- 瀏覽器禁止了非安全域的定位請(qǐng)求,比如Chrome、IOS10已陸續(xù)禁止,這時(shí)候需要升級(jí)站點(diǎn)到HTTPS
- 百度地圖:請(qǐng)求JavaScript API v3.0的定位功能時(shí),必須獲取用戶(hù)授權(quán)
總結(jié)
- 上一篇: 机械键盘的修理方法是什么
- 下一篇: selenium:使用已打开的chrom