百度地圖API學習總結

一、百度地圖API介紹

 

百度地圖API是可以給開發人員調用的開放API,我們可以用Javascript語言進行調用;

聽起來API這個概念很抽象,初學者想:“百度的API,我們怎麼能調用?”,其實不是這樣,我們通過一個URL地址進行引用,然後就可以調用他的API;

不需要Web服務器,只需要一個瀏覽器就能夠使用百度地圖API;

 

二、調用API的基本文件格式

 

以下爲開發百度地圖API的最基礎代碼:


  1. <html>  
  2.     <head>  
  3.         <!--引用百度地圖-->  
  4.         <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3">  
  5.         </script>  
  6.         <title>  
  7.             如何調用API  
  8.         </title>  
  9.                 <!--  
  10.         設計樣式   
  11.             container容器:佔50%大小  
  12.         -->  
  13.         <style type="text/css">  
  14.         #container{  
  15.             width:50%;  
  16.             height:50%;   
  17.         }  
  18.         </style>  
  19.     </head>  
  20.     <body>  
  21.         <div id="container"></div>  
  22.         <script type="text/javascript">  
  23.             var map = new BMap.Map("container");//在container容器中創建一個地圖,參數container爲div的id屬性;  
  24.             var point = new BMap.Point(500,500);//定位  
  25.             map.centerAndZoom(point,15);                //將point移到瀏覽器中心,並且地圖大小調整爲15;  
  26.               
  27.             <!--以後只需要在此處添加代碼即可-->  
  28.         </script>  
  29.     </body>  
  30. </html>  

 

三、常用技術


1.創建地圖: var map = new BMap.Map("divid");

2.創建座標點:var point = new BMap.Point("經度","緯度");

3.設置視圖中心點:map.centerAndZoom(point,size);

4.激活滾輪調整大小功能:map.enableScrollWheelZoom();

5.添加控件:map.addControl(new BMap.Xxx());

6.添加覆蓋物:map.addOverlay();

 


 

控件介紹

 

1.NavigationControl:縮放地圖的控件,默認在左上角;

2.OverviewMapControl:地圖的縮略圖的控件,默認在右下方;

3.ScaleControl:地圖顯示比例的控件,默認在左下方;

4.MapTypeControl:地圖類型控件,默認在右上方;

如下圖所示:

 

 

map.addControl()方法添加控件;

代碼示例:

 

  1. <html>  
  2.     <head>  
  3.         <!--引用百度地圖-->  
  4.         <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3">  
  5.         </script>  
  6.         <title>  
  7.             控件使用  
  8.         </title>  
  9.                 <!--  
  10.         設計樣式   
  11.             container容器:佔50%大小  
  12.         -->  
  13.         <style type="text/css">  
  14.         #container{  
  15.             width:50%;  
  16.             height:50%;   
  17.         }  
  18.         </style>  
  19.     </head>  
  20.     <body>  
  21.         <div id="container"></div>  
  22.         <script type="text/javascript">  
  23.             var map = new BMap.Map("container");//在container容器中創建一個地圖,參數container爲div的id屬性;  
  24.             var point = new BMap.Point(500,500);//定位  
  25.             map.centerAndZoom(point,15);                //將point移到瀏覽器中心,並且地圖大小調整爲15;  
  26.             map.addControl(new BMap.NavigationControl());  
  27.             map.addControl(new BMap.MapTypeControl());  
  28.             map.addControl(new BMap.ScaleControl());  
  29.             map.addControl(new BMap.OverviewMapControl());  
  30.         </script>  
  31.     </body>  
  32. </html>  


 

覆蓋物介紹

 

覆蓋物就是覆蓋在地圖上的某個事物;

 

1.標註:Marker

 

(1)在point處添加標註:var marker = new BMap.Marker(point);     

(2)添加覆蓋物:map.addOverlay(marker);

(3)激活標註的拖拽功能:marker.enableDragging();

(4)爲標註添加事件:marker.addEventListener("名稱",function(){

    //點擊標註後的事件

});

(5)刪除覆蓋物:map.removeOverlay(marker);

(6)銷燬標註:marker.dispose();

 

2.信息窗口:InfoWindow

 

(1)在某個特定的位置創建一個信息窗口:var infowindow = new BMap.InfoWindow("內容",{width:250,height:100,title:"hello"});

(2)在地圖中央打開信息窗口:map.openInfoWindow(infoWindow,map.getCenter());

 

3.折線:Polyline

 

(1)var polyline = new BMap.Polyline([new BMap.Point(X1,Y1),new BMap.Point(X2,Y2),new BMap.Point(X3,Y3)],{strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5});

(2)map.addOverlay(polyline);

 

  1. <html>  
  2.     <head>  
  3.         <!--引用百度地圖-->  
  4.         <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3">  
  5.         </script>  
  6.         <title>  
  7.             如何調用API  
  8.         </title>  
  9.                 <!--  
  10.         設計樣式   
  11.             container容器:佔50%大小  
  12.         -->  
  13.         <style type="text/css">  
  14.         #container{  
  15.             width:50%;  
  16.             height:50%;   
  17.         }  
  18.         </style>  
  19.     </head>  
  20.     <body>  
  21.         <div id="container"></div>  
  22.         <script type="text/javascript">  
  23.             var map = new BMap.Map("container");//在container容器中創建一個地圖,參數container爲div的id屬性;  
  24.             var point = new BMap.Point(116.404, 39.915);//定位  
  25.             map.centerAndZoom(point,15);                //將point移到瀏覽器中心,並且地圖大小調整爲15;  
  26.               
  27.             //標註  
  28.             var marker = new BMap.Marker(point);  
  29.             map.addOverlay(marker);  
  30.             marker.addEventListener("click",function(){ //點擊標註時出發事件  
  31.                 alert("您點擊了標註");  
  32.             });  
  33.             marker.enableDragging();    //標註可拖拽  
  34.               
  35.             //創建信息窗口  
  36.             var opts = {    
  37.                 width : 250,     // 信息窗口寬度    
  38.                 height: 100,     // 信息窗口高度    
  39.                 title : "Hello"  // 信息窗口標題    
  40.             }    
  41.             var infoWindow = new BMap.InfoWindow("World", opts);  // 創建信息窗口對象    
  42.             map.openInfoWindow(infoWindow, map.getCenter());      // 打開信息窗口   
  43.               
  44.             //折線  
  45.             var polyline = new BMap.Polyline([    
  46.                     new BMap.Point(116.399, 39.910),    
  47.                     new BMap.Point(116.405, 39.920),  
  48.                     new BMap.Point(117.321,40.321)    
  49.                         ],    
  50.                         {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5}  //藍色、寬度爲6  
  51.             );    
  52.             map.addOverlay(polyline);    
  53.               
  54.         </script>  
  55.     </body>  
  56. </html>  


 

 

四、常見問題

 

1.怎麼獲得我想查找的地理位置的經度和緯度?

 

http://dev.baidu.com/wiki/static/map/API/tool/creatMap/

 

2.哪裏有學習百度地圖API的示例代碼?

 

http://dev.baidu.com/wiki/static/map/API/examples/index.html



來源:http://blog.csdn.net/xiazdong/article/details/7381142

發佈了33 篇原創文章 · 獲贊 3 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章