獲取定位,蘋果IOS10以上不支持h5的geolocation獲取不到地理位置信息解決辦法

今天開發應用,獲取地理位置,最早採用H5的Geolocation的方法來獲取地理位置,通過測試發現安卓的機子能夠,可是IOS的就是不行,一查資料才知道:10.0蘋果版本須要協議爲https的才能夠獲取到地理定位。 然後爲了解決此問題,改用百度MAP來獲取,具體步驟和代碼以下:javascript

1. 打開http://lbsyun.baidu.com/百度地圖開放平臺html

2. 開發--》javascriptApi,點擊獲取密鑰,註冊獲取密鑰java

3. 最後上完整代碼api

<!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測試

相關文章
相關標籤/搜索