代码之家  ›  专栏  ›  技术社区  ›  Janusz Daniel Rindt

如果我发送一个模拟位置,为什么Android模拟器不准确?

  •  0
  • Janusz Daniel Rindt  · 技术社区  · 14 年前

    我只是将一些坐标发送到Android模拟器。

    我使用以下命令发送修复:

    geo fix 8.494062000 52.038213000
    

    这将把我的模拟器发送到比勒费尔德大学附近的谷歌地图应用程序。 我下一个命令是:

    geo fix 8.495543000 52.038180000
    

    遗憾的是,我在模拟器上的位置没有改变。甚至mytracks在logcat输出中也告诉我用户的位置没有改变。

    geo fix 8.501787000 52.036614000 
    

    geo fix 8.508524000 52.033138000
    

    也不要做任何事。如果位置改变了,它就不在我重新定位的位置附近。所有这些坐标都是从我和摩托罗拉机器人在多公里有轨电车上录制的一条轨道上选取的。在GoogleEarth中加载gpx文件会在有轨电车线路上显示一个整洁、准确的覆盖图。以gpx文件的形式播放曲目会得到类似的结果。记录了300个点,但其中只有4个会改变我在模拟器上的位置。

    是否有某种精度设置影响仿真器?这样,加载GPX跟踪功能对测试没有帮助。

    其他人对加载gpx文件特性有奇怪的问题吗?

    编辑

    此问题不仅影响geo fix或load gpx文件功能,还影响发送到模拟器的所有模拟位置。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Janusz Daniel Rindt    14 年前

    Issue 11264 在android bug跟踪系统中,eclipse插件的0.9.8.v21008281755-53891版本或android工具的7版本中存在一个bug,导致在第二个小数位后的位置截断/舍入。

    我希望这个错误很快就能解决。如果此错误给您带来任何不便,请将此问题添加到Android错误跟踪系统中。

    作为一个解决方案,您可以返回到一个旧的Eclipse插件。版本0.9.6.v21002051504-24846正在为我工作。然而,恢复Eclipse插件并不能阻止控制台对geo命令采取奇怪的行为,只有通过Eclipse发送坐标才能得到修复。

        2
  •  1
  •   Community CDub    8 年前

    至于不准确之处,我之前提出了一个关于仿真器行为的问题: link text 可能会对它有所启发。 只有在调用requestLocationUpdates()时,移动位置超过第3个参数指定的最小米数,MapView才会接收位置更新。记住,在大圆上(纬度变化),0.001度大约是108米。经度变化是108m x cos(纬度)。

    (如果我从Eclipse中DDMS的模拟器控件发送您的坐标52.038213000、8.494062000,地图将集中在52.04200、8.49688(四舍五入到12月6日的位置))。