百度地图考勤打卡

关键点:获取当前位置、设置考勤点、计算两点距离判断是否在范围内。
这里写图片描述

<script type="text/javascript" src="http://api.map.baidu.com/api?此处为秘钥"></script>

<div id="allmap"></div>

获取当前位置:

var map
var pointNow;
var pointAttendance;

function GetLocation() {
    // 百度地图API功能
    map = new BMap.Map("allmap");
    map.enableScrollWheelZoom(true);

    var geolocation = new BMap.Geolocation();
    geolocation.getCurrentPosition(function (r) {
        if (this.getStatus() == BMAP_STATUS_SUCCESS) {
            pointNow = r.point;
            map.centerAndZoom(pointNow, 15);
            var mk = new BMap.Marker(pointNow);
            map.addOverlay(mk);
            map.panTo(pointNow);
            //alert('您的位置:' + r.point.lng + ',' + r.point.lat);
        }
        else {
            alert('failed' + this.getStatus());
        }
    }, { enableHighAccuracy: true })
}

设置考勤点:

function SetAttendance(longitude, latitude) {   
    pointAttendance = new BMap.Point(longitude, latitude);

    circle = new BMap.Circle(pointAttendance, 300, {
        fillColor: "blue",
        strokeWeight: 1,
        fillOpacity: 0.2,
        strokeOpacity: 0.2
    });// 显示签到点的位置(半径为300米的一个圆)
    map.addOverlay(circle);

    //计算当前位置与考勤点距离
    var distance = map.getDistance(pointNow, pointAttendance).toFixed(2);

    if (distance <= 300) {
    //在范围内
    } else {
    //不在范围内
    }
}
  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值