我正在使用Here Mobile Android SDK并尝试模拟GPX轨道,以测试我的地图行为。我使用PositionSimulator类,设置位置更新的回调,但是当我调用startPlayback(filename)时,它将解析我的gpx文件,在android上没有错误,但没有模拟假的gps坐标。

有人可以为PositionSimulator或可行的代码示例提供可行的gpx文件吗?

我的代码:

posManager = PositioningManager.getInstance();
posManager.start(PositioningManager.LocationMethod.GPS_NETWORK);
posManager.addListener(
   new WeakReference<PositioningManager.OnPositionChangedListener>(positionListener));
mapFragment.getPositionIndicator().setVisible(true);
simulator = new PositionSimulator();
PositionSimulator.PlaybackError err = simulator.startPlayback(trackFileName);


模拟器实例获得了正确的点数,但是我的位置标记和相机根本不动。我尝试使用带有路线,航路点和航迹的其他gpx文件。也许我需要以某种方式在gpx内设置时间戳记? Moc位置的权限已添加。

在某些路线上模拟驾驶时,是否有更好的方法来测试相机的运动?任何帮助将不胜感激。

最佳答案

在下面您可以看到gpx的示例,该示例可以由PositionSimulator播放:

<gpx>
  <metadata>
   <name>london</name>
   <time>2017-01-19T17:41:11Z</time>
  </metadata>
<trk>
  <name>test</name>
<trkseg>
  <trkpt lat="51.47785480" lon="-0.14754295">
    <ele>8.0000000</ele>
    <time>2010-01-01T00:00:00Z</time>
    <hdop>33</hdop></trkpt>
  <trkpt lat="51.47788554" lon="-0.14778173">
    <ele>8.0000000</ele>
    <time>2010-01-01T00:00:01Z</time>
    <hdop>42</hdop></trkpt>
  <trkpt lat="51.47787976" lon="-0.14807005">
    <ele>6.0000000</ele>
    <time>2010-01-01T00:00:02Z</time>
    <hdop>20</hdop></trkpt>
....
</trkseg>
</trk>
</gpx>


我做错的唯一一件事是不提供hdop字段-准确性值。即使关闭PositionIndicator的精度显示-显然,没有该hdop值也不会播放。

AndrewJC,谢谢您的帮助。

关于android - 此处Mobile SDK PositionSimulator,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41704277/

10-12 03:51