获取定位,苹果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>
复制代码

 

posted @   岁月淡忘了谁  阅读(953)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示