首页 > JS专栏 > 如何使用百度地图移动标记?
2015
12-25

如何使用百度地图移动标记?

所有代码如下:

<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 {
width: 100%;
height: 100%;
margin: 0;
font-family: "微软雅黑";
font-family: "微软雅黑";
}
#allmap {
width: 100%;
height: 100%;
}
p {
margin-left: 5px;
font-size: 14px;
}
</style>
<script type="text/javascript"
src="http://api.map.baidu.com/api?v=2.0&ak=输入你的KEY"></script>
<title>百度地图添加覆盖物,拖拽覆盖物获取当前坐标</title>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
//百度地图API功能
var map = new BMap.Map("allmap");

var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
	if(this.getStatus() == BMAP_STATUS_SUCCESS){
		var mk = new BMap.Marker(r.point);

		var point = new BMap.Point(r.point.lng, r.point.lat);
		map.centerAndZoom(point, 18);

		map.addEventListener("click", function(e){
			alert('经度:'+e.point.lng+' , 纬度: '+e.point.lat);
			var now_point =  new BMap.Point(e.point.lng, e.point.lat );
			marker.setPosition(now_point);//设置覆盖物位置
		});

		var marker = new BMap.Marker(point); //创建marker对象
		marker.enableDragging(); //marker可拖拽
		//拖拽结束事件
		marker.addEventListener("dragend", function(e){
			//获取覆盖物位置
			var o_Point_now =  marker.getPosition();
			var lng = o_Point_now.lng;
			var lat = o_Point_now.lat;
		});
		map.addOverlay(marker); //在地图中添加marker

	}else {
		alert('failed'+this.getStatus());
	}        
},{enableHighAccuracy: true})

</script>

留下一个回复