GPS模拟器轨道

时间:2010-12-01 18:02:16

标签: android android-emulator

我使用android模拟器ddms来模拟使用gpx文件的移动。 gpx文件中大约有1000个条目。但是,我发现我的onLocationChanged方法只在整个文件的过程中被触发了几次。我的代码如下......

LocationManager locationManager = (LocationManager)    this.getSystemService(Context.LOCATION_SERVICE);         

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, myListener);

myListener = new LocationListener(){
public void onLocationChanged(Location location){
    double mylat = location.getLatitude();
    double mylon = location.getLongitude();  
    ...
    }
...
}

我对requestLocationUpdates设置为1000的理解是它应该每1秒请求一次位置更新,前提是该位置距前一个位置超过1米。它是否正确?如果是这样,为什么我只从gpx文件中检索一些lat / lon对?难道我不会找回近一千个吗? (GPS数据来自某人,因此不断运动。)

1 个答案:

答案 0 :(得分:1)

使用gpx,kml或手动输入纬度/经度坐标时,我没有很好的运气模拟器位置。根据我的经验,在requestLocationUpdates中设置位置和距离最小值在真实硬件上运行良好,但在模拟器中却不行。

如果使用gpx文件仅用于测试目的,请尝试将时间和位置约束设置为0和0,以查看它是否现在在模拟器中注册了所有1000个点。