Porque é que o GPS é tão lento no Android? É possível o posicionamento em tempo real (ou próximo)?
GPS em telefones (todos os telefones, não apenas no Android) é na realidade algo chamado GPS Assistido. O que isto é projetado para fazer é coletar uma única posição o mais rápido possível. Isto é feito obtendo a localização da torre com a qual o telefone está se comunicando e usando isso como ponto de partida para onde o telefone está.
Receptores de GPS ordinários lembram-se onde eles estavam em último lugar e usam isso. Então, digamos que você tenha um GPS de mão para usar caminhadas. Você o leva pelo país dentro de um saco e depois o liga. Ele pode facilmente levar até alguns minutos antes de ter a primeira localização fixa em 3D. Ou seja, que ele encontrou quatro satélites e descobriu o tempo de cada um deles até a localização atual.
Agora, se você desligar este GPS de mão e depois ligá-lo novamente ele se lembra onde estava e assume que este é um bom ponto de partida. Isto irá obter uma correcção de 4 satélites em segundos, assumindo que existem quatro que são visíveis e não bloqueados pelo terreno ou vegetação.
Isto foi considerado demasiado longo para efeitos do E911, razão pela qual o seu telefone tem qualquer GPS. Ter o receptor GPS ligado o tempo todo era muito intenso para um telefone, então ele também não faz isso. Ele obtém um ponto de partida próximo da torre e usa isso com a esperança de obter uma correção rapidamente. Acredito que se você registrar as informações provenientes dos serviços de GPS no sistema operacional do telefone, você verá que ele lhe dá uma localização imediata que não é muito boa e a refina em poucos segundos. Mais uma vez, isto é tudo para fins de E911.
A única coisa que o GPS do seu telefone não foi concebido para fazer é cuspir localizações rapidamente, como um sistema de navegação automóvel faz. Ele vai ser lento, por projeto, porque está economizando energia. Você recebe uma "primeira estimativa" e uma localização "refinada" rapidamente, mas é só isso. After that, you may have to wait 20–30 seconds for another location.
If you want navigation, get a Garmin.