百度地图JS定位

之前做百度地图定位时写的调用方法,在这里记录下。
PS:此处引入的是v1.2版本的API,非最新版本。

一、获取地理位置方法

var getLocation = function() {
    var options = {
        enableHighAccuracy: true,
        maximumAge: 1000
    }
    if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
    } else {
        alert("您的浏览器不支持定位");
    }
}

二、成功回调方法

function onSuccess(position) {
    var longitude = position.coords.longitude; // 经度      
    var latitude = position.coords.latitude; // 纬度 
    // 生成坐标点   
    var point = new BMap.Point(longitude, latitude);
    new BMap.Geocoder().getLocation(point, function(rs) {
        var addComp = rs.addressComponents;
        alert('定位成功:' + addComp.city);
    })
}

三、失败回调方法

function onError(error) {
    switch (error.code) {
        case 1:
        case 2:
        case 3:
        case 4:
            alert('定位失败');
            break;
    }
}

顺便封装一下:

var baiduGetLocation = {
    init: function() {
        var options = {
                enableHighAccuracy: true,
                maximumAge: 1000
            },
            _this = this;
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(_this.onSuccess, _this.onError, options);
        } else {
            alert("您的浏览器不支持定位");
        }
    },
    onSuccess: function() {
        var longitude = position.coords.longitude; // 经度      
        var latitude = position.coords.latitude; // 纬度 
        // 生成坐标点   
        var point = new BMap.Point(longitude, latitude);
        new BMap.Geocoder().getLocation(point, function(rs) {
            var addComp = rs.addressComponents;
            alert('定位成功:' + addComp.city);
        });
    },  
    onError: function() {   
        switch (error.code) {
            case 1:
            case 2:
            case 3:
            case 4:
                alert('定位失败');
                break;
        }
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值