在Android模拟器中加载GPX文件后,位置错误

时间:2017-01-31 13:40:40

标签: android android-studio android-emulator location gpx

我的Android模拟器有问题。我正在创建一个使用位置以便注册轨道等的应用程序。问题是:当我在模拟器的扩展控件中加载GPX文件时,位置没有正确排序,因此自行车上的人从他通常的路线跳到完全不同的路线。

enter image description here

红线是已注册的曲目。它有一个很大的波动然后回到正常的路线。在“扩展控件”窗口中,您可以看到在“名称”列中有一个数字62,即使其他数字是按顺序列出的55到49之间的数字。整栏中有很多“数字跳跃”。

我的问题是:我可以以某种方式在扩展控件中按名称设置订单吗?即使这样,其他没有包含“name”参数的GPX文件怎么样?也许我应该改变GPX文件中的内容?或者以不同的方式加载它?

2 个答案:

答案 0 :(得分:1)

无法在模拟器中对给定位置进行排序。 如果您的GPX文件提供< time>元素,加载的点根据该值排序加上延迟。 但是这个参数是可选的,所以在这种情况下,模拟器应该按文件顺序加载它,但它没有(正如你所注意到的)。它似乎是Android模拟器中的一个错误 - 来自KML文件的点按顺序加载。 至于现在,将您的GPX转换为KML格式或检查您的设备是否可以提供时间条目。

答案 1 :(得分:1)

以下是解决排序问题的一个工作流程 - 此方法添加了@Miq在其他答案中提到的有序时间戳。

  1. 使用谷歌地图生成路径并导出URL(或上传现有的gpx文件)。

  2. 使用GPS Visualizer(http://www.gpsvisualizer.com/convert_input)转换为GPX(将URL粘贴到字段中'或在Web上提供文件的URL:'并使用高级选项'添加人工时间戳(用于OpenStreetMap导入):'

  3. 按转换按钮并将输出粘贴到编辑器中以便在本地保存。

  4. 使用扩展控件加载文件 - 位置。

  5. 有序时间戳可以保持路径顺序。实际的时间戳值并不重要,只是相对顺序。