首页 > 代码库 > 调用百度地图 API 移动地图时 maker 始终在地图中间 并根据maker 经纬度 返回地址

调用百度地图 API 移动地图时 maker 始终在地图中间 并根据maker 经纬度 返回地址

1.项目要求如题目

2.废话不说-----代码如下:

 

<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: 500px;overflow: hidden;margin:0;font-family:"微软雅黑";}    </style>    <script type="text/javascript" src=http://www.mamicode.com/"http://api.map.baidu.com/api?v=2.0&ak=DD279b2a90afdf0ae7a3796787a0742e"></script>    <title>浏览器定位</title></head><body>    <div id="allmap"></div>    <div style="width:auto;height:55px;‘">         <input type="text" id="locate" style="background-color:pink;" placeholder="地址"/ >        <input type="button" value=http://www.mamicode.com/"确定" style="background-color:blue;"/>    </div></body></html><script type="text/javascript">    // 百度地图API功能    var map = new BMap.Map("allmap");    var point = new BMap.Point(116.331398,39.897445);    map.centerAndZoom(point,12);              // 将标注添加到地图中            var geolocation = new BMap.Geolocation();        geolocation.getCurrentPosition(function(r){        var mk = new BMap.Marker(r.point);        if(this.getStatus() == BMAP_STATUS_SUCCESS){                        map.addOverlay(mk);            map.panTo(r.point);            map.addEventListener(ondragging, function(){                  mk.setPosition(map.getCenter());          });          //   地图停止移动后获取mk经纬度          map.addEventListener(moveend,function(){            var pos = mk.getPosition();            console.log(pos);               // 创建地址解析对象            var geoc = new BMap.Geocoder();             geoc.getLocation(pos, function(rs){            var addComp = rs.addressComponents;            alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);        });                        })          //console.log(pos);            alert(您的位置:+r.point.lng+,+r.point.lat);        }        else {            alert(failed+this.getStatus());        }                               },{enableHighAccuracy: true})    //关于状态码    //BMAP_STATUS_SUCCESS    检索成功。对应数值“0”。    //BMAP_STATUS_CITY_LIST    城市列表。对应数值“1”。    //BMAP_STATUS_UNKNOWN_LOCATION    位置结果未知。对应数值“2”。    //BMAP_STATUS_UNKNOWN_ROUTE    导航结果未知。对应数值“3”。    //BMAP_STATUS_INVALID_KEY    非法密钥。对应数值“4”。    //BMAP_STATUS_INVALID_REQUEST    非法请求。对应数值“5”。    //BMAP_STATUS_PERMISSION_DENIED    没有权限。对应数值“6”。(自 1.1 新增)    //BMAP_STATUS_SERVICE_UNAVAILABLE    服务不可用。对应数值“7”。(自 1.1 新增)    //BMAP_STATUS_TIMEOUT    超时。对应数值“8”。(自 1.1 新增)    </script>

3.  如果觉得本文有用,欢迎大赏---

调用百度地图 API 移动地图时 maker 始终在地图中间 并根据maker 经纬度 返回地址