【问题标题】:Can the android emulator simulate altitude with a gpx file?android模拟器可以用gpx文件模拟高度吗?
【发布时间】:2011-05-23 02:00:05
【问题描述】:

我正在尝试以 ddms 视角模拟模拟器设备的运动。我正在使用一个包含海拔元素的 gpx 文件,但是当我的代码运行时,它只检索纬度/经度并说海拔 = 0。

我的问题是,android模拟器可以用来模拟高度、速度等,还是只用于纬度和经度数据?

【问题讨论】:

  • 您可以使用 geo fix [] 通过模拟器将高度作为可选值发送给模拟器​​,所以是的,它可以处理高度。用gpx文件,不知道,没做过。
  • 好的,所以它可以在模拟器中使用高度数据,但它似乎没有从 gpx 文件中读取它......有没有人成功模拟轨道的高度带有 gpx 文件的数据?还是公里?
  • 如果您没有找到更好的东西,您可以自己阅读文件并提交一系列修复,包括海拔高度。要回答您的问题,您可能会找到当前正在读取 gpx 文件的代码,并查看它是否具有任何高度功能。
  • 我也遇到过类似的问题;带有高度数据的 GPX 文件和带有地理修复的输入高度似乎在 2.2 模拟器中都不起作用。看起来这里的其他人也有类似的问题:stackoverflow.com/questions/3292788/…
  • @blindstuff 我认为它不起作用,我使用 gpx 文件发送了高程值,但它不会显示。我认为模拟器只显示 lat , long 值只

标签: android android-gps


【解决方案1】:

这不是一个真正的答案,但它可能会给你一些有用的想法。

您使用什么类型的提供商?有 2 个选项:LocationManager.GPS_PROVIDER 和 LocationManager.NETWORK_PROVIDER。我的猜测是只有在使用LocationManager.GPS_PROVIDER 时才能使用高度。

您也可以通过Location 更新(在LocationListener.onLocationChanged(Location location)),您可以致电location.hasAltitude()。如果此修复包含高度信息,则返回 true,否则返回 false。

更新:

看来您遇到了一些模拟器问题。我记得我在 Eclipse 3.4.1 + ADT 0.9.5 + Android 2.0.1 应用程序 + WinXP 上,向模拟器提供 GPS 修复的唯一方法是使用 Telnet。所以我刚刚为此创建了一个帮助 Ruby 脚本:

require 'net/telnet'

scenario = [
  'sleep 1', 
  'geo fix -121.45356 46.51119 0', 
  'sleep 3', 
  'geo fix -80.45356 45.51119 0'
]

simulator_connection = nil

begin
  simulator_connection = 
    Net::Telnet::new(
      'Timeout' => 5, 
      'Port'    => 5554, 
      'Prompt'  => /(OK|\AKO.*\z)/
    )
rescue Errno::EBADF
  puts '> Error: running Android Emulator not found. Exiting ...'
  exit
end

puts '> got connection to Android Emulator'

begin
  scenario.each do |action|
    if action =~ /\Asleep\s\d+\z/
      puts "> #{action} secs ..."
      eval(action)
    else
      puts "> execute \"#{action}\""
      simulator_connection.cmd(action)
    end
  end
  puts '> job is done, exiting ...'
ensure
  simulator_connection.close
end

您看到我将 0 作为高度传递('geo fix ...' 处的最后一个参数),但是您可以尝试使用非零值。如果您不熟悉 Ruby,那么您可能会将该脚本用于您最喜欢的脚本语言。如果这对你有用,请告诉我。

【讨论】:

  • 我正在使用 GPS_PROVIDER。有趣的是,我把它装到我的手机上,然后把它带到外面,它工作得很好……它可以记录速度和高度。所以看起来它确实与gpx文件有关。该文件确实包含高度数据....但是它似乎无法获取它...我会看看 hasAltitude 是否被触发...
  • @Dave:请参阅我帖子中的更新部分。
猜你喜欢
  • 2016-12-17
  • 2013-06-21
  • 2013-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-24
  • 2020-01-10
  • 1970-01-01
相关资源
最近更新 更多