问题
在做一个项目的时候,需要使用高德地图进行定位,测试的时候没有问题,在微信中打开的时候,无法进行定位,进过查询资料,得知微信升级7.0做了安全限制,然后使用http的定位不能正常使用,有这种限制的还有iOS10以后的苹果系统,Chrome浏览器。
解决方法
把原来的访问连接升级为https形式的,并且是正规的SSL证书,证书链不完整也是不行的。亲测可以解决问题。
注意点(摘自知乎)
全站采用https,无论自己直接调用H5的GeoLocation 还是第三方的API,理论上都可以定位成功;(但是这个有坑。。。);
如果在页面定位之前,访问了第三方http协议的资源,无论是Js还是img,那么不幸的告诉你,定位依然会失败;当然你在访问http资源前就发起定位,是没有问题的(不过也甭想下次再去发起重新定位);