目的:
在微信公众号页面调用本地定位,完成路线导航功能
存在的坑:
经过开发测试发现,百度地图定位api兼容ios,在安卓手机上会导致浏览器定位失败从而调用ip定位,即定位所在城市(市级)
腾讯地图定位api对微信版本有要求,如图:
如图所示在微信7.0以后需要https协议,经测试发现https协议后定位api兼容安卓,但是ios会出现比较大的偏差
解决方法:
添加js判断,ios系统使用百度定位,安卓系统使用腾讯定位,然后根据坐标转换api转换为百度坐标
系统判断:
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
//ios系统
bdPositon(); //调用百度定位
} else{
//安卓和Pc 调用腾讯定位
}
百度定位:
//百度定位
function bdPositon(){
//检查浏览器是否支持地理位置获取
if (navigator.geolocation) {
//若支持地理位置获取,成功调用showPosition(),失败调用showPositionError
//var config = { enableHighAccuracy: true, ti