android 获取定位坐标,在百度地图出现大偏移的处理办法
16lz
2022-04-25
问题现象:
通过android原生api获取到gps坐标,调用百度的地图api在手机上显示时,发现偏移距离超过1KM。
android获取定位坐标的代码,网上很多不再粘贴。
问题分析:
android原生api通过gps,wifi,蜂窝定位等获取到的为真实的经纬度坐标。而百度、腾讯、高德等地图上的坐标为修正坐标(处理过的坐标,非真实)
解决办法:
通过百度提供的转换代码,将真实经纬度坐标转换为修正坐标即可。
转换地址:http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=113.540124&y=23.517846
返回结果:
{"error":0,"x":"MTEzLjU1MTgwNTY4NDE0","y":"MjMuNTIxMjMxNDk2OTAy"}
转换代码如下:
$.ajax({ type:"get", url:"http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x="+lng+"&y="+lat,//采用http/https方式自行修改 dataType:"jsonp", success:function(data){ var dlng=atob(data.x);//base64解码 var dlat=atob(data.y); //异步回调 }, complete:function(){ }, error:function(a,b,c){ alert(a+b+c); } });
更多相关文章
- Android中通过pid获取app包名
- Android(安卓)app获取android.permission.BATTERY_STATS权限
- Android菜鸟笔记-获取设备信息
- android中SOAP的anytype问题
- android 获取当前手机的 DHCP 信息ip,server 等
- MVP框架搭建
- Android(安卓)开发入门-ListView 的用法
- 4.8.4 在Android(安卓)中fragment中获取上下文
- Android(安卓)OpenGLES2.0(八)——纹理贴图之显示图片