javascript学习之百度地图api调用

Imagem de capa

功能

已实现功能

未实现功能

代码

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
	<style type="text/css">
	body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"FangSong";}
	</style>
	<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=GAl1mcNmnu1KHGWLAq4CD8IG7Gjz18n9"></script>
	<title>分类地图</title>
</head>
<body>
	<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
	// 百度地图API功能
	var map = new BMap.Map("allmap");
	var center = new BMap.Point(116.404, 39.915);
	map.centerAndZoom(center, 15);
    map.enableScrollWheelZoom();
	var data_info = [[108.9396,34.2762,
	"<h4 style='margin:0 0 0px 0;padding:0.1em 0'>洒金桥</h4>" + 
	"<img style='float:right;margin:2px' id='imgDemo' src='http://img.mp.itc.cn/upload/20160518/922c9d68d1d443d58ab38f0952b6ebeb_th.jpg' width='100' height='75' />" + 
	"<p style='margin:0;line-height:1.5;font-size:10px;text-indent:0em'><b>标签:</b>美食街</p>"+
	"<p style='margin:0;line-height:1.5;font-size:10px;text-indent:0em'><b>评分:</b>无</p>"+
	"<p style='margin:0;line-height:1.5;font-size:10px;text-indent:0em'><b>简介:</b>天安门坐落在中国北京市中心,故宫的南侧,与天安门广场隔长安街相望,是清朝皇城的大门...</p>"],
					 [116.406605,39.921585,"地址:北京市东城区东华门大街"],
					 [116.412222,39.912345,"地址:北京市东城区正义路甲5号"]
					];
	var opts = {
				width : 200,     // 信息窗口宽度
				height: 150,     // 信息窗口高度
				enableMessage:true//设置允许信息窗发送短息
			   };
			   

    //创建检索信息窗口对象
	for(var i=0;i<data_info.length;i++){
	    var pt = new BMap.Point(data_info[i][0],data_info[i][1]);
		var marker = new BMap.Marker(pt);  // 创建标注
		var content = data_info[i][2];
		map.addOverlay(marker);               // 将标注添加到地图中
		addClickHandler(content,marker);
	}
	function addClickHandler(content,marker){
		marker.addEventListener("click",function(e){
			openInfo(content,e)}
		);
	}
	function openInfo(content,e){
		var p = e.target;
		var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
		var infoWindow = new BMap.InfoWindow(content,opts);  // 创建信息窗口对象 
		map.openInfoWindow(infoWindow,point); //开启信息窗口
	}
	//添加城市控件
	var size = new BMap.Size(10, 20);
	map.addControl(new BMap.CityListControl({
    anchor: BMAP_ANCHOR_TOP_LEFT,
    offset: size,
    // 切换城市之间事件
    // onChangeBefore: function(){
    //    alert('before');
    // },
    // 切换城市之后事件
    // onChangeAfter:function(){
    //   alert('after');
    // }
    }));
	//根据浏览器定位
	var geolocation = new BMap.Geolocation();
	geolocation.getCurrentPosition(function(r){
		if(this.getStatus() == BMAP_STATUS_SUCCESS){
			var mk = new BMap.Marker(r.point);
			map.addOverlay(mk);
			map.panTo(r.point);
			alert('您的位置:'+r.point.lng+','+r.point.lat);
		}
		else {
			alert('failed'+this.getStatus());
		}        
	},{enableHighAccuracy: true});
</script>

参考资料

[1]. 百度地图api示例