原生定位 - wap2app教程
- 部分手机不支持HTML5定位,因网络原因,非国产手机HTML5定位失败的概率更高
- 每次打开不同的M站,手机浏览器均会弹框提示定位权限,用户可能会误点击导致定位失败
如下截图是大家经常碰见的情况:
升级方案
我们在GitHub上开源了一个,该项目可以根据平台实现API的自动转换,比如在5+引擎环境下,将浏览器默认定位升级为5+原生定位,实现一套代码平滑迁移至多个平台。
目前关于定位的替换API已完善,参考plusGeolocation.js文件,该js文件判断在5+引擎环境下,将navigator.geolocation.getCurrentPosition()等方法重写为原生定位的方法,这样开发者就无需修改M站定位相关逻辑,就可以自动更换为原生定位。
- navigator.geolocation.getCurrentPosition()
- navigator.geolocation.watchPosition()
- navigator.geolocation.clearwatch()
开发者只需按照如下步骤操作,即可将浏览器的HTML5定位升级为原生定位:
- 下载plusGeolocation.js(),并上传到M站的cdn服务器上
Tips1: plusGeolocation.js 是通过重写navigator.geolocation API来升级定位功能的,因此需确保在调用HTML5定位代码之前引用plusGeolocation.js;