解決ios11不支持高德地圖API定位功能的方法

? ? ? ?在 iOS 11 系統(tǒng)上訪問JS API定位業(yè)務(wù)失敗怎么解決?
? ? ? ?蘋果新發(fā)的 iOS 11 操作系統(tǒng)的一大特性是對 http 形式訪問頁面的限制變得非常嚴(yán)格(相比iOS 10 和 iOS 9)。高德提供的JS API功能均支持http和https兩種協(xié)議訪問,在iOS 11操作系統(tǒng)上推薦使用https形式訪問功能頁面和接口。
? ? ? ?具體實施步驟:
1、引進(jìn)JS API文件,最好下載到本地。

HTML
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.0&key=您申請的key值"></script> 

? ? ? ?請確保進(jìn)入的JS API是1.4.1或者更高版本。v=1.4.0表示的是1.4.0版本,引入時請更新為1.4.1版本或者下載對應(yīng)代碼到本地后再引入。
2、使用定位的完整代碼如下:

//獲取用戶所在位置的經(jīng)緯度
var get_position = function(calltype,signdata,qrcodeID,codeBtnFlag){

    var map,geolocation;
    //加載地圖,調(diào)用瀏覽器定位服務(wù)
    map = new AMap.Map('container',{
        resizeEnable: true
    });
    map.plugin('AMap.Geolocation',function(){
        //geolocation = new AMap.Geolocation({
            //獲取經(jīng)緯度等待的時間
            //timeout: 4000//此為設(shè)置的超時毫秒數(shù)。若在指定時間內(nèi)未定位成功,返回超時錯誤信息“TIMEOUT”,默認(rèn)值為無窮大
        //});
        geolocation = new AMap.Geolocation();
        
        //判斷是否是ios系統(tǒng),如果是,則調(diào)用遠(yuǎn)程定位方法
        
        if (AMap.UA.ios) {
                
            //使用遠(yuǎn)程定位,見 remogeo.js
            var remoGeo = new RemoGeoLocation();

            //替換方法
            navigator.geolocation.getCurrentPosition = function() {
                return remoGeo.getCurrentPosition.apply(remoGeo,arguments);
            };

            //替換方法
            navigator.geolocation.watchPosition = function() {
                return remoGeo.watchPosition.apply(remoGeo, arguments);
            };
        }
        
        map.addControl(geolocation);
        
        //詢問是否允許獲取地理信息
        geolocation.getCurrentPosition();
        //定位成功,返回經(jīng)緯度信息
        AMap.event.addListener(geolocation,'complete', onComplete);
        //定位失敗,返回定位出錯信息
        AMap.event.addListener(geolocation,'error',onError);      
    });
    
    //解析定位結(jié)果
    function onComplete(data) {
        var qiandao_lng = data.position.getLng();
        var qiandao_lat = data.position.getLat();
        //利用經(jīng)緯度,do something
    }
    //解析定位錯誤信息
    function onError(data) {
        alert('定位失敗');
    }
}

? ? ? ?PS:要想在自己的項目中使用地圖相關(guān)功能,可通過調(diào)用官方地圖接口API,就可以使用其提供的功能,百度、騰訊、高德、谷歌等都有提供,至于使用哪一種看具體項目需求。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,057評論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,358評論 4 61
  • 6,開始客觀地接納自己 2句話1問答讓我更接納自己: 1)“如果你是一顆草莓,在櫻桃堆兒里就算低頭也是藏不住的” ...
    親愛的悅?cè)?/span>閱讀 245評論 1 2
  • 感賞女兒一放學(xué)就忙著照顧生病的媽媽,倒水拿藥,還用毛巾幫媽媽擦拭身體,拿冷毛巾放置額頭降溫,有女兒這么細(xì)心照顧,果...
    桃兒媽媽閱讀 190評論 1 8
  • 天輪渡,七七數(shù),日偽長驅(qū)蠻直入,占我中原吞江滬。 國恥碌,人人怵,上下同心堅如鑄,復(fù)我河山依如故。 名詞解析:1....
    理想者的執(zhí)念閱讀 386評論 0 8

友情鏈接更多精彩內(nèi)容