JavaScript--百度地图定位,可拖拽

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
        body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=c4gzpT5Nq6kzMLxK9xYLduaILi4jlt1Q"></script>
    <title>JavaScript百度地图接口定位</title>
    <style>
        .BMap_cpyCtrl {
            display: none;
        }
        .anchorBL {
            display: none;
        }
    </style>
</head>
<body>
<div id="allmap"></div>
<script type="text/javascript">

    //定位成功事件
    var myKeys='';      // 当前定位为位置
    var myKeys2='';     // 拖动后的位置
    var lng='';         // 经度
    var lat='';         // 纬度
    // 百度地图API功能
    var map = new BMap.Map("allmap");
    var point = new BMap.Point(116.331398,39.897445);
    map.centerAndZoom(point,17);

    //添加上缩放的平移控件,缩略图控件以及设置显示的位置-->
    map.addControl(new BMap.NavigationControl());
    var geolocation = new BMap.Geolocation();
    geolocation.getCurrentPosition(function(r){
        console.log(r.point);
        if(this.getStatus() == BMAP_STATUS_SUCCESS){
            var mk = new BMap.Marker(r.point);
            map.addOverlay(mk);//标出所在地
            map.panTo(r.point);//地图中心移动
            lng=r.point.lng;
            lat=r.point.lat;
            var point = new BMap.Point(r.point.lng,r.point.lat); //用所定位的经纬度查找所在地省市街道等信息
            var gc = new BMap.Geocoder();
            var gc2 = new BMap.Geocoder();
            gc.getLocation(point, function(rs){
                var addComp = rs.addressComponents;
                console.log(rs.address);//地址信息
                myKeys = rs.address;
                alert(myKeys);         //弹出所在地址
            });
                var marker = new BMap.Marker(point); //创建标注
                map.addOverlay(marker);              //将标注添加到地图中
                marker.enableDragging();             //设置标注可拖拽(默认为不可拖拽)
                marker.addEventListener('dragend', function(e){
                    var point2 = new BMap.Point(e.point.lng,e.point.lat); //用所定位的经纬度查找所在地省市街道等信息
                    // alert('当前坐标:' + e.point.lng + ", " + e.point.lat);
                    gc.getLocation(point2, function(rs2){
                        var addComp = rs2.addressComponents;
                        console.log(rs2.address);//地址信息
                        myKeys2 = rs2.address;
                        alert(myKeys2);  //弹出所在地址
                    });
                });


        }else {
            alert('failed'+this.getStatus());
        }
    },{enableHighAccuracy: true});
</script>
</body>
</html>

  

  

转载于:https://www.cnblogs.com/hs610/p/9625503.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值