Some times a race condition can happens where wifi response is received before cell response. The cell response is preserved with very bad accuracy. Fix: Accurated location are preserved if received on the race_timeout interval. Wifi has priority and can bypass timeout if the last location only has used cells towers, this give faster accurate locations.
Multiples request can be send at the same time becouse timeout is handle incorrectly. Timeout variable is update when a response is received. On slow connections duplicates request are sended between the delay of the request and the response. Fix: take care of the last resquest instead of the reponse
I try to fix this: