百度地圖 api

首先在百度開發者中心申請akjavascript

在頁面head中引用必要的css樣式和js腳本css

<script type="text/javascript" src="http://api.map.baidu.com/api?ak=我的申請的AK&v=2.0&services=false"></script>
<link href="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>

地圖展現頁面,具體的功能已經註釋 java

<body>
	<div id="content" class="content">
		<input type="text" value="" id="keyword" /> <input type="button"
			name="" id="" value="查詢" onclick="search()" />
		<div style="width: 600px; height: 500px; border: 0px solid gray"
			id="container"></div>
		<p id="tx"></p>
		<script type="text/javascript">
			//建立Map實例
			var map = new BMap.Map("container");
			var point = new BMap.Point(116.404, 39.915);
			//設置中心點
			map.centerAndZoom(point, 11);
			map.setCurrentCity("北京");
			//添加鼠標滾動縮放
			map.enableScrollWheelZoom();

			//添加縮略圖控件
			map.addControl(new BMap.OverviewMapControl({
				isOpen : false,
				anchor : BMAP_ANCHOR_BOTTOM_RIGHT
			}));
			//添加縮放平移控件
			map.addControl(new BMap.NavigationControl());
			//添加比例尺控件
			map.addControl(new BMap.ScaleControl());
			//添加地圖類型控件
			map.addControl(new BMap.MapTypeControl());

			var cr = new BMap.CopyrightControl({
				anchor : BMAP_ANCHOR_TOP_RIGHT
			});
			//設置版權控件位置
			var bs = map.getBounds();
			//返回地圖可視區域
			cr.addCopyright({
				id : 1,
				content : "<a href='#' style='font-size:16px;'>版權控件</a>",
				bounds : bs
			})
			//添加版權控件
			map.addControl(cr);
			//全景控件
			map.addControl(new BMap.PanoramaControl());
			//是否顯示路況提示面板
			var ctrl = new BMapLib.TrafficControl({
				showPanel : false
			});
			ctrl.setAnchor(BMAP_ANCHOR_BOTTOM_RIGHT);
			map.addControl(ctrl);
			//圓形覆蓋物
			var circle = new BMap.Circle(new BMap.Point(116.404, 39.915), 1000,
					{
						fillColor : "red"
					});
			map.addOverlay(circle);

			//設置標註的圖標
			//var icon = new BMap.Icon("map-marker-icon.png",new BMap.Size(50,50));
			// 建立標註
			var marker = new BMap.Marker(new BMap.Point(116.404, 39.915));
			//把標註添加到地圖上
			map.addOverlay(marker);
			//信息窗口
			var content = "<table>";
			content = content + "<tr><td> 地點:北京市區</td></tr>";
			content = content + "<tr><td> 時間:2016-1-9</td></tr>";
			content += "</table>";
			var infowindow = new BMap.InfoWindow(content);
			marker.addEventListener("mouseover", function() {
				this.openInfoWindow(infowindow);
			});
			marker.addEventListener("mouseout", function() {
				this.closeInfoWindow();
			});
			//點擊地圖,獲取經緯度座標
			map.addEventListener("click", function(e) {
				document.getElementById("tx").innerHTML = "經度座標:" + e.point.lng
						+ "  緯度座標:" + e.point.lat;
			});

			//關鍵字搜索
			function search() {
				var keyword = document.getElementById("keyword").value;
				var local = new BMap.LocalSearch(map, {
					renderOptions : {
						map : map
					}
				});
				local.search(keyword);
			}
		</script>
	</div>
</body>

實現效果圖以下:api

 

按照慣例,最後附一個百度在線api:http://developer.baidu.com/map/jsdemo.htm#i1_1this

其實,每一個新功能經過api都有詳細的demo,因此好的api事半功倍spa

相關文章
相關標籤/搜索