js获取当前客户端所在位置

根据经纬度获取当前位置信息

引入百度上的js文件:

<script type="text/javascript" src="http://api.map.baidu.com/api?ak=PlhFWpA02aoURjAOpnWcRGqw7AI8EEyO&v=2.0&services=false"></script>

获取手动去复制下来:(向复制Vue一样)

http://api.map.baidu.com/getscript?v=2.0&ak=PlhFWpA02aoURjAOpnWcRGqw7AI8EEyO&services=false&t=20200327103013
var currLocation ;
    function locations(){
        alert(currLocation);
    }
    $(function(){
        var map = new BMap.Map("allmap");//allmap是一个标签的id,是保存的地图.整个地图hidden
        var point = new BMap.Point(116.501573, 39.900877);
        map.centerAndZoom(point, 16);

// 此处二种方案可选其一,自测方案2更准确,1和2的方案,大致位置来讲都是准的
// 定位对象方案1 : 百度获取经纬度
        var geoc = new BMap.Geocoder();
        var geolocation = new BMap.Geolocation();
        geolocation.getCurrentPosition(function(r){
            if(this.getStatus() == BMAP_STATUS_SUCCESS){
                var mk = new BMap.Marker(r.point);
                map.addOverlay(mk);
                map.panTo(r.point);
                console.log("当前位置经度为:"+r.point.lng+"纬度为:"+r.point.lat);
                setLocation(r.point);
            } else {
                console.log('无法定位到您的当前位置,导航失败,请手动输入您的当前位置!'+this.getStatus());
            }
        },{enableHighAccuracy: true});

// 定位对象方案2:geolocation获取经纬度
        if(navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function(pos) {
                <!-- pos 的出参 -->
                <!-- {speed: "-1.000000", longitude: "121.451945", latitude: "31.184739", accuracy: "65.000000", timestamp: "2018-06-27 07:12:33 +0000",} -->
                var point = new BMap.Point(pos.coords.longitude, pos.coords.latitude);
                setLocation(point);
            }, function(err) {
                console.log(err,'err----')
            })
        }

//获取地理位置的函数
        function setLocation(point){
            geoc.getLocation(point, function(rs){
                var addComp = rs.addressComponents;
                var result = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;
                //$("#start").val(result);
                //$("#start_location").val(result);
                // location = result ;
                alert("您当前所在的位置是:"+result);
                currLocation = result ;
            });
        }
    });
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值