安卓修改gps定位模拟百度地图移动

article/2025/10/12 2:13:21

背景:

开发一个骑行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


http://chatgpt.dhexx.cn/article/5cFSIaVf.shtml

相关文章

第二十期 在Android中修改GPS定位数据的完整方案《手机就是开发板》

https://blog.csdn.net/aggresss/article/details/54323034 现在很多的应用都是基于位置服务的,而且把位置服务作为重要的参考标准,其实这是很不安全的,位置信息的数据未经过任何加密,而且是从我们的手机中发送出去的,…

Android-Framework-GPS定位原理和修改

一、 Android定位功能原理概述 1.1 Android三种定位提供方式。 Android 应用层获取定位可以通过三种定位提供方式:gps,network,passive。 gps –>(GPS,AGPS): GPS位置提供者的名称。该提供商…

HDFS命令

用法 1.hadoop xxx hadoop fs命令可用于其他文件系统,不止是hdfs文件系统内也就是说该命令的使用范围更广,可以用于HDFS、Local FS等不同的文件系统 2.hdfs xxx hdfs dfs命令只用于hdfs文件系统 命令 1.用户命令 fsck:磁盘检查dfs&…

hadoop之hdfs命令

目录 1:创建目录 2、查看文件,ls 没有cd命令, 需要指定绝对路径 3:上传文件 put(要先把数据上传到linux本地然后再上传) 4:下载文件 get 5:复制 cp 6:查看文件内容 cat , 如果数…

hadoop(五)-hdfs命令行基本命令

HDFS是存取数据的分布式文件系统,那么对HDFS的操作,就是文件系统的基本操作,比如文件的创建、修改、删除、修改权限等,文件夹的创建、删除、重命名等。对HDFS的操作命令类似于Linux的shell对文件的操作,如ls、mkdir、r…

hadoop中上输入hdfs 相关命令显示无法找到问题

问题可能是没有在主目录配置你自己hadoop相关环境变量 解决方法: 1:切换到主目录,输入命令cd ~ 2:输入如下命令进入编辑: 3:在编辑页面最底部,输入如下命令: 4:退出保存编辑输入命令…

HDFS的命令操作

1)基本语法 bin/hdfs dfs 具体命令 2) 常用命令实操 (1)-help:输出这个命令参数 bin/hdfs dfs -help rm (2)-ls: 显示目录信息 hdfs dfs -ls / (3)-mkdir:在hdfs上创…

【hadoop系列】Hadoop HDFS命令

格式:hadoop fs -命令 主要有如下的命令: 命令说明hadoop fs -mkdir创建HDFS目录hadoop fs -ls列出HDFS目录hadoop fs -copyFromLocal使用-copyFromLocal复制本地文件(local)到HDFShadoop fs -put使用-put复制本地(lo…

【hadoop系列】Hadoop HDFS命令

格式:hadoop fs -命令 主要有如下的命令: 命令 说明 hadoop fs -mkdir 创建HDFS目录 hadoop fs -ls 列出HDFS目录 hadoop fs -copyFromLocal 使用-copyFromLocal复制本地文件(local)到HDFS hadoop fs -put 使用-put复制…

HDFS命令行操作

HDFS的命令行接口类似传统的Shell命令,可以通过命令行接口与HDFS系统进行交互,从而对系统中的文件进行读取、移动、创建操作。 命令行接口有两种格式如下: hadoop fs -命令 文件路径 hdfs dfs -命令 文件路径执行hadoop fs 或者 hdfs dfs可…

HDFS基础命令

通过vi在Linux本地创建三个文本文件:txt1.txt、txt2.txt、txt3.txt。文件里面随意输入些内容。 命令如下: vi txt1.txt vi txt2.txt vi txt3.txt (1)列出子目录或子文件 列出 HDFS 当前用户家目录下的文件及文件夹(前提:家目录已经存在&…

(超详细)HDFS常用命令及HDFS API基础编程

HDFS常用命令及基础编程 JunLeon——go big or go home 目录 HDFS常用命令及基础编程 一、HDFS概述 1、什么是HDFS? 2、HDFS数据存储模式——数据块(block) 3、HDFS的副本存放策略及机架感知 (1)副本存放策略&a…

HDFS常用命令汇总

HDFS常用命令汇总 一、前言信息二、帮助信息查看1、查看帮助信息2、帮助文档(附带命令的详细说明) 三、常用命令1、创建目录2、查看目录下的内容3、上传文件4、上传并删除源文件5、查看文件内容6、查看文件开头内容7、查看文件末尾内容8、下载文件9、合并…

大数据笔记 | HDFS 常用操作命令

目录 一、HDFS 命令前缀 二、ls 命令 三、put 命令 四、moveFromLocal 命令 五、get 命令 六、rm 命令 七、mkdir 命令 八、cp 命令 九、mv 命令 十、cat 命令 十一、appendToFile 命令 十二、总结 HDFS 是 Hadoop Distributed File System 的简写,即 H…

HTML encode Decode

System.Web.dll中,System.Web.HttpUtility.HtmlEncode(string s)方法的原理是这样的: 首先判断传入的字符串是否为null,如果是,则返回null if (s null ) ... { return null; } 然后,尝试在传入的字符…

html代码

hello 这是一个模拟黑客的玩意 <!DOCTYPE html> <html xmlns"http://www.w3.org/1999/xhtml"><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <meta charset"UTF-8"><li…

C# .net 几种HtmlEncode,HtmlDecode的区别

一、C#中的编码 HttpUtility.HtmlDecode、HttpUtility.HtmlEncode与Server.HtmlDecode、Server.HtmlEncode与HttpServerUtility.HtmlDecode、HttpServerUtility.HtmlEncode的区别&#xff1f; 它们与下面一般手工写的代码有什么区别&#xff1f; [c-sharp] view plaincopy pu…

【C#】C#中的HtmlEncode与HtmlDecode:HttpUtility.HtmlEncode,Server.HtmlEncode,WebUtility.HtmlEncode

HtmlEncode(String) 将字符串转换为 HTML 编码字符串。 HtmlDecode(String) 将已经为 HTTP 传输进行过 HTML 编码的字符串转换为已解码的字符串。 在web端项目中通常使用HttpUtility.HtmlEecode&#xff0c;HttpUtility.HtmlDecode&#xff0c;Server.HtmlEncode&#xff0c;Se…

js htmlEncode

javascript处理HTML的Encode(转码)和Decode(解码)总结 HTML的Encode(转码)和解码(Decode)在平时的开发中也是经常要处理的&#xff0c;在这里总结了使用javascript处理HTML的Encode(转码)和解码(Decode)的常用方式 一、用浏览器内部转换器实现转换 1.1.用浏览器内部转换器实现…

READNE.md 语法

标题列表引用代码块链接图片分割线表格 1. 标题 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 2. 列表 2.1 有序列表 直接在前面写数字序号&#xff1a; 1. a 2. bc 3. 1234 2.2 无序列表 有三种方式&#xff1a;""、&qu…