由于 h5 定位的體驗(yàn)不是很好,為了達(dá)到最佳效果,需要進(jìn)行一些優(yōu)化。
首先得考慮到 h5 可能運(yùn)行的環(huán)境,可能有以下情況:
- App 內(nèi)嵌
- 微信環(huán)境
- 瀏覽器
方案
App 內(nèi)嵌
對(duì)于在 App 內(nèi)的場(chǎng)景,推薦使用 App 提供的原生定位,體驗(yàn)最佳,所以 h5 需要與原生 App 進(jìn)行交互,交互方法就不多講,jsBridge 即可。
微信環(huán)境
如果在微信環(huán)境中,只需要引入 weixin-js-sdk,使用 wx.getLocation 即可。
瀏覽器環(huán)境
對(duì)于其他App嵌入或者瀏覽器,統(tǒng)一經(jīng)過(guò) h5 定位,為了方便我們可以直接使用高德地圖 sdk,高德地圖同時(shí)也自帶 ip 定位,前提是獲取定位超時(shí)才會(huì)使用 ip 定位。