android emulator可以用gpx文件模拟高度吗?

android emulator可以用gpx文件模拟高度吗?,android,android-gps,Android,Android Gps,我试图在ddms透视图中模拟模拟器设备的运动。我使用的是一个包含高程元素的gpx文件,但当我的代码运行时,它只检索lat/lon并表示高程=0 我的问题是,android emulator可以用来模拟高度、速度等,还是仅仅用于纬度和经度数据?这不是一个真正的答案,但它可能会给你一些有用的想法 您使用哪种类型的提供商?有两个选项:LocationManager.GPS\u提供程序和LocationManager.NETWORK\u提供程序。我的猜测是,只有使用了LocationManager.GP

我试图在ddms透视图中模拟模拟器设备的运动。我使用的是一个包含高程元素的gpx文件,但当我的代码运行时,它只检索lat/lon并表示高程=0


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

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

您使用哪种类型的提供商?有两个选项:
LocationManager.GPS\u提供程序
LocationManager.NETWORK\u提供程序
。我的猜测是,只有使用了
LocationManager.GPS\u提供程序
,海拔高度才可用

另外,在您的
Location
更新中(在
LocationListener.onLocationChanged(Location-Location)
),您可以调用
Location.hasatitute()
。如果此修正包含高度信息,则返回true,否则返回false

更新

看起来您遇到了一些模拟器问题。我记得当时我在Eclipse3.4.1+ADT0.9.5+Android2.0.1app+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,那么您可能会将该脚本应用到您最喜欢的脚本语言中。让我知道这是否对您有效。

您可以通过emulator向emulator发送一个修复程序,使用geo-fix[]将海拔作为可选值,因此是的,它可以处理海拔。对于gpx文件,不知道,还没有完成。好的,所以它可以在模拟器中使用高度数据,但它似乎没有从gpx文件中读取高度数据。。。是否有人成功地使用gpx文件模拟轨道数据的高程?或者kml?如果你没有找到更好的方法,你可以自己阅读文件并提交一系列修复,包括海拔高度。为了回答你的问题,你可以找到当前正在读取gpx文件的代码,看看它是否有任何高度能力;带有高度数据的GPX文件和使用geo fix输入高度在2.2 emulator中似乎都不起作用。看起来这里的其他人也有类似的问题:@blindstuff我认为它不起作用,我用gpx文件发送了高程值,但它不会显示。我认为emulator只显示lat和long值,我正在使用GPS_提供程序。有趣的是,我把它装到手机上,带到外面,效果很好。。。它可以记录速度和高度。因此,它似乎确实与gpx文件有关。该文件不包含高度数据。。。。然而,它似乎无法得到它。。。我会看看hasAltitude是否被触发…@Dave:请看我帖子中的更新部分。