在Android上使用GPX进行路线模拟

时间:2013-03-04 16:56:33

标签: android-emulator android-location

我之前问过这个问题,但仍然没有解决。这是我正在寻找的。我正在开发Android上的GPS导航应用程序。为此,我希望能够在地图上模拟驾驶。我读到我可以使用GPX文件并使用Android模拟器来实现它。所以我为模拟器添加了GPS支持并启动了它。然后我使用两个不同的站点创建了一个GPX文件:

  1. wtracks.appspot.com:我使用它创建的gpx文件,在DDMS中加载后,没有任何反应。也就是说,我甚至看不到文件正在加载,因此播放按钮显示为灰色

  2. Mapmyride.com:我使用它创建的GPX文件确实加载到DDMS中,并在模拟器窗口中显示点数的835个点。绿色播放按钮已启用,但当我选择它时,它会显示暂停按钮一秒钟,然后返回到绿色播放按钮。也就是说,它几乎就像文件运行一秒钟而停止。

  3. 所以,我真正想要的是,如果有人能够通过一些简单的方法(例如点击地图然后一旦我有一个有效的GPX文件)能够显示创建GPX文件的确切步骤,就能够加载它在DDMS中运行它来模拟地图上的汽车驾驶。如果有效,我会立即接受答案。

    谢谢,

    -Vivek

3 个答案:

答案 0 :(得分:8)

为了模拟在gpx文件中驱动您的跟踪点和航点,您需要手动将时间参数添加到每个。每个时间参数应该逐秒增加。

这是一个gpx文件示例: (注意:如果你的gpx文件不兼容,请使用前三行)

GPX文件示例:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="MapSource 6.16.1" version="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">

<trk>
<name>emulate</name>
<trkseg>
<trkpt lat="-33.91015" lon="151.16772"><ele>0.000000</ele><time>2014-03-05T20:00:01Z</time></trkpt>
<trkpt lat="-33.91014" lon="151.16770"><ele>0.000000</ele><time>2014-03-05T20:00:02Z</time></trkpt>
<trkpt lat="-33.90998" lon="151.16752"><ele>0.000000</ele><time>2014-03-05T20:00:03Z</time></trkpt>
<trkpt lat="-33.90998" lon="151.16752"><ele>0.000000</ele><time>2014-03-05T20:00:04Z</time></trkpt>
<trkpt lat="-33.90982" lon="151.16732"><ele>0.000000</ele><time>2014-03-05T20:00:05Z</time></trkpt>
<trkpt lat="-33.90982" lon="151.16732"><ele>0.000000</ele><time>2014-03-05T20:00:06Z</time></trkpt>
<trkpt lat="-33.90962" lon="151.16709"><ele>0.000000</ele><time>2014-03-05T20:00:07Z</time></trkpt>
<trkpt lat="-33.90962" lon="151.16709"><ele>0.000000</ele><time>2014-03-05T20:00:08Z</time></trkpt>
<trkpt lat="-33.90939" lon="151.16681"><ele>0.000000</ele><time>2014-03-05T20:00:09Z</time></trkpt>
<trkpt lat="-33.90939" lon="151.16681"><ele>0.000000</ele><time>2014-03-05T20:00:10Z</time></trkpt>
<trkpt lat="-33.90916" lon="151.16654"><ele>0.000000</ele><time>2014-03-05T20:00:11Z</time></trkpt>
<trkpt lat="-33.90916" lon="151.16654"><ele>0.000000</ele><time>2014-03-05T20:00:12Z</time></trkpt>
</trkseg>
</trk>
</gpx>

注意我正在增加从20:00:01到20:00:12的时间秒

答案 1 :(得分:4)

你可以使用这个网站可以为你创建第二个gpx文件只需在谷歌地图上设置目的地并复制链接到这个网站并点击创建

MAPS GPX

答案 2 :(得分:1)

我的回答并不完整,因为我可以指导你直到你可以在Eclipse中将.pgx文件加载到DDMS透视图的步骤。

步骤1.在firefox浏览器中添加以下代码作为书签。

javascript:(function(){var%20script=document.createElement('script');script.src='http://www.elsewhere.org/GMapToGPX/gmaptogpx.js';document.getElementsByTagName('head')[0].appendChild(script);})()

步骤2.打开新标签页并打开谷歌地图。点击获取方向并输入源和目的地以获得路线。

步骤3.单击书签,您将看到一个包含代码的新弹出窗口。您可以将此文件另存为.gpx文件。

步骤4.打开DDMS透视图。单击模拟器控制选项卡。在位置控制上在GPX选项卡下加载gpx。

直到这里我才开始工作。如果有任何进一步的信息我会更新我的答案。希望它有所帮助。

信息来源Link

更新 *

您可以启动Google API模拟器并运行您的应用。每次单击“播放”按钮,其位置都将更新。 (如果你正在玩它,基本上会调用onLocationChange()。)。