因為原生接口成功率很低新症,JS-API會優(yōu)先調(diào)用精確IP定位服務(wù),在IP定位失敗的時候响禽,嘗試使用瀏覽器原生定位接口進(jìn)行定位徒爹,如果原生定位接口也定位失敗荚醒,則返回error事件或回調(diào)error信息。定位成功之后我們會對瀏覽器定位的經(jīng)緯度結(jié)果進(jìn)行向高德坐標(biāo)的轉(zhuǎn)化隆嗅,并對所有有效定位結(jié)果融合地址信息后返回complete事件或者回調(diào)complete信息界阁。
移動端:
如果開發(fā)者開啟了sdk輔助定位,那么安卓手機上我們會優(yōu)先嘗試調(diào)用sdk的定位接口胖喳,失敗之后優(yōu)先調(diào)用瀏覽器原生定位接口進(jìn)行定位泡躯,瀏覽器定位失敗之后嘗試進(jìn)行精確IP定位,如果以上三種定位全部嘗試失敗則返回error事件或回調(diào)error信息丽焊,否則和PC端的一樣较剃,定位成功之后進(jìn)行高德坐標(biāo)轉(zhuǎn)化和地址融合。
那么問題來了:如果app項目未開啟sdk輔助定位功能呢技健?例如開發(fā)ionic2 項目
二写穴、我們用的是web定位方式即網(wǎng)絡(luò)混合定位,前提是有地圖實例雌贱,調(diào)用地圖自帶的定位插件啊送,設(shè)置
enableHighAccuracy: true, //是否使用高精度定位,默認(rèn):true 這個屬性 可開啟GPS定位帽芽。GPS定位的注意事項:
1.確認(rèn)手機帶GPS模塊并打開删掀;
2.手機上的安全軟件(例如360、安全管家或系統(tǒng)自帶的安全中心)不要限制app的定位權(quán)限导街;
例如:MIUI系統(tǒng)在:安全中心-權(quán)限管理-定位里,檢查一下是否限制了app的定位權(quán)限
3.GPS定位要在開闊地帶纤子,室內(nèi)無法接收到GPS信號搬瑰,所以不要在室內(nèi)嘗試;
4.安卓系統(tǒng)運行時間長了控硼,會有一些系統(tǒng)的因素造成的bug泽论,確認(rèn)以上三點沒問題的還不能定位的,重啟手機一下試試卡乾;
5.下載一款GPS測試軟件(GPS Test等)翼悴,測試手機gps是否正常。
二幔妨、原生定位
Native Geocoder是原生GPS定位插件鹦赎,但可能對定制系統(tǒng)支持的不太好。
例如ionic 的 Geolocation
坐標(biāo)需要轉(zhuǎn)換 待完成误堡。古话。。