Rysowanie na mapie w innej klasie

0

Hej, sprawa wygląda tak w MainActivity mam mape(api od googlemaps), mam też klase NavigationService która obsługuje mi gps, zwraca aktualna pozycje, status gps itp. Zastanawiam sie czy w metodzie onLocationChanged w LocationListenerze mogę narysować coś na mapie (polygon) z MainActivity czy muszę w MainActivity brać tylko aktualną pozycje co jakis interwał i tam robic coś z mapa?

0

ktos coś?

0

pewnie ze mozesz. tylko musisz miec:
a) referencje mainActivity w drugiej klasie
b) przekazany callback
c) RxJava + PublishSubject (chyba najlepsza opcja)

0

wklej kod cos poradzimy

0

public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
//deklaracja zmiennych 

//troche kodu


navigationService = new NavigationService(getApplicationContext());
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);

//kolejny nieistony kod
}


public class NavigationService  {
// zmienne

    public NavigationService(Context context){
        this.context = context;
        locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListenerGps);
}



}



0

aha i jeszcze z istonych

 LocationListener locationListenerGps = new LocationListener() {
        public void onLocationChanged(Location location) {
            myposition = new LatLng(location.getLatitude(),location.getLongitude());
            Toast.makeText(context,"my pos "+ myposition, Toast.LENGTH_SHORT).show();
        }

0

najprosciej to locationListenerGps utworz w mainactivity i przekaz przez konstruktor do NavigationService.
wtedy onLocationChanged() bedziesz mial dostep do zmiennych w mainactivity i tam sobie juz mozesz manipulowac mapa

0

dzieki! tak zrobie

1 użytkowników online, w tym zalogowanych: 0, gości: 1