百度地圖API的學習

fmms 12年前發布 | 109K 次閱讀 API 地理信息系統GIS

我們可以進入百度API的網站學習百度地圖API:http://dev.baidu.com/wiki/map/index.php,看完這些你應該基本上會掌握了,還有一些顯示地圖中一些很神奇的效果,需要一些別人寫好的類庫,我們可以查看學習,并下載其API源代碼:http://dev.baidu.com/wiki/map/index.php?title=MapLibrary

以下是自己在學習中所寫的測試代碼,有詳細的注解,希望對大家學習有所幫助:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="viewport" content="initial"
  <meta name="Author" content="initial-scale=1.0,user-scalable=no">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <!--設置樣式,使地圖充滿整個瀏覽器窗口-->
  <style type="text/css">
   html{height:100%}
   body{height:100%;margin:0px;padding:0px}
   #container{height:100%}
   </style>
   <!--引用百度地圖的api,其中v代表版本-->
   <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
 </head>

 <body>
   <div id="container"></div><!--地圖容器-->
   <script type="text/javascript">
     //創建一個地圖實例,參數可以是元素id也可以是元素對象,其中BMap是百度地圖API里面的命名空間
     var map=new BMap.Map("container");
     var point=new BMap.Point(116.404,39.915);//創建一個坐標點,其中116表示經度,39表示緯度
    //創建地圖實例后,必須對其進行初始化,初始化后才能進行其它的操作,該方法設置中心點坐標和地圖級別
  map.centerAndZoom(point,15);
  //啟用輪滾進行放大縮小,默認為禁用
  map.enableScrollWheelZoom();
  //向地圖添加控件
  map.addControl(new BMap.NavigationControl());//平移縮放控件,默認在地圖左上方
  map.addControl(new BMap.ScaleControl());//比例尺控件,默認在地圖左下方
  map.addControl(new BMap.OverviewMapControl());//縮略圖控件,默認在地圖右下方

     //控制控件的位置,anchor:表示停靠在地圖的哪個腳,offset指定偏移量,離地圖邊界相隔多少像素
  var opts={anchor:BMAP_ANCHOR_TOP_RIGHT,offset:new BMap.Size(10,10)};
  map.addControl(new BMap.NavigationControl(opts));

  //用戶自定義控件需要通過JS中的prototype屬性繼承BMap.Control

  //地圖覆蓋物(標注、矢量圖形元素和信息窗口等)

 var marker=new BMap.Marker(point); //創建標注
  map.addOverlay(marker);//將標注添加到地圖中
  marker.enableDragging();//表示標注可拖拽,默認不可
 // 監聽標注點擊事件
  marker.addEventListener("click",function(){
   alert("你點擊了標注");
  });
  //監聽標注拖拽位置事件
  marker.addEventListener("dragend",function(e){
    alert("當前位置:"+e.point.lng+","+e.point.lat);//表示經緯度
  });

  var opts2={width:250,height:100,title:"hello"};//信息窗口
  var infoWindow=new BMap.InfoWindow("world",opts2);//創建信息窗口對象
  map.openInfoWindow(infoWindow,map.getCenter());//打開信息窗口

  var tilelayer=new BMap.TileLayer();//創建地圖層實例
  tilelayer.getTilesUrl=function(){//設置圖塊路徑
   return "layer.gif";
  };
  map.addTileLayer(tilelayer);//將圖層添加到地圖上

  //var myPushpin=new BMap.PushpinTool(map);//創建標注工具實例
  //myPushpin.addEventListener("markend",function(e){
   //   alert("你標注的位置:"+e.marker.getPoint().lng+","+e.marker.getPoint().lat);
  //});
 // myPushpin.open();//開啟標注工具

  //創建搜索實例,并將結果展現在地圖實例上
  var local=new BMap.LocalSearch(map,{
    renderOptions:{map:map,panel:"results"}//搜索結果自動添加到搜索結果列表容器中
  });
  local.search("長沙");//搜索長沙


  //下面是對地圖的一些操作,等待兩秒鐘后,它會移動到新的中心點
 // window.setTimeout(function(){
    //map.panTo(new BMap.Point(116.409,39.918));
 // },2000);


   </script>

 </body>

</html>
 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!