Сама по себе реализация не очень сложная - с некоторой периодичностью отправлять на сервер GPS координаты, привязывать их к карте и соединять. Но дьявол кроется в деталях -
а) GPS не всегда точные координаты отдаёт, поэтому нужно сглаживание, а это достаточно сложный алгоритм
б) Если будет кейс, что движение в лесу к примеру, то нужно кэширование до выхода в зону действия сотовой связи.