uni-app使用百度地图在微信H5中不弹授权框问题

uni-app使用百度地图在微信H5中不弹授权框问题

最近做了一个需求,需要定位附近的店铺,但是在微信公众号中,人在上海却定位到了山东,并且发现公众号未弹窗提示授权,在浏览器中是正常的,经过和有弹窗的商城对比和查阅资料,微信7.0版本升级了对https的安全限制,在微信7.0版本及以上版本使用http协议访问定位组件会导致定位失败,另外ISO10也限制了非安全域的浏览器定位请求。


[Deprecation] getCurrentPosition() and watchPosition() no longer work on insecure origins.
To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.


uni-app使用百度地图在微信H5中不弹授权框问题_第1张图片
image.png

解决方法

1.检查自己的网站域名是不是 https 链接;
2.检查引用js的链接是不是 https 链接;
3.检查调用方法是否正确

init() {
     var map = new BMap.Map('allmap')
     var geolocation = new BMap.Geolocation()
     var gc = new BMap.Geocoder()
     let that = this
     geolocation.getCurrentPosition(function(r) {
       if (this.getStatus() == BMAP_STATUS_SUCCESS) {
         var pt = r.point
         console.log(r)
         if (pt != null) {
           var lng = r.point.lng
           var lat = r.point.lat
           console.log('您的位置:lng' + lng + ',lat' + lat)
           gc.getLocation(pt, function(rs) {
             var addComp = rs.addressComponents
             var address = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber
             var city = addComp.city
             console.log('地址', addComp)
           })
         }
       }
     })
   }

你可能感兴趣的:(uni-app使用百度地图在微信H5中不弹授权框问题)