Opened 11 years ago

Last modified 10 years ago

#911 new enhancement/feature request

Turning on GPRS/UMTS positioning if GPS does not work

Reported by: Owned by: cp15
Priority: minor Milestone: version 0.6.0
Component: port/android Version: git master
Severity: Keywords: GPS, GPRS/UMTS positioning, tunnel, building


It should be great automatically switching to GPRS/UMTS positioning in tunnels where GPS does not work.

Looking into source code I found in NavitVehicle?.java: Once the GPRS positioning (preciseProvider) is working, GPRS/UMTS positioning (fastProvider) is turned off. A workaround might be turning on the fastProvider again, if GPS is manually disabled. This should be simple to implement.

Suggestion of implementation for the following method in

private final LocationListener preciseLocationListener = new LocationListener() {
  // Turning GPRS/UMTS positioning on again, if GPS is (manually) disabled.
  public void onProviderDisabled(String provider) {
    if (fastProvider == null) {
      // Selection criteria for the fast provider
      Criteria lowCriteria = new Criteria();
      String tmpFastProvider = locationManager.getBestProvider(lowCriteria, false);
      if (tmpFastProvider!=null && 
preciseProvider.compareTo(tmpFastProvider) != 0) {
        fastProvider = tmpFastProvider;
        locationManager.requestLocationUpdates(fastProvider, 0, 0, 

Change History (1)

comment:1 Changed 10 years ago by usul

  • Keywords tunnel building added
  • Milestone set to version 0.6.0
  • Priority changed from major to minor

This includes various tasks if it should be supported crossplattform:

  • components to read cellid from devices
  • find/create a positioning service that offers cellid DB
  • create algorithm to find the corresponding position within tunnels, underground, buildings, ...

Will take a lot of time, but maybe Android can be a first step. Anyway, will set it to the next release as a first step.

Note: See TracTickets for help on using tickets.