Приложение будет состоять из таких функциональных блоков:
1. С определенной периодичностью закачивает одну страницу из интернета, делает ее парсинг, вытягивает с нее адреса (например, "Ленинградский проспект, д.68") и другую информацию, сохраняет их в локальную базу данных (SQLLite возможно? или в текстовый файл, возможно в xml формате), при этом проверяет, что эта запись еще не добавлялась. Если запись пропадает со страницы в интернете, то для нее необходимо выводить пометку "в архиве". Если с момента добавления записи в локальный файл прошло более суток, то ее нужно удалить из локального файла и перенести в архивную базу. Для каждого адреса необходимо определять ближайшее метро. Текущий набор записей нужно отображать на экране + должна быть возможность их фильтрации и сортировки по выбранным критериям.
2. Нужна интеграция приложения с "Сити Гид" по такому функционалу:
- для каждого адреса определять расстояние от текущей точки до него, время в пути до него
- для двух адресов определять расстояние между ними и время в пути между ними
Кроме интеграции с "СитиГид", было бы хорошо иметь интеграцию с какой-либо альтернативной системой (Гугл Мэпс, Яндекс, Навител).
3. Нужна возможность подмены текущего положения GPS (т.е. по выбранному адресу определяем его положение GPS, и делаем подмену текущего положения на выбранное). Таким образом, другие программы, которые запрашивают положение через датчик GPS, будут получать не текущее положение, а то, на которое мы его подменили.
4. Функционал слежения за текущим маршрутом (приближение к точке финиша), и как только время в пути до точки финиша станет менее 10 мин, то необходимо запустить блок анализа текущих адресов (из локальной базы формирующейся в пункте 1.) и по определенным критериям делать выбор наиболее приоритетных точек, далее две возможности либо автовыбор приоритетной точки, либо полу-автоматический режим (на экран поверх текущего приложения выводим список вариантов с кнопками выбора напротив каждого). Если выбор сделан, то функционал отключается до момента, пока опять не будет активным один маршрут и время в пути до финиша не станет менее 10 мин. Все пройденные маршруты необходимо сохранять в локальную базу.
5. Нужен функционал расчета параметров маршрута, сюда входит: учет времени на маршруте (с корректировкой по скорости для текущего маршрута), километраж внутри Москвы, километраж по МКАДу, километраж за МКАДом (для текущего маршрута это надо определять по показаниям GPS (возможно где-то в программе зафиксировать координаты МКАДа), а для маршрутов из пункта 4. нужно анализировать тот маршрут, который прокладывает "СитиГид", в его маршруте есть точки выезда на МКАД)
Обсуждаемо частичное выполнение проекта.
Сроки не критичны.
Опубликован 13.10.2013 в 15:13 Последнее изменение: 14.10.2013 в 13:48