此文为博主原创 转载请注明出处 尊重一下笔者的劳动成果 ⑩分感谢
场景:微信7.0 苹果可以获取到定位 安卓获取不到定位
原因:微信升级7.0做了安全限制 导致使用http的定位不能正常使用
解决办法:升级https 且是正规的SSL证书 自签名的证书 证书链不完整也是不行的
注意:页面使用jssdk都需要使用https调用
微信升级7.0之前 公众号网页一直稳定的运行,升级7.0以后问题爆发 体现在使用高德地图上无法获取定位问题,打印高德地图返回的信息 提示是 Geolocation permission denied 查阅文档 说可能是以下问题导致:
- Geolocation permission denied:用户禁用了定位权限,需要用户开启设备和浏览器的定位权限,并在浏览器弹窗中点击“允许使用定位”选项。
- Geolocation permission denied:浏览器禁止了非安全域的定位请求,比如Chrome、IOS10已陆续禁止,这时候需要升级站点到HTTPS。
详细查看文档:Geolocation的定位流程以及定位失败的原因
因为手机其他浏览器开启定位都可以获取到定位 唯独在微信内置浏览器不行