help me!!!
Добавлено: 21 авг 2012, 11:09
нужен совет или помощь опытного java-программиста .... работаю с андроидом, а именно с GPS!!! .... нужно воплотить некий алгоритм .... если кто-то сможет помочь пишите!!! зарание благодарю )))
Добро пожаловать на форум сайта
http://forum.startandroid.ru/
Он же ясно сказал, ".... нужно воплотить некий алгоритм ....". Чего тут не понятного?rezak90 писал(а):обрисуй задачу, и народ подтянется
мне не до шуток (((KamiSempai писал(а):Он же ясно сказал, ".... нужно воплотить некий алгоритм ....". Чего тут не понятного?rezak90 писал(а):обрисуй задачу, и народ подтянется![]()
Я сейчас тоже, кстати, воплощаю "некий алгоритм" с использованием GPS. Может смогу чем помочь?
Код: Выделить всё
this.dist += distantion;
this.deg += degrees;в onLocationChanged(Location loc) не пойдет сделать ... вот ниже постмотри сылки!KamiSempai писал(а):Все очень печально. Мало того, что getParams не возвращает параметры а устанавливает их так еще и увеличивает их более чем в 2 раза.
Очевидно, правильней было бы написатьПотом. При скорости ниже 3 параметры сбрасываются. Получается, если я буду каждые 40 метров останавливаться, мое положение может никогда не отметиться.Код: Выделить всё
this.dist += distantion; this.deg += degrees;
Еще интересно от куда берутся дистанция и угол. Может их лучше не наращивать а вычислять относительно последних значений?
Как по мне, класс ForGPS лишний, все методы класса можно реализовать в интерфейсе LocationListener. Обработку изменения координат действительно нужно делать в onLocationChanged(Location loc) этого интерфейса. Кстати, его как раз можно назвать ForGPS.
Ну а дальше все предельно просто, получаем LocationManager, ищем наилучший провадер и ставим слушателем изменения координат свой LocationListener. Все это уже есть в интернете.
PS: Логика описанная в Вашем классе никуда не годится, ее надо менять.
надо будет что-то попробовать ... пока спасибоKamiSempai писал(а):При подписке на событие можно указать интервал времени, через который нужно обновить местоположение.
Вот ССЫЛКА на метод который это делает.
та с матиматикой не проблема ... просто телефон будет находится в автомобиле и нужно отслеживать его ...KamiSempai писал(а):Для определения изменения градуса поворота можно попробовать использовать компас (эффективность зависит от того будут вертеть телефон или он будет лежать). Но его лучше задействовать только как средство для насильственного обновления положения. Угол поворота лучше определять по двум последним точкам (вспоминаем школьный курс геометрии)
так что TimerTask мне нужен полюбом, что-бы проверять каждые 5 минут - ето максимальное время на протяжении какого должна ставится новая точка ...ShoniPRO писал(а):requestLocationUpdates() не пойдет .... даные которые я буду получать от onLocationChanged() через минимальное время и дистанцию requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locListenerGPS).... и ети я должен пропускать через свой клас (ForGPS) и тогда уже он должен передать параметр true/false ставить ли новою точку на маршруте ... вот так-то
вот сделай TimerTask как ты говоришь, а пока обдумаю как ето реализовать иначе ...KamiSempai писал(а):Зачем городить целый класс, если можно обойтись функцией? Все нужные переменные и функции можно хранить прямо в locListenerGPS.
И таймер не нужен если запоминать время последней записанной точки (разница между последней и текущей не должна превышать 5 минут или записываем новую точку).
Вот так вот... Не успеешь совет дать, уже командуютShoniPRO писал(а):вот сделай TimerTask как ты говоришь, а пока обдумаю как ето реализовать иначе ...
извениKamiSempai писал(а):Вот так вот... Не успеешь совет дать, уже командуютShoniPRO писал(а):вот сделай TimerTask как ты говоришь, а пока обдумаю как ето реализовать иначе ...
и на том спасибо!KamiSempai писал(а):Я лишь могу указать тебе путь... Пройти его ты должен сам...