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.
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)
})
}
}
})
}
网友评论