百度地图定位

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lengxin337/article/details/79969660

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

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页