<!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 {
100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
</style>
<script type="text/javascript"
src="http://api.map.baidu.com/api?v=2.0& ak=YrVbIC1cmSGdjzUC64iDbDT5C8M0wDX2">
</script>
<title>百度地图api展示</title>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
//新建三个地图上点
var points = [
{"lng": 111.322852, "lat": 23.503845, "url": "http://www.baidu.com", "id": 1, "name": "p1"},
{"lng": 111.321772, "lat": 23.503162, "url": "http://www.mi.com", "id": 2, "name": "p2"},
{"lng": 111.323784, "lat": 23.503278, "url": "http://www.csdn.com", "id": 3, "name": "p3"}
];
//创建标注点并添加到地图中
function addMarker(points) {
//循环建立标注点
for (var i = 0, pointsLen = points.length; i < pointsLen; i++) {
var point = new BMap.Point(points[i].lng, points[i].lat); //将标注点转化成地图上的点
var marker = new BMap.Marker(point); //将点转化成标注点
map.addOverlay(marker); //将标注点添加到地图上
//添加监听事件
(function () {
var thePoint = points[i];
marker.addEventListener("click",
function () {
showInfo(this, thePoint);
});
})();
}
}
function showInfo(thisMarker, point) {
//获取点的信息
var sContent =
'<ul style="margin:0 0 5px 0;padding:0.2em 0">'
+ '<li style="line-height: 26px;font-size: 15px;">'
+ '<span style=" 50px;display: inline-block;">id:</span>' + point.id + '</li>'
+ '<li style="line-height: 26px;font-size: 15px;">'
+ '<span style=" 50px;display: inline-block;">名称:</span>' + point.name + '</li>'
+ '<li style="line-height: 26px;font-size: 15px;"><span style=" 50px;display: inline-block;">查看:</span><a href="' + point.url + '">详情</a></li>'
+ '</ul>';
var infoWindow = new BMap.InfoWindow(sContent); //创建信息窗口对象
thisMarker.openInfoWindow(infoWindow); //图片加载完后重绘infoWindow
}
//创建地图
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(111.323676,23.504719), 18); // 设置中心点
map.addControl(new BMap.MapTypeControl());
map.enableScrollWheelZoom(true);
addMarker(points);
</script>