GPX 文件不会在 Android 模拟器中加载

Posted

技术标签:

【中文标题】GPX 文件不会在 Android 模拟器中加载【英文标题】:GPX files won't load in Android emulator 【发布时间】:2016-12-17 02:25:45 【问题描述】:

总结:

我尝试将 GPX 文件加载到 android 模拟器中,但收到错误消息“表包含错误。未发送位置”。

重现步骤:

    打开模拟器 点击右侧垂直条中的三个点 在“位置”选项卡下的“扩展控件”弹出窗口中,单击“加载 GPX/KML”并选择一个 GPX 文件 点击“播放”按钮

GPX 文件(test.gpx):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<gpx
xmlns="http://www.topografix.com/GPX/1/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"
version="1.1"
creator="gpx-poi.com">
   <wpt lat="28.0587" lon="-82.4139">
      <time>2015-12-01T03:01:44Z</time>
   </wpt>
</gpx>

预期行为:

位置应该发送到模拟器

观察到的行为:

错误消息“表包含错误。未发送位置”:

设备和安卓版本:

模拟器 Nexus 5X API 级别 23(Google API),1080 x 1920; 420 dpi,Android 6.0 (Google API),x86,1GB,Windows 7 Enterprise SP1 64 位

【问题讨论】:

【参考方案1】:

截至 2016 年 8 月 10 日,模拟器似乎不支持 GPX 航点格式:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<gpx
xmlns="http://www.topografix.com/GPX/1/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"
version="1.1"
creator="gpx-poi.com">
   <wpt lat="28.0587" lon="-82.4139">
      <time>2015-12-01T03:01:44Z</time>
   </wpt>
</gpx>

不过,它似乎确实支持 GPX 轨道格式:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<gpx
xmlns="http://www.topografix.com/GPX/1/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"
version="1.1"
creator="gpx-poi.com">
   <trk>
      <name />
      <cmt />
      <trkseg>
        <trkpt lat="28.0587" lon="-82.4139">
          <ele>0</ele>
          <time>2015-12-01T03:01:44Z</time>
        </trkpt>
      </trkseg>
   </trk>
</gpx>

上述 GPX 轨道格式成功加载到模拟器并正确注入位置。

【讨论】:

以上是关于GPX 文件不会在 Android 模拟器中加载的主要内容,如果未能解决你的问题,请参考以下文章

包含速度信息的 GPX 文件

通过 DDMS 在 Android 设备上模拟模拟位置

在 android 模拟器中模拟 GPS 路线

如何在android中制作gpx文件

在Xcode中使用GPX模拟位置变化时,有没有办法控制速度?

颤动 - WebViewController 中的 HTML 文件未按预期在 iOS 模拟器中加载