因?yàn)樽罱玫降陌俣鹊貓D的api挺多饲漾,所以總結(jié)一下蝙搔,以便以后用到,如果還能方便到大家考传,那么心中亦甚是歡喜吃型。
1.創(chuàng)建一個(gè)實(shí)例:
var map = new BMap.Map("allmap");//此處的allmap為ID名稱;
var map = new BMap.Map("allmap",{minZoom:4,maxZoom:8}); // 創(chuàng)建Map實(shí)例,設(shè)置地圖允許的最小/大級(jí)別
2.設(shè)初始化地圖僚楞。 如果center類型為Point時(shí)勤晚,zoom必須賦值,范圍3-19級(jí)泉褐,若調(diào)用高清底圖(針對(duì)移動(dòng)端開(kāi)發(fā))時(shí)赐写,zoom可賦值范圍為3-18級(jí)。如果center類型為字符串時(shí)膜赃,比如“北京”挺邀,zoom可以忽略,地圖將自動(dòng)根據(jù)center適配最佳zoom級(jí)別。
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
初始化地圖,設(shè)置中心點(diǎn)坐標(biāo)和地圖級(jí)別(級(jí)別數(shù)字越大地圖放大的越大)
3.開(kāi)啟鼠標(biāo)滾輪縮放
map.enableScrollWheelZoom(true); //開(kāi)啟鼠標(biāo)滾輪縮放
4.設(shè)置地圖城市悠夯,注意當(dāng)?shù)貓D初始化時(shí)的類型設(shè)置為BMAP_PERSPECTIVE_MAP(此地圖類型展示透視圖像視圖)時(shí)癌淮,需要在調(diào)用centerAndZoom之前調(diào)用此方法設(shè)置地圖所在城市。
var map = new BMap.Map(“container”, {mapType: BMAP_PERSPECTIVE_MAP}); map.setCurrentCity(“北京市”); map.centerAndZoom(new BMap.Point(116.404, 39.915), 18);
注意:初始化的坐標(biāo)應(yīng)與您設(shè)置的城市對(duì)應(yīng)沦补,否則地圖將無(wú)法正常顯示乳蓄。如果地圖初始化為BMAP_NORMAL_MAP類型,則在調(diào)用setMapType切換地圖類型時(shí)也要調(diào)用此方法.
5.創(chuàng)建坐標(biāo)
var point = new BMap.Point(116.404, 39.915); // 創(chuàng)建點(diǎn)坐標(biāo)
6.移動(dòng)地圖(根據(jù)自己寫的方法用panTo來(lái)移動(dòng)地圖到某一個(gè)坐標(biāo)上)和設(shè)置縮放夕膀。
setTimeout(function(){
map.panTo(new BMap.Point(113.262232,23.154345));
}, 2000);//兩秒后移動(dòng)到point坐標(biāo)位置
setTimeout(function(){
map.setZoom(14);
}, 2000); //兩秒后放大到14級(jí)
7.開(kāi)啟拖拽功能
setTimeout(function(){
map.enableDragging(); //兩秒后開(kāi)啟拖拽
//map.enableInertialDragging(); //兩秒后開(kāi)啟慣性拖拽
}, 2000);
disableInertialDragging()//禁用慣性拖拽
8.設(shè)置地圖顯示范圍
Bounds(sw: Point, ne: Point) | 創(chuàng)建一個(gè)包含所有給定點(diǎn)坐標(biāo)的矩形區(qū)域虚倒。其中sw表示矩形區(qū)域的西南角,參數(shù)ne表示矩形區(qū)域的東北角 |
例如:var b = new BMap.Bounds(new BMap.Point(116.027143, 39.772348),new BMap.Point(116.832025, 40.126349));
BMapLib.AreaRestriction.setBounds(map, b);//設(shè)置顯示的矩形區(qū)域
9.獲取地圖的顯示范圍
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(116.4035,39.915), 14);
var bs = map.getBounds(); //獲取可視區(qū)域
var bssw = bs.getSouthWest(); //可視區(qū)域左下角
var bsne = bs.getNorthEast(); //可視區(qū)域右上角
alert("當(dāng)前地圖可視范圍是:" + bssw.lng + "," + bssw.lat + "到" + bsne.lng + "," + bsne.lat);//(ing:經(jīng)度产舞;lat:緯度)
10.獲取兩點(diǎn)間的距離
getDistance(start: [Point],end: [Point])返回值為number單位是米魂奥;
// 百度地圖API功能
var map = new BMap.Map("allmap");
map.centerAndZoom("重慶",12); //初始化地圖,設(shè)置城市和地圖級(jí)別。
var pointA = new BMap.Point(106.486654,29.490295); // 創(chuàng)建點(diǎn)坐標(biāo)A--大渡口區(qū)
var pointB = new BMap.Point(106.581515,29.615467); // 創(chuàng)建點(diǎn)坐標(biāo)B--江北區(qū)
alert('從大渡口區(qū)到江北區(qū)的距離是:'+(map.getDistance(pointA,pointB)).toFixed(2)+' 米易猫。'); //獲取兩點(diǎn)距離,保留小數(shù)點(diǎn)后兩位
var polyline = new BMap.Polyline([pointA,pointB], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5}); //定義折線
map.addOverlay(polyline); //添加折線到地圖上
11.創(chuàng)建地圖標(biāo)注
Marker(point: Point, opts: MarkerOptions) | 創(chuàng)建一個(gè)圖像標(biāo)注實(shí)例耻煤。point參數(shù)指定了圖像標(biāo)注所在的地理位置
例:var map = new BMap.Map("allmap");
var point = new BMap.Point(116.404, 39.915);
var marker = new BMap.Marker(point);
12.創(chuàng)建一個(gè)窗口實(shí)例
InfoWindow(content: String | HTMLElement, opts: [InfoWindowOptions])//創(chuàng)建一個(gè)信息窗實(shí)例,其中content支持HTML內(nèi)容准颓。1.2版本開(kāi)始content參數(shù)支持傳入DOM節(jié)點(diǎn)哈蝇。
marker.addEventListener("click", function(){
this.openInfoWindow(infoWindow)//當(dāng)點(diǎn)擊當(dāng)前的標(biāo)注的時(shí)候打開(kāi)創(chuàng)建的信息窗口
});
給多個(gè)點(diǎn)添加信息窗口參考:http://lbsyun.baidu.com/jsdemo.htm#d0_5(百度事例)