在PC端浏览器上使用百度地图调用new BMap.GeolocationControl()控件,网页是http的,但是在点击调用的时候会弹窗提示定位授权,每次点击都有,网页又不能改为https,所以请教一下各位大佬该怎么解决这个问题呢?
开始的时候想着直接换成navigator.geolocation.getCurrentPosition()去获取经纬度后手动把地图定位到这里,但是这个方法在http里的chrome浏览器是无效的,所以放弃了这个想法
在PC端浏览器上使用百度地图调用new BMap.GeolocationControl()控件,网页是http的,但是在点击调用的时候会弹窗提示定位授权,每次点击都有,网页又不能改为https,所以请教一下各位大佬该怎么解决这个问题呢?
开始的时候想着直接换成navigator.geolocation.getCurrentPosition()去获取经纬度后手动把地图定位到这里,但是这个方法在http里的chrome浏览器是无效的,所以放弃了这个想法
如果网页不能改为https,那么可以考虑使用其他的定位方式,如IP定位、WIFI定位等。这些定位方式可能不太准确,但可以提供一个大概的位置信息。可以通过调用百度地图提供的API获取位置信息,然后手动将地图定位到这个位置。
谷歌浏览器,可以尝试在地址栏中输入chrome://flags/#unsafely-treat-insecure-origin-as-secure
,将"将不安全的来源视为安全"设置为启用,这样可以允许浏览器在http网页上使用安全的定位服务,但是这种做法并不安全,因此谨慎使用。
7 回答3.7k 阅读✓ 已解决
12 回答5.5k 阅读✓ 已解决
16 回答5.9k 阅读
9 回答3.8k 阅读
7 回答4.3k 阅读✓ 已解决
10 回答3.4k 阅读
6 回答2.3k 阅读✓ 已解决
没办法,涉及隐私的必定会有弹窗。除非说用户主动修改Chrome浏览器的设置,去默认允许当前站点的授权。