百度地图定位

<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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值