百度地图api--拖动地图显示经纬度与显示当前位置

一.首先引入所申请的ak密钥
<script type="text/javascript" src="http://api.map.baidu.com/api?ak=PlhFWpA02aoURjAOpnWcRGqw7AI8EEyO&v=2.0&services=false"></script> 
二.简单样式处理一下
body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}
#allmap{height:100%;width:100%;}
#map span{display:block; width:20px; height:32px;background:url(http://wx.58haha.cn/1.png);position:fixed; left:50%; top:50%; margin-left:-10px; margin-top:-16px;z-index:999;}
三.html代码布局
<div id="map"><span></span></div>
<div id="allmap"></div>
四.js代码如下
$(function(){
var map = new BMap.Map("allmap");
    var point = new BMap.Point(116.501573, 39.900877);
    map.centerAndZoom(point, 16)
// 定位对象
var geoc = new BMap.Geocoder();
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
var mk = new BMap.Marker(r.point);
map.addOverlay(mk);
map.panTo(r.point);
//$("#start_point").val(r.point.lng+','+r.point.lat);
alert("当前位置经度为:"+r.point.lng+"纬度为:"+r.point.lat);
setLocation(r.point);
map.addEventListener("dragend",function(){
                var centerPoint=map.getCenter();
                //alert(centerPoint.lng + " " +centerPoint.lat);
                map.clearOverlays();//清空原来的标注
                var marker = new BMap.Marker(new BMap.Point(centerPoint.lng, centerPoint.lat)); // 创建点
map.addOverlay(marker);    //增加点  
                marker.setPosition(400, 400)
                var point = new BMap.Point(centerPoint.lng, centerPoint.lat);
                var gc = new BMap.Geocoder();
                gc.getLocation(point, function(rs) {
                    var addComp = rs.addressComponents;
                    addr = addComp.province +" "+ addComp.city +" "+ addComp.district +" "+  addComp.street +" "+ addComp.streetNumber;
alert(addr);
                });
            });


}else {
$("#start").attr("placeholder","请输入您的当前位置")
alert('无法定位到您的当前位置,导航失败,请手动输入您的当前位置!'+this.getStatus());
}
},{enableHighAccuracy: true});

//获取地理位置的函数
function setLocation(point){
geoc.getLocation(point, function(rs){
var addComp = rs.addressComponents;
var result = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;
//$("#start").val(result);
//$("#start_location").val(result);
alert("当前的位置为:"+result);
});
}
});

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值