一.首先引入所申请的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);
});
}
});