2010-11-29 3 views
0

Я работаю над приложением с поддержкой GPS, и мне нужно записать точку на каждый N метров. Однако я не вижу, как я могу использовать метод onLocationChanged() в LocationListener или любом другом методе/классе. Метод onLocationChanged() дает точку каждую секунду, и мне нужно хранить каждую точку N-метра.Android gps как пропустить расстояние?

Я считаю, что это простое решение, но поскольку я новичок в Android, не могу найти его.

Любая помощь будет очень признательна.

ответ

1

requestLocationUpdates имеет параметр minDistance, который , если я правильно помню, делает то, что вы хотите. Я не смог проверить это на реальном телефоне, хотя, поэтому я не знаю, насколько это точно.

1

В onLocationChanged, сравните местоположение, которое вы получили с последним, которое вы сохранили. Если он меньше n метров, отбросьте его. Если нет, сохраните его. Полоскание. Повторение.

EDIT: Подождите, еще проще - не requestLocationUpdates есть параметр minDistance? Смотрите здесь: http://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates

0

он прекрасно работает myManager = (. (LocationManager) ApplicationController.getAppContext() getSystemService (Context.LOCATION_SERVICE)); myManager.requestLocationUpdates (LocationManager.GPS_PROVIDER, 1 * 1000, 0.00001f, это);

mintime = 1000ms всегда звонит ....

Смежные вопросы