怎么做才可以把百度地图实现点击后拖拽还可以获取地址?
<!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>以上是我的代码~求大神指教~~
...全文
相关推荐
使用百度地图api实现根据地址查询经纬度
本文将详细介绍如何使用JavaScript结合百度地图API实现根据地址查询经纬度,并给出实际的代码示例。首先,我们需要在HTML文档中引入百度地图API的JavaScript库。
百度地图代码
- `gc.getLocation(e.point, function(rs) { ... });`:根据点击或拖拽后的新坐标获取地址信息。
百度地图API开发指南
- **监听标注事件**:通过绑定事件监听器,可以在标注被点击时执行相应操作。- **可拖拽的标注**:通过设置标注的属性,可以使标注具有拖拽功能,方便用户互动。
百度地图API显示多个标注点添加百度样式检索窗口
记得在实际开发中,要时刻关注百度地图API的官方文档,以获取最新的API接口和最佳实践。
百度地图开发文档
#### 八、地址解析服务- **正向地址解析**: - 根据地址描述获取经纬度坐标。- **反向地址解析**: - 依据经纬度坐标获取对应的地址描述。


