高德地圖使用及常見問題解決

1.準(zhǔn)備工作

引入高德地圖JS API以及UI組件庫(index.html)
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.3&key=ade4e9ff095772a5158a71bfab7a631a"></script>    //引入地圖JS API    
<script src="http://webapi.amap.com/ui/1.0/main.js"></script>    //引入地圖UI組件庫
添加地圖容器,并為其指定id屬性
 <div id="map"></div>
為地圖容器設(shè)置寬高
#map {width:300px; height: 180px; }  

2.繪制地圖

創(chuàng)建地圖并設(shè)置常用參數(shù)
let map = new AMap.Map('map',{
    zoom: 16,//縮放級別
    center:[117.128255,36.662838],//地圖中心點坐標(biāo)
});
地圖常用方法
//設(shè)置地圖中心點
let position = new AMap.LngLat(117.128255,36.662838);
map.setCenter(position); 
//設(shè)置地圖縮放級別
map.setZoom(15);
//設(shè)置地圖狀態(tài)
map.setStatus({
    dragEnable: false,//是否可拖動
    keyboardEnable: false,//是否可通過鍵盤控制
    doubleClickZoom: false,//是否可雙擊放大
    zoomEnable: false,//是否可縮放
    rotateEnable: false//是否可旋轉(zhuǎn)
});
地圖點標(biāo)記
//添加一個點標(biāo)記
let marker = new AMap.Marker({
    clickable: true, //是否可點擊
    position: new AMap.LngLat(117.128255,36.662838), //標(biāo)記位置
    icon: new AMap.Icon({//自定義圖標(biāo)
        size: new AMap.Size(30, 30), //圖標(biāo)顯示大小
        image: "res/location_center.png",//圖標(biāo)路徑
        imageSize: new AMap.Size(30,30)//圖標(biāo)縮放大小
    }),
    //綁定標(biāo)記點擊事件
    marker.on('click',()=>{
    })
});
map.add(marker);
//添加多個點標(biāo)記
let markerList = [marker1, marker2, marker3];
map.add(markerList);
//移除點標(biāo)記
map.remove(marker);

3.常用UI組件

地圖UI控件
//設(shè)置DomLibrary,jQuery或者Zepto
AMapUI.setDomLibrary($);
//加載BasicControl,loadUI的路徑參數(shù)為模塊名中 'ui/' 之后的部分
AMapUI.loadUI(['control/BasicControl'], function(BasicControl) {
  //縮放控件
  map.addControl(new BasicControl.Zoom({
      position: 'lt', //left top,左上角
      showZoomNum: true //顯示zoom值
  }));
  //圖層切換控件
  map.addControl(new BasicControl.LayerSwitcher({
      position: 'rt' //right top,右上角
  }));
  //實時交通控件
  map.addControl(new BasicControl.Traffic({
      position: 'lb'//left bottom, 左下角
  }));
});
拖拽選址組件
AMapUI.loadUI(['misc/PositionPicker'], function(PositionPicker) {
    let positionPicker = new PositionPicker({
        mode:'dragMap',//拖動地圖模式
        map: map,
        iconStyle:{//自定義圖標(biāo)
            url: './res/drag.png',
            size:[30,30],  //要顯示的點大小,將縮放圖片
            ancher:[15,15],//錨點的位置,即被size縮放之后,圖片的什么位置作為選中的位置
        }
    });
    //成功回調(diào)函數(shù)
    positionPicker.on('success', function(positionResult) {
    });
    //失敗回調(diào)函數(shù)
    positionPicker.on('fail', function(positionResult) {
    });
});
//開始選址
positionPicker.start();
//停止選址
positionPicker.stop();

4.坐標(biāo)系轉(zhuǎn)換(高德地圖API提供的轉(zhuǎn)換方法不可用)

//百度坐標(biāo)轉(zhuǎn)高德坐標(biāo)(傳入經(jīng)度、緯度)
transform:function(bd_lng, bd_lat) {
    let X_PI = Math.PI * 3000.0 / 180.0;
    let x = bd_lng - 0.0065;
    let y = bd_lat - 0.006;
    let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI);
    let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI);
    let gd_lng = z * Math.cos(theta);
    let gd_lat = z * Math.sin(theta);
    return {lng: gd_lng, lat: gd_lat}
}

// 高德坐標(biāo)轉(zhuǎn)百度坐標(biāo)(傳入經(jīng)度、緯度)
transform:function(gd_lng, gd_lat) {
    let X_PI = Math.PI * 3000.0 / 180.0;
    let x = gd_lng,
    let y = gd_lat;
    let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * X_PI);
    let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * X_PI);
    let bd_lng = z * Math.cos(theta) + 0.0065;
    let bd_lat = z * Math.sin(theta) + 0.006;
    return {lat: bd_lat,lng: bd_lng};
}

5.隱藏高德地圖logo及copyright字樣

.amap-logo{
    display: none;
}

.amap-copyright{
    opacity:0;
}
最后編輯于
?著作權(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)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,296評論 4 61
  • 云韻羞隱去,再度夕陽紅。曾幾夢經(jīng)有,隨緣此時生。 復(fù)帖
    一片綠芽閱讀 165評論 0 0
  • 過年了,按照習(xí)俗得買碗筷。 家家悅今年是不進(jìn)碗了。所以打算去銀座。 不知道怎么挑選,所以只好選靠譜的地方了。 小時...
    輞水淪漣閱讀 356評論 1 3
  • 咨詢電話:0317-5511775、手機(jī):18833785700、17331768889查看更多聲測管車間生產(chǎn)視頻...
    shengceugan閱讀 1,389評論 0 0
  • 別人工作忙的沒時間,你信奉魯迅先生“時間就是海綿的水,只要擠就會有”,所以你在看盤;別人下班了,看書學(xué)習(xí),你在看盤...
    淡定螞蟻閱讀 562評論 0 0

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