吴小胖 发表于 2021-12-9 18:01:25

【考勤打卡】依托百度地图实现考勤打卡

本帖最后由 Simon.hu 于 2022-3-4 18:04 编辑

没事接着“折腾”,哈哈哈哈:jy74a:
论坛里的帖子大概浏览了一遍,活字格可以实现考勤打卡功能吗,搜到的结果都是连接考勤机或者把钉钉或其他平台的数据导出然后再导入活字格中,难么活字格自己就不能做一套考勤系统吗?

:hjyzw:开始折腾~

活字格可以对接百度地图,我翻看帖子的时候第一个反应是:嗯,可以在提交个人信息的时候获取个人位置信息了,不错~(具体可以参考 插件地址:https://marketplace.grapecity.com.cn/ApplicationDetails?productID=SP2104270031&productDetailID=D2111010016&tabName=Tabs_detail
教程地址:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=49373&highlight=%B5%D8%CD%BC)

现在都可以获取用户坐标了,为什么不能做一个限制然后进行考勤打卡呢~
说干就干
首先按照帖子的教程完成了第一步百度地图的功能启用,第二步就是获取公司位置的坐标,第三步以公司为圆心量取100m(大概)外A点位置的坐标,然后用公司的坐标减去A点坐标,获得他们的差值大概是(0.001963,0.000269)【如果有地理专业的大神可以帮忙计算一下,100米在地图上坐标的差值,我这个只是取了个大概】

这一切准备OK了,那就开始实施~

首先先把公司的坐标填写到目标坐标里,然后再用函数把当前坐标分离一下,=LEFT(坐标点,FIND(",",坐标点)-1)   =RIGHT(坐标点,LEN(坐标点)-FIND(",",坐标点)) 再把差值写在单元格里,方便计算。

这里的值是实际坐标-公司坐标,然后用ABS取绝对值,因为四个方向都可以的嘛~(负号在这里只表示方向)

其实到了这一步,很多小伙伴都应该知道接下来要做什么了吧,对,没错~就是来比较一下计算出来的这个值和差值的大小关系了,只要不大于这个差值就可以打卡~

按钮命令添加一下,添加一个条件判断,如果满足差值那就可以打卡,弹出消息:打卡成功,上班快乐~反之,提醒不能打卡

红圈位置是公司地址

按照这个思路是不是就可以完成考勤打卡了呢~您还有什么更好的解决方案吗~嘿嘿
补充一点:
也可以通过百度地图获取到的地名来进行限制考勤打卡,通过js代码将坐标转换为具体的门牌信息,然后再组合在一起,加以判断比对。






qq8009 发表于 2021-12-10 19:48:21

不错 支持一个,坐标那个也可以这样,比较好理解,先取公司的坐标 例如xy   然后加上100m打卡距离就x±100 y±100, 得出4个坐标(这里要以实际为准,我也不清楚100米的距离等于多少坐标),再跟当前客户端获取的坐标做对比,如果当前位置小于等于x±100 y±100,就打卡

dtcq 发表于 2022-1-5 17:25:01

qq8009 发表于 2021-12-10 19:48
不错 支持一个,坐标那个也可以这样,比较好理解,先取公司的坐标 例如xy   然后加上100m打卡距离就x±10 ...
用安卓手机定位不准请问高手咋解决的,我们不在市区,但定位就是市区内的。

iganxq 发表于 2022-11-8 14:43:15

可以发一下案例吗?

余音未静 发表于 2022-11-10 10:29:29

66

137294886 发表于 2022-11-10 13:45:42

可以发一下案例吗?

dtcq 发表于 2022-11-13 14:12:58

lh123 发表于 2022-11-10 14:52
不,你就是在市区。

用两个新方法,都解决了。谢谢:lol

高阳酒徒 发表于 2023-8-19 19:01:54

dtcq 发表于 2022-11-13 14:12
用两个新方法,都解决了。谢谢

是咋解决的   我的定位永远都是同一个地址

dtcq 发表于 2023-9-16 12:50:58

高阳酒徒 发表于 2023-8-19 19:01
是咋解决的   我的定位永远都是同一个地址

hac插件可以

月夜 发表于 2023-12-18 09:57:51

这百度地图的定位不准呀,获取的经纬度地址离我真实的地址距离15.8公里:L
页: [1] 2
查看完整版本: 【考勤打卡】依托百度地图实现考勤打卡