Search code examples
javaandroidlocationmapboxlocationlistener

Mapbox - Can I use the locationlistener without Mapbox map


I know the way to use locationListener and triggering the GPS is done like that:

mapboxMap.setMyLocationEnabled(true);

I want to open the locationListener at app start, but I don't want to use the map in the startActivity. Just using the locationListener without map.

How can I do with Mapbox ?


Solution

  • You can use an instance of LocationEngine to acquire location updates without showing the map.

    final LocationEngine locationEngine = new LostLocationEngine(this);
    locationEngine.setPriority(LocationEnginePriority.HIGH_ACCURACY);
    locationEngine.addLocationEngineListener(new LocationEngineListener() {
      @Override
      public void onConnected() {
        locationEngine.requestLocationUpdates();
      }
    
      @Override
      public void onLocationChanged(Location location) {
    
      }
    });
    locationEngine.activate();
    

    Make sure that once you finish getting the location information needed or your activity gets destroyed you remove all listeners, stop requesting updates and deactivate the engine.