获取定位,苹果IOS10以上不支持h5的geolocation获取不到地理位置信息解决办法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取定位,苹果IOS10以上不支持h5的geolocation获取不到地理位置信息解决办法相关的知识,希望对你有一定的参考价值。
今天开发应用,获取地理位置,最先采用H5的Geolocation的方法来获取地理位置,经过测试发现安卓的机子可以,但是ios的就是不行,一查资料才知道:10.0苹果版本需要协议为https的才可以获取到地理定位。 而后为了解决此问题,改用百度MAP来获取,具体步骤和代码如下:
1. 打开http://lbsyun.baidu.com/百度地图开放平台
2. 开发--》javascriptApi,点击获取密钥,注册获取密钥
3. 最后上完整代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你获取的AK"></script> <title>百度地图的定位</title> </head> <body> <div id="allmap" style="width: 100%;height: 500px;"></div> <script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map("allmap"); var point = new BMap.Point(108.95,34.27); map.centerAndZoom(point,12); var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function(r){console.log(r.point) if(this.getStatus() == BMAP_STATUS_SUCCESS){ var mk = new BMap.Marker(r.point); map.addOverlay(mk);//标出所在地 map.panTo(r.point);//地图中心移动 //alert(‘您的位置:‘+r.point.lng+‘,‘+r.point.lat); var point = new BMap.Point(r.point.lng,r.point.lat);//用所定位的经纬度查找所在地省市街道等信息 var gc = new BMap.Geocoder(); gc.getLocation(point, function(rs){ var addComp = rs.addressComponents; console.log(rs.address);//地址信息 alert(rs.address);//弹出所在地址 }); }else { alert(‘failed‘+this.getStatus()); } },{enableHighAccuracy: true}) </script> </body> </html>
参考资料:http://blog.csdn.net/zuoyiran520081/article/details/63255316
以上是关于获取定位,苹果IOS10以上不支持h5的geolocation获取不到地理位置信息解决办法的主要内容,如果未能解决你的问题,请参考以下文章
微信H5页面嵌入百度地图---解决手机的webKit定位,ios系统对非https网站不提供支持问题
完美解决window.navigator.geolocation.getCurrentPosition,在IOS10系统中无法定位问题