代码
<!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:"微软雅黑";}
#l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;}
#r-result{height:100%;width:20%;float:left;}
</style>
<script src="js/jquery-1.8.0.min.js"></script>
<!--key自己去百度地图申请-->
<script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script>
<title>添加多个标注点</title>
</head>
<body>
<div><input id="text" disabled="disabled"/> <button id="btn1">选择覆盖物坐标</button></div>
<div style="width:697px;height:550px;border:#ccc solid 1px;" id="allmap"></div>
<div><button id="btn2" >提交</button></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("allmap");
var point = new BMap.Point(125.331212,43.892556);
map.centerAndZoom(point, 12);
// 编写自定义函数,创建标注
function addMarker(point){
//清除覆盖物
map.clearOverlays();
var marker = new BMap.Marker(point);
map.addOverlay(marker);
marker.addEventListener("click",getAttr);
function getAttr(e){
var p = marker.getPosition(); //获取marker的位置
alert("marker的位置是" + p.lng + "," + p.lat);
//阻止冒泡事件
e.domEvent.stopPropagation();
}
//点击右键删除标记点
marker.addEventListener("rightclick", function (e) {
if(confirm('确定要删除吗')==true){
map.clearOverlays();
return true;
}else{
return false;
}
});
}
//单击获取点击的经纬度
var x;
var y;
map.addEventListener("click",function(e){
var point = new BMap.Point(e.point.lng,e.point.lat);
addMarker(point);
x = e.point.lng;
y = e.point.lat;
console.log(e.point.lng + "," + e.point.lat);
});
$("#btn1").toggle(
function(){
$("#allmap").css("display","block");
$("#btn2").css("display","block");
$("#text").val("");
},
function(){
$("#allmap").css("display","none");
$("#btn2").css("display","none");
$("#text").val("");
}
);
$("#btn2").click(
function(){
if(x == undefined || y == undefined){
alert("请选择覆盖物");
return;
}
$("#btn1").click();
$("#text").val("x="+x +";y="+y);
}
)
</script>
效果图
