<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=key值"></script>
<div id="allmap" style="height: 85%;"></div>
<script>
$("#openMap").click(function(){
$("#full").popup();map = new BMap.Map("allmap");//创建地图实例
var point = new BMap.Point(116.331398,39.897445);
map.centerAndZoom(point,16);//初始化地图,point为中心点,缩放级别为16
//判断手机浏览器是否支持定位
if(navigator.geolocation){
var geolocation = new BMap.Geolocation();//创建定位实例
geolocation.getCurrentPosition(showLocation,{enableHighAccuracy: true});//enableHighAccuracy 要求浏览器获取最佳结果
}else{
map.addControl(new BMap.GeolocationControl());//添加定位控件 支持定位
}
})
//处理定位后的信息
function showLocation(r){
$("#customer_add_x").val(r.longitude);
$("#customer_add_y").val(r.latitude);
var addr;
if(this.getStatus() == BMAP_STATUS_SUCCESS){
var centerPoint = new BMap.Point(r.longitude,r.latitude);//定位的点
showAddr(centerPoint);//显示地址
map.panTo(centerPoint);
map.setCenter(centerPoint);//设置地图中心点
var icon = new BMap.Icon('__PUBLIC__/assets/images/position_shop.png', new BMap.Size(20, 32), {
anchor: new BMap.Size(10, 30)
});//设置图标
var mk = new BMap.Marker(centerPoint,{icon:icon});//显示定位点
//mk.disableDragging();// 不可拖拽
map.addOverlay(mk);
mk.enableDragging();//可拖拽
mk.addEventListener('dragend',function(e){ //监听拖拽后的地址
var pointNew = e.point;
$("#customer_add_x").val(e.point.lng);
$("#customer_add_y").val(e.point.lat);
showAddr(pointNew);
});
}
}
function showAddr(point){
var city=0;
var district=0;
var street=0;
var addr=0;
var streetNumber=0;
var gc = new BMap.Geocoder(); //初始化,Geocoder类
gc.getLocation(point, function (rs) {
var addComp = rs.addressComponents;
console.log(addComp);
province = addComp.province;//获取省份
city = addComp.city;//获取城市
district = addComp.district;//区
street = addComp.street;//街
streetNumber=addComp.streetNumber;
addr= city+district+street+streetNumber;
$("#address").val(addr);
})
}
</script>