之前在開發(fā)中需要使用定位功能享潜,因為只需要定位所以選擇了Android原生的定位方法。之后出現(xiàn)一系列問題峭拘,下面做詳細介紹:
1.有可能不進入系統(tǒng)定位的getLastKnownLocation回調:
用的是小米5測試機苔巨,關機開機系統(tǒng)保存的最后一次定位信息會刪除店乐,造成定位失敗
2.如果需要省市區(qū)字段信息,省市都可以正常獲取撇寞,通過系統(tǒng)原生方法getAddress獲取的address對象沒有區(qū)這一字段顿天,要獲取必須截取,但不同手機地址詳情字段有可能是address.getAddressLine(1)蔑担,也有可能是address.getAddressLine(0)牌废。小米5是0,錘子T2是1钟沛,其他手機的對應字段誰知道呢
3.IOS內置用的是高德地圖畔规,Android內置用的是Google地圖,當你在室內開發(fā)時恨统,你的手機根本就沒法獲取位置信息叁扫,你叫系統(tǒng)如何將位置信息通知給你的程序三妈。所以要從根本上解決這個問題,就要解決位置信息獲取問題莫绣。剛剛也提到了畴蒲,只有NETWORK_PROVIDER這種模式才是室內定位可靠的方式,只不過由于大陸的怪怪網(wǎng)絡对室,且大部分廠商也不會用google的服務模燥,這種定位方式默認是沒法用的。
總結:
開發(fā)需要單一的定位功能時掩宜,推薦使用高德的定位SDK蔫骂,不推薦百度。嚴禁使用原生定位牺汤。