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