Buenas,
te aconsejo utilizar el posicionamiento por red además del GPS
añade está línea debajo de locationManager del GPS:
locationManager.requestLocationUpdates(LocationMan ager.NETWORK_PROVIDER, 1000, 1, locationListener);
no es tan preciso pero te posiciona mucho más rápido. De esta manera te situará rápidamente por red y cuando tengo el GPS disponible te ubicará por GPS (más exacto).
El posicionamiento del GPS depende del receptor GPS de tu telefono y de su sensibilidad.
Un saludo.