Autore Topic: Maledetto MyLocationOverlay  (Letto 575 volte)

Offline emaborsa

  • Utente normale
  • ***
  • Post: 274
  • Java Developer
  • Respect: +33
    • Google+
    • emaborsa
    • Mostra profilo
    • www.emaborsa.com
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Linux 10 - Win8.1 - Android 4.1.2
Maledetto MyLocationOverlay
« il: 05 Dicembre 2012, 00:10:41 CET »
0
Uso MyLocationOverlay per poi richiamare enableMyLocation(). Fino a qualche settimana fa funzionava, ora non riesco più a far spuntare il pallino della propria posizione. Ho provato con il locationlistener passando da tutti i provider, ma non riesco a farlo funzionare. Se invece uso getLastKnownLocation(), mi ritorna la mia posizione presa in base alla cella telefonica o rete internet.

Qualcuno mi sa dire perchè non va l'enableMyLocation()?

Nella mia activity ho:

Codice (Java): [Seleziona]
onCreate(Bundle savedInstanceState){
...
myLocationOverlay = new MyLocationOverlay(getApplicationContext(), mapView);
                mapView.getOverlays().add(myLocationOverlay);
                mapView.invalidate();
...
}

Codice (Java): [Seleziona]
onResume(){
...
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

                Location oldLocation = application.getCurrentLocation();

                for (String provider : locationManager.getAllProviders()) {
                        Location loc = locationManager.getLastKnownLocation(provider);
                        locationManager.requestLocationUpdates(provider, 0, 0, locListener);
                        if (oldLocation == null || loc != null && loc.getTime() > oldLocation.getTime()) {
                                oldLocation = loc;
                                application.setCurrentLocation(loc);
                        }
                }
...
}

Codice (Java): [Seleziona]
onPause(){
...
                locationManager.removeUpdates(locListener);
                myLocationOverlay.disableMyLocation();
                myLocationOverlay.disableCompass();
...
}


Dopo mille prove fatte mi è venuto il dubbio che il problema sia altrove.