百度地图 点击获取经纬度,搜索获取经纬度

<script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=你的ak"></script>

 

var map = new BMap.Map("map");
map.centerAndZoom("重庆", 11);
map.enableScrollWheelZoom(true); //启用滚轮放大缩小,默认禁用
map.enableKeyboard(true); //启用键盘操作,默认禁用。
map.enableDragging(); //启用地图拖拽,默认启用
map.enableDoubleClickZoom(); //启用双击放大,默认启用
//定位
function setPlace(value) {
var local, point, marker = null;
local = new BMap.LocalSearch(map, { //智能搜索
onSearchComplete: fn
});

local.search(value);

function fn() {
//如果搜索的有结果
if(local.getResults() != undefined) {
map.clearOverlays(); //清除地图上所有覆盖物
if(local.getResults().getPoi(0)) {
point = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果
map.centerAndZoom(point, 18);
marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
marker.enableDragging(); // 可拖拽
// alert("当前定位经度:"+point.lng+"纬度:"+point.lat);
$('input[name=lng]').val(point.lng)
$('input[name=lat]').val(point.lat)
} else {
alert("未匹配到地点!可拖动地图上的红色图标到精确位置");
}
} else {
alert("未找到搜索结果")
}
}
}
map.addEventListener("click",function(e){
map.clearOverlays();
// alert(e.point.lng + "," + e.point.lat);
point = new BMap.Point(e.point.lng, e.point.lat);
var geoc = new BMap.Geocoder();
geoc.getLocation(point,function(rs){
var addComp = rs.addressComponents;
// {streetNumber: "", street: "", district: "沙坪坝区", city: "重庆市", province: "重庆市"}
var address=addComp.province+addComp.city+addComp.district+addComp.street+addComp.streetNumber
$('input[name=address]').val(address)
});
var marker = new BMap.Marker(point);
map.addOverlay(marker);
document.getElementById("map").value = e.point.lng+ "," + e.point.lat;
$('input[name=lng]').val(e.point.lng)
$('input[name=lat]').val(e.point.lat)
});

// 按钮事件(自己定义)
$("#btn").click(function(){
  setPlace($("#address").val());
});

posted @ 2019-04-12 10:01  酷酷的城池  阅读(2679)  评论(0编辑  收藏  举报