在做 LBS 开发的过程中我们经常会有需要做一些地理位置的模拟。比如车辆轨迹,轨迹纠偏等。但是这类功能非常不好调试,虽然可以自己写一些模拟数据,但是及其不方便。
Xcode为我们提供了相当完备的解决方案,导入.gpx
文件。
GPX(GPS eXchange Format,GPS交换格式)是一个XML格式,为应用软件设计的通用GPS数据格式。
它可以用来描述路点、轨迹、路程。这个格式是免费的,可以在不需要付任何许可费用的前提下使用。它的标签保存位置,海拔和时间,可以用来在不同的GPS设备和软件之间交换数据。如查看轨迹、在照片的exif数据中嵌入地理数据。
详见:https://zh.wikipedia.org/wiki/GPX
#####一、生成GPX 文件 很不幸的是国内的地图都不提供 GPX 文件导出生成。这是后我们需要用到 Google Map。
打开Google地图,定位到你需要的位置,
- 选中第一个点右键选择
从此处出发的线路
- 选中第二个点右键选择
前往此处的线路
- 选中第三个点右键选择
添加目的地
- 此时选中浏览器地址栏中的地址,复制
- 打开https://mapstogpx.com/mobiledev.php
- 粘贴到网页中的输入框
- 选择Xcode(网页中的选项)
- 选择 Uniform Travel Speed(选择下拉框中的选项)
- 点击紫色的
LET'S GO
此时GPX文件会自动下载好
看不懂的看视频吧: https://youtu.be/CdNSEXHmmRY
至此你的GPX文件已经生成完毕,下一步在Xcode中操作,打开里的工程,在Xcode控制台的控制台上找到如下图:
导入.gpx
文件,此时你会发现你的位置信息已经改变(位置信息会沿着你刚才选择的路线更新)。
注:如上操作只对当前APP有效,如果想在其他APP中也有效,可新建一个工程,连接Xcode导入gpx
文件,运行新工程后,不要断开Xcode连接,直接按Home
键让程序在后台运行(一定不要断开Xcode连接)。此时你再打开其他应用程序(如高德地图),就会发现位置信息会沿着你刚才选择的路线更新。