Я использую андроид эмулятор 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? Разве я не получу почти тысячу? (Данные GPS получены от кого-то, кто работает, поэтому есть постоянное движение.)