背景:

开发一个骑行app,页面是百度导航,演示需要模拟人骑行,位置不断移动。

位置模拟

核心是这个:

for (String provider : mockProviders) {Location mockLocation = null;if (location == null) {mockLocation = new Location(provider);} else {mockLocation = new Location(location);mockLocation.setProvider(provider);}if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {mockLocation.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());}locationManager.setTestProviderLocation(provider, mockLocation);}

可以参考下:https://m.xp.cn/b.php/108487.html
我不记得是参考哪篇文章的代码了,文末我附上我的源码,可以直接用的,增加了一些接口。

GPS坐标列表获取

因为需要模拟连续的坐标变化,所以需要整个导航路径的坐标
获取两个点之间路线经纬度数组——https://jsrun.net/9QQKp
使用方法:
步骤1:1位置输入你需要查询的地方,快速定位到地图位置
步骤2:选择起点坐标。点击2位置,然后在地图点击起点位置
步骤3:选择终点位置。同步骤2
步骤4:查询路线,就可以复制最下面的坐标数组了

GPS坐标系转换

上述查询路线地图是高德地图,使用的坐标数组是GCJ-02坐标,而百度地图使用的是BD-09坐标,直接使用会位置不对应。
在线坐标批量转换 https://toolbaba.cn/d/gps
算法转换:

    public static double[] gcj2Bd09(double[] gcj) {double x = gcj[0], y = gcj[1];double z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);double theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);double ret[] = new double[2];ret[0] = z * Math.cos(theta) + 0.0065;ret[1] = z * Math.sin(theta) + 0.006;return ret;}

百度地图获取gps坐标

https://api.map.baidu.com/lbsapi/getpoint/index.html

坑记录

1、百度地图网页版的坐标和手机版不对应

百度网页版地图上获取的坐标点,输入到手机版地图上会有偏差,通过记录发现偏差是个固定值

所以获取到的百度网页版本坐标,还需要加上偏差值才能用于手机版本地图上

源码文件

免费下载
https://download.csdn.net/download/JCYAO_/87420186

安卓修改gps定位模拟百度地图移动相关推荐

  1. 【安卓学习之常见问题】百度地图卫星地图精度不够

    █ [安卓学习之常见问题]百度地图卫星地图精度不够 █ 系列文章目录 提示:这里是收集了和文件分享有关的文章 [安卓学习之常见问题]android路径及文件问题 [安卓学习之常见问题]文件分享–文件不 ...

  2. 【项目实战】---地址定位(百度地图)

    前言: 最近这两天在项目中接触了根据输入地址的定位的需求.大体的来说,是在添加时根据输入的大致地址定位到百度地图对应的位置,在百度地图显示的相关定位中选取具体的地址后,将详细地址和经纬度传回到页面,然 ...

  3. 真实GPS坐标信息转百度地图坐标

    第一次写博客,记录自己成长的过程.如有是错误的地方,请大家提出. 做了一个小的项目,遇到通过模块获得的真实的GPS信息,需要转换到百度地图上显示.后来在网上查阅, 真实标准坐标即我们获取到的坐标,真实 ...

  4. GPS坐标转百度地图坐标的方法

    转自:GPS坐标转百度地图坐标的方法 - 程序员大本营 首先需要认识一下GPS的坐标系.GPS坐标系遵循WGS-84标准,在这个标准下,GPS芯片可以发出不同的数据包格式.根据其数据帧帧头的不同,GP ...

  5. 百度IP定位和百度地图API定位

    百度IP定位和百度地图API定位 在这里根据你所获得ip,来确定这个ip的大体位置 [java] view plaincopy <span style="font-size:14px; ...

  6. 最全的解决方案,安卓手机gps定位慢怎么办?轻松几步搞定

    http://bbs.hutoufeng.net/forum.php?mod=viewthread&tid=18774&page=1&extra=#pid20004 近日我在论 ...

  7. GPS、基站定位在百度地图上纠偏的解决方法

    1.加入convertor.js文件 <script type="text/javascript" src="http://api.map.baidu.com/ge ...

  8. 百度地图批量转换 GPS坐标转百度地图坐标 问题

    百度地图的官方网址 官方批量转换的demo 花了几天时间了解了一下百度地图,之前是后端的一个小伙伴在负责,他跟我吐槽这是前端的东西,让我来写(之前他们老大交给他了,我也以为是后端的任务(๑′ᴗ‵๑). ...

  9. js百度地图android定位不准,百度地图js定位不准

    浏览器H5定位即navigator.geolocation,通过IP或者域名的形式,如:http://172.21.3.82:8080 和http://b.cunzhang.com进行访问时,调用na ...

最新文章

  1. SQL 2005新增的几个函数之学习
  2. 研究发现大部分企业没有在云端采用Office 365
  3. 细说JVM的数据类型、堆与栈
  4. SAP HR系统如何处理员工月中调动问题
  5. KVM虚拟机文件优化导出最小化体积的qcow2镜像文件
  6. 中国电信天翼云进入4.0阶段,打造一朵无处不在的分布式云
  7. 猫版超级玛丽 附下载
  8. h5文字垂直居中_CSS居中的常用方式以及优缺点
  9. SpringBoot实战(七):替代if的优雅方案,提高程序扩展性
  10. jquery.autocomplete 使用解析
  11. Angr安装与使用之使用篇(十三)
  12. 如何部署EDI系统?
  13. 1、Android APP开发基础
  14. 计算机专硕双导师,【计算机专业论文】双导师制人才培养计算机专业论文(共1315字)...
  15. AutoPatch java_Java Beta.canAutoPatch方法代碼示例
  16. ue字符编码_用ultraedit实现编码转换
  17. 记一次失败的应聘实习经历
  18. mysql联合主键的坑
  19. iOS提高开发效率的方法和工具
  20. 智能机器人JIMI助力用户咨询体验提升

热门文章

  1. python怎么导入sql数据库,##使用python将excel表中数据导入sql server数据库
  2. apqp过程流程图范本_经典APQP流程图
  3. Oracle存储过程入门教程(通俗理解存储过程)
  4. 空调噪音测试软件,空调噪音如何测试 空调噪音测试方法【详细介绍】
  5. 修改Docker for mac的镜像仓库地址
  6. 程序“[3856] ConsoleApplication1.exe”已退出,返回值为 0 (0x0)
  7. SecureCRT修改字体和字体高亮显示
  8. 腾讯视频自动签到详细版(多种方式得V值)
  9. 一、Django基础介绍
  10. Quartus18.1自带仿真工具实现仿真