使用百度地图js_api的浏览器定位

  • 首先去百度地图开放者平台申请密钥,即ak。

  • 然后在html页面的javascript标签引入百度地图的js

    1
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=74232c2e19c45420a1e61bf88d5a2017"></script>   
  • 百度地图js_api的浏览器定位,获得经纬度

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var geolocation = new BMap.Geolocation();
    geolocation.getCurrentPosition(function(r){
    if(this.getStatus() == BMAP_STATUS_SUCCESS){
    //获得浏览器定位的经纬度
    alert('您的位置:'+r.point.lng+','+r.point.lat);
    }
    else {
    alert('failed'+this.getStatus());
    }
    });
  • 百度地图js_api的转换经纬度为地址

    1
    2
    3
    4
    5
    6
    7
    8
    9
    //调用百度的jdk的方法把经纬度转换百度地址
    var myGeo = new BMap.Geocoder();
    var point = new BMap.Point(lng, lat);
    myGeo.getLocation(point, function(rs){
    var addComp = rs.addressComponents;
    var address = addComp.province+addComp.city+addComp.district+addComp.street+addComp.streetNumber;
    $("#baiduaddress").textbox("setValue",address);
    //alert("百度地址:"+address);
    })

使用百度地图web_api的经纬度转换百度坐标

  • 转换百度坐标的js代码,转换的坐标可以是多组的

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    //调用百度的jdk的接口转换百度的经纬度
    var url ='http://api.map.baidu.com/geoconv/v1/?coords='+longitude+','+latitude+'&from=1&to=5&ak=74232c2e19c45420a1e61bf88d5a2017';
    $.ajax({
    url: url,
    type: 'GET',
    contentType: "application/json",
    dataType: 'jsonp',//这里要用jsonp的方式不然会报错
    success: function(data) {
    var lng = data.result[0].x;//经度
    var lat = data.result[0].y;//纬度
    },
    error : function(e){
    alert("经纬度转换异常,请稍后再试!");
    }
    });
  • 转换百度坐标api的请求参数

  • 转换百度坐标api的返回结果参数

  • 转换百度坐标api的返回状态码