1
本文作者: 咲甜 | 2016-09-14 17:29 |
9月14日凌晨1点,苹果的iOS 10已经正式对外推送,相信尝鲜的用户已经更新到最新的系统。然而,如果web站没有及时支持https协议的话,当很多用户在iOS 10下访问很多网站时,会发现都无法进行正常精确定位,导致部分网站的 周边推荐服务无法正常使用。
腾讯地图开放平台技术专家通过分析发现,在iOS10 中苹果对webkit定位权限进行了修改,所有定位请求的页面必须是https协议的。在http协议下通过html5原生定位接口会返回错误,无法正常定位。通过浏览器调试控制台我们可以看http访问报错的详细信息:
接入腾讯的H5定位组件,无感支持iOS10
腾讯地图开放平台在很早就支持了https的H5定位。不管是已经支持了https协议,还是依然使用http协议的web页,只要你接入了它,对于iOS 10的定位支持是无感的,都可以完美正常定位。
而你只需要完成以下两步:
方式一:纯JS调用
第一步:引入js文件
<scarpt src="http://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js" />
第二步:创建定位对象,即可发起定位
var geolocation = new qq.maps.Geolocation("DZYBZ-73WWI-FG6GZ-5JRFR-PNVIE-4OFUL", "myapp");
geolocation.getLocation(sucCallback, errCallback);
方式二:嵌入iframe完成定位
第一步:引入定位iframe
<iframe id="geoPage" width=0 height=0 frameborder=0 style="display:none;" scrolling="no"
src="https://apis.map.qq.com/tools/geolocation?key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77&referer=myapp">
</iframe>
第二步:监听事件并完成定位
window.addEventListener('message', function(event) {
// 接收位置信息
var loc = event.data;
console.log('location', loc);
}, false);
简简单单,两步搞定。
美团外卖等大型网站已经完美接入腾讯地图开放平台开发的H5定位组件,平稳度过iOS10升级,确保客户和业务未受影响:
腾讯地图开放平台H5定位组件简介:
1 业内唯一专门针对H5环境的定位需求的解决方案
2 在微信和QQ浏览器下深度优化,显著提升定位成功率
3 多环境优化适配,完美支持原生定位,微信定位SDK,QQ定位SDK,IP定位等
4 紧跟web标准,最先支持iOS10
雷峰网原创文章,未经授权禁止转载。详情见转载须知。