在使用百度地图进行微信考勤时,遇到很多问题,尤其是定位问题,我知道定位有偏差,但使用百度地图,几十次后,偶尔一次会错的离谱,例如直接就定位到了外省,例如我一直在西安,一次定位到了天津,一次定位到了石家庄,我不知道为什么会这样。偏差几千米还能理解,可偏差几百公里就是在让人不能理解了。是因为我用的百度API是免费的吗?当然出现的次数不多,一般情况下,四五十次,会偶尔出现一两次这么离谱的偏差。

实在找不到原因,也不能是缓存,因为我没有去过石家庄,天津。没办法,但这个问题,又不能不解决,于是只能把四种计算经纬度的方法都列出来,高德地图的经纬度,HTML5的经纬度,经过百度转化的经纬度,百度地图的经纬度,都列出来,看看到底那一块出错了。

发现高德的经纬度和HTML5的经纬度基本相同,HTML5的经纬度经过转化的经纬度和百度地图的经纬度基本相同。

这四个经纬度的具体差异参考百度地图,高德地图,HTML5经纬度比较

经过实际测试,百度地图获取的周边信息比高德地图获取的周边信息要准不少,高德地图获取的周边信息经常偏差四五公里,但百度地图就会好很多,基本上在一公里以内。

因此我还是决定使用百度地图,但百度地图偶尔错的离谱如何修正呢?

百度地图一次错的离谱的定位:

既然决定使用百度地图定位,那么这个错误就不能不修正,但如何修正呢?使用高德地图,高德地图虽然没有这么离谱的事,但我测试,误差经常是四五公里,实在是太大了。

那有没有更好的方法呢?

最终我发现,在百度地图没有问题时,获取的省市区和高德地图的省市区是一致的,在百度地图出现异常时,省市区是不一致的,因此我采用了,以百度地图为主,高德地图为辅的方式,修正了百度地图的偶尔出现的错误,在发现错误时,让员工刷新重新获取地理信息,来修正百度地图的这个偶尔出现的错误。其实也可以采用比较HTML5的经纬度和百度地图经纬度比较的方式进行修正,但我目前没有采用。

参考文章

关于地图坐标和定位偏差

中国地图偏移问题

微信企业号开发:微信考勤百度地图定位,错误修正相关推荐

  1. 微信企业号开发:微信考勤百度地图定位,错误修正二

    在之前的博客中微信企业号开发:微信考勤百度地图定位,错误修正介绍了一种修正百度地图错误的方法,就是使用高德地图修正.但经过近一年.近两千人的使用发现,在百度地图出现定位错误时,通过HTML5获取的经纬 ...

  2. 微信企业号开发:微信考勤百度地图定位

    之前在微信企业号开发:微信考勤中使用了百度地图的定位组件,但发现在部分手机上会出现定位失败的提示,于是有研究了一下百度地图.原来使用的Web组件百度不打算更新了,也是重新查了一下百度地图的其他API, ...

  3. 微信企业号开发:微信考勤百度地图定位二

    使用微信考勤百度地图定位中的方法定位,可以定位到一个具体的位置某省某市某区某路某号,总是让人感觉显示不是很友好,如果直接显示,软件园,科技园之类的是不是更好呢?于是查了一下百度地图的相关文档,其实也很 ...

  4. 微信企业号开发:微信考勤

        使用微信考勤,有很多企业号应用都有,但如何实现呢?   核心有有两个,1其实就是获取用户位置,其实这个可以使用百度地图的API,当然其他的也可以,微信自己的地图实在是太差了,没有考虑.当然地理 ...

  5. 微信企业号开发:微信考勤2如何计算距离

        通过微信企业号开发:微信考勤中的方法计算出了用户的地理位置,我们知道GPS会有一定偏差,但如何把这个偏差考虑进去呢?例如在500米的偏差内都认为是在办公室内呢? 有两种方法,一种是使用根据两点 ...

  6. 微信企业号开发:微信考勤Cookies的使用

    使用微信考勤,每次使用微信企业号开发:微信用户信息和web网页的session的关系这个里边的方法,调用微信的接口,有点慢,微信官方也推荐使用Cookies,但如何使用Cookies,自己却一直没有搞 ...

  7. 微信企业号开发:微信考勤摇一摇考勤

    看到网上又不少微信企业号的摇一摇考勤,自己也想做一个,但查遍了微信企业号文档,也没有看到摇一摇的相关API,本以为做不出来了,想不到再问了同事后,才知道其实很简单,摇一摇不需要微信企业号的文档,HTM ...

  8. 移动开发作业4——百度地图定位APP

    目录 一.百度SDK使用流程详解 1.注册百度开发者账号 2.创建自己的应用 3.获取SHA1和包名 4.应用创建完成 5.Android Studio配置 二.在Android studio中显示地 ...

  9. 移动开发实验之百度地图定位app的开发

    一·百度地图API准备 1.下载百度地图的SDK,下载地址为:​​​​​​https://lbsyun.baidu.com/index.php?title=android-locsdk/geosdk- ...

最新文章

  1. 谷歌眼镜开发入门经典
  2. 用nodejs搭建最简单、轻量化的http server
  3. PP: 混合生产方式(MTO与MTS为例)
  4. MyBatis中使用YEAR和MONTH方法获取时间查询参数的年和月
  5. 每天练习50个shell
  6. OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack()
  7. python php multiprocessing,Python多进程并发(multiprocessing)用法实例详解
  8. mysql 5.6 datetime 保存精确到秒
  9. SIP协议栈基础笔记
  10. 根据Java源码生成流程图
  11. 中兴盒子B860AV2.1-A-B-M-U,通刷,线刷刷机固件
  12. 三菱触摸屏怎么改时间_三菱触摸屏密码设置
  13. 简化“复杂”的层级管理,实现团队作战式的目标协同
  14. ASP.NET Core中的TagHelper及其用法
  15. QT笔记——Qt动态属性 之 unpolish() 和 polish()
  16. 31省市自治区农村居民消费价格指数(2010-2020年)
  17. 《RabbitMQ实战》7.warren和Shovel:故障转移和复制
  18. Excel常用函数(案例说明)
  19. java 发送邮件 ip被网易拉黑,发信IP或者发件人地址被网易加入了黑名单,原因如下及解决方法!...
  20. matlab坐标旋转平移缩放,MATLAB实现RGB图像的平移、缩放和旋转

热门文章

  1. 接口自动化测试框架-完整测试用例模板
  2. 【“Unfortunately,app has stoped”问题与解决】
  3. Java Grammer:数据类型
  4. 计算机软件吸附效应,试举出生活中的例子说明吸附现象的实际意义?
  5. vue 海康视频播放
  6. Java转义字符及其释义
  7. USACO_CHA1_挤牛奶
  8. puppy linux4,发行版:Puppy Linux 4.00发布
  9. 你不得不关注的5 大Android 开发技术——2020
  10. DAY5:《鸟叔的linux私房菜》