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

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

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

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

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

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

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

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

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

那有没有更好的方法呢?

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

参考文章

关于地图坐标和定位偏差

中国地图偏移问题

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-22 08:59:09

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

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

之前在微信企业号开发:微信考勤中使用了百度地图的定位组件,但发现在部分手机上会出现定位失败的提示,于是有研究了一下百度地图.原来使用的Web组件百度不打算更新了,也是重新查了一下百度地图的其他API,还有一个JavaScript API大众版,于是试了试,没想到竟然解决了. 核心代码很简单: <div id="allmap"></div> <script type="text/javascript" src="http://a

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

使用微信考勤百度地图定位中的方法定位,可以定位到一个具体的位置某省某市某区某路某号,总是让人感觉显示不是很友好,如果直接显示,软件园,科技园之类的是不是更好呢?于是查了一下百度地图的相关文档,其实也很简单.百度有附近的功能,还有地址解析的功能,都可以实现. 例如我就是用了Geocoder服务,实现了需要的效果. 核心代码: var map = new BMap.Map("allmap"); var circle = new BMap.Geolocation(); circle.getC

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

使用微信考勤,每次使用微信企业号开发:微信用户信息和web网页的session的关系这个里边的方法,调用微信的接口,有点慢,微信官方也推荐使用Cookies,但如何使用Cookies,自己却一直没有搞清楚. 原来一直以为在服务端获取客户端的数据有两个方法,一种就是查询字符串放在URL上,一种就是放在form中,post提交,自己以前也使用过但主要是在客户端使用,从来没法把 Cookies中的数据直接提交到服务端,即使有也是通过把Cookies中的数据读取出来后放入form中的隐藏字段,然后pos

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

看到网上又不好微信企业号的摇一摇考勤,自己也想做一个,但查遍了微信企业号文档,也没有看到摇一摇的相关API,本以为做不出来了,想不到再问了同事后,才知道其实很简单,摇一摇不需要微信企业号的文档,HTML5就有,摇一摇其实就是相当于点击了保存按钮而已. 其实获取地理位置HTML5也支持. HTML5 - 使用地理定位 <script> var x=document.getElementById("demo"); function getLocation() { if (nav

微信企业号开发:微信用户信息和web网页的session的关系

     微信企业号的用户是须要验证的,因此能关注企业号的用户事实上就是已经通过验证的用户.但企业应用中打开一个网页,在这个网页中怎样依据微信用户的信息创建web应用中最长使用的session呢?微信用户怎样和web的session关联起来呢?    比如:一个应用.依据不同的人员,显示不同的内容,各个网页之间须要session来传递一些信息.在微信企业号中怎样处理呢? 这个问题须要涉及的接口是OAuth2验证接口,须要配置可信域名,初始化session. 一下以一个带有URL的菜单为例进行说明

《微信企业号开发日志》本地调试程序四

这一节完成模拟微信回调发送消息!!! 先看效果图吧: 这个是模拟发送text文本消息的, 解析: 1.微信text文本最终是以2格式的xml文本post到我们的服务器接口的,1是对应xml各个字段值, 2.是最终需要post到我们服务器的xml明文 3.是将2中需要post到我们服务器的xml明文按照token,timestamp和nonce加密后的xml密文,(最终post到我们服务器的是这种经过加密后的xml,我们在接受接口中要先对其进行解密) 4.是将我们服务器中返回的xml明文展示出来

[转载]微信企业号开发如何建立连接

连接将使你的企业号更具价值,你可以使用以下三种方式,连接你的企业号及企业应用: 1.企业应用调用企业号提供的接口,管理或查询企业号后台所管理的资源.或给成员发送消息等,以下称主动调用模式. 2.企业号把用户发送的消息或用户触发的事件推送给企业应用,由企业应用处理,以下称回调模式. 3.用户在微信中阅读企业应用下发的H5页面,该页面可以调用微信提供的原生接口,使用微信开放的终端能力,以下称JSAPI模式. 通过这三种连接方式的结合,你可以在企业号中建立功能强大的移动轻应用,并依托微信数亿活跃用户,

.net之微信企业号开发(一) 所使用的环境与工具以及准备工作

前言 一直以来,从事的是.net winform的编程,虽然对移动互联这块很感兴趣,但是由于现有的工作和移动互联之间隔的太远,也就没有时间和精力好好的去研究和实现.今年年初辞职了,刚好朋友那里希望建立一套新的网点销售管理系统,将原有的PC中的一些东西,移植到手机终端来.于是我接受了这个任务,除了给他们搭建新系统外,也慢慢的接触到了移动互联应用,开始了我的移动互联征程. 由于WEB应用本身的局限性,同时自身也不具备多个平台开发APP的精力和实力.我选择了微信的企业号开发.对于微信这样一个普及很广的

微信企业号开发之回调模式的接口开发

一.前言 微信企业号应用中,有两种模式,一种是普通模式,这种模式只能进行简单网页链接,以及发送固定的消息.为了可以让企业号的用户更好的与应用交互,微信提供了回调模式,这种回调模式的可以将用户发送给微信的信息,转发到用户提供的一个回调接口上,该接口解析用户发送过来的信息,解析后进行相应,而且回调模式中,可以调用的东西不少,扫码,图片,视频,地理位置信息等. 在应用的模式下,选择回调模式,之后,需要设置3个参数(1.回调接口URL:2.token:3.ASESKey),URL就是提供的回调接口,微信