Я никогда не мог понять, каким образом Android запоминает свое последнее известное местоположение. Кажется, вы помните это место несколько часов назад, а не несколько секунд назад. Я думаю, что лучше всего привести пример того, что я имею в виду.
Я недавно был в районе залива. Я использовал карты Google на своем Android, и я оказался рядом с кампусом Google в Маунтин-Вью. Я использовал карты с включенным GPS, и через некоторое время я получил надлежащий GPS-замок, который я использовал для навигации по области.
Когда позже я вернулся в Сан-Франциско, я использовал его, чтобы передвигаться по городу. Каждый раз, когда я включал карты, мое местоположение возвращалось в Маунтин-Вью. Примерно через 10 секунд после того, как он получил блокировку GPS, я получил свое реальное местоположение. Если через несколько секунд я выключил и снова включил телефон, произошло то же самое - он подумал, что я где-то, где я был часами ранее, и затем укажет мое фактическое местоположение. Это происходит постоянно - вспоминая, где я был несколько часов назад, а не где я был несколько минут назад. После того, как я проработал какое-то время в определенном месте, теперь он становится новым «последним известным местом».
Почему, как только я получаю точную блокировку GPS, Android не регистрирует это как «последнее известное местоположение» вместо того, которое было ранее?