87,984
社区成员
发帖
与我相关
我的任务
分享<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>点击+拖拽 百度地图Demo</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=密钥"></script>
</head>
<body>
<div style="margin-left:25%; width:800px;height:540px;border:1px solid gray" id="map"></div>
<input id="a" type="text" value="">
</body>
<script>
var longitude = 110.302234;//经度
var latitude = 25.281519;//纬度
var accuracy = 16;
// 百度地图API功能
var map = new BMap.Map("map",accuracy);//初始化地图
//1.进入页面定位到城市(经纬度)
map.centerAndZoom(new BMap.Point(longitude,latitude),accuracy);
map.enableScrollWheelZoom(true); //允许鼠标滑动放大缩小地图
map.clearOverlays();
map.addControl(new BMap.NavigationControl()); //初始化地图控件
map.addControl(new BMap.ScaleControl()); //距离地面多少米
map.addControl(new BMap.OverviewMapControl());
//2.点击地图得到当前经纬度
map.addEventListener("click",function(e){
longitude = e.point.lng;
latitude = e.point.lat;
//3.根据经纬度添加覆盖层
if(longitude != "" && latitude != ""){
map.clearOverlays();
point = new BMap.Point(longitude,latitude);
marker = new BMap.Marker(point); // 创建标注
//marker.enableDragging(); //标记开启拖拽
map.addOverlay(marker); // 将标注添加到地图中
map.panTo(point);
var gc = new BMap.Geocoder(); //创建地理编码
gc.getLocation(point, function(rs){
showLocationInfo(point, rs);
});
};
});
/*marker = new BMap.Marker(point); // 创建标注
//4.添加标记拖拽监听()
marker.addEventListener("dragend", function(e){
var gc = new BMap.Geocoder();//创建地理编码
gc.getLocation(point, function(rs){
showLocationInfo(point, rs);
});
}); */
//封装地址
function showLocationInfo(pt, rs){
var addComp = rs.addressComponents;
mylocation = addComp.city + " " + addComp.district + " " + addComp.street + " " + addComp.streetNumber;
var addr = pt.lat + ", " + pt.lng;
var infoWindow = new BMap.InfoWindow(mylocation); //创建信息窗口对象
marker.openInfoWindow(infoWindow);
}
</script>
</html>