Autore Topic: Problema con rilevamento posizione GPS dal dispositivo  (Letto 4670 volte)

Offline teopozzi

  • Utente junior
  • **
  • Post: 67
  • Respect: +1
    • Mostra profilo
Problema con rilevamento posizione GPS dal dispositivo
« il: 31 Marzo 2011, 15:28:31 CEST »
0
Dopo avere seguito alla lettera il  Tutorial GPS e MapView vorrei chiedere un'aiuto. Ho un piccolo problema ho seguito il tutorial alla lettera e se dal mio cellulare metto la localizzazione della posizione con la rete wirless mi trova la posizione, mentre se tolgo questa opzione e metto solo quella di rilevamento della posizione col Gps e lancio il tutorial sulla mappa non mi visualizza la posizione corrente. Qualcuno ha qualche idea ???? Ringrazio in anticipo per le risposte.

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Problema con rilevamento posizione GPS dal dispositivo
« Risposta #1 il: 31 Marzo 2011, 16:07:04 CEST »
0
La posizione sulla mappa viene data solo se il gps aggancia e comunque se viene inviata una notifica di change location.

Ti sei accertato che il gps abbia agganciato qualche satellite? (se provi a casa è un po' difficile).
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline teopozzi

  • Utente junior
  • **
  • Post: 67
  • Respect: +1
    • Mostra profilo
Re:Problema con rilevamento posizione GPS dal dispositivo
« Risposta #2 il: 31 Marzo 2011, 16:43:31 CEST »
0
no chiaro che non provo da casa, una volta caricato il programma mi metto di fuori come dice il cellulare altrimenti non aggancerebbe alcun satellite, non vorrei che ci sia da modificare qualche opzione nel cellulare???

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Problema con rilevamento posizione GPS dal dispositivo
« Risposta #3 il: 31 Marzo 2011, 17:52:22 CEST »
0
per capirci, ma solo per capirci: hai selezionato impostazioni/posizione e sicurezza/usa satelliti gps, vero? (non te lo chiedo perché ti reputo stupido, ma solo perché può capitare).

il gps lo aggancia con altre app, giusto?

ad ogni modo, perché non posti un po' di codice, magari vediamo se c'è qualcosina di inesatto?
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline teopozzi

  • Utente junior
  • **
  • Post: 67
  • Respect: +1
    • Mostra profilo
Re:Problema con rilevamento posizione GPS dal dispositivo
« Risposta #4 il: 01 Aprile 2011, 09:52:27 CEST »
0
Allora l'opzione di selezione è attiva, però ho notato che se apro maps e prova a trovare la posizione corrente tramite Gps non la trova vedo la mappa ma non riesce a localizzarmi. Cmq ti posto anche il codice.


//Classe che gestisce la visualizzazzione della Mappa e del Gps

public class SimpleWebActivity extends MapActivity {
   
    LocationManager locationManager;
    private MyLocationOverlay myLocationOverlay;
    private MapView mapView;
    MapController mapControl;
   
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main);
        MapView mapView = (MapView) findViewById(R.id.mv);
        mapView.setSatellite(false);
        mapView.setTraffic(false);
        mapView.setBuiltInZoomControls(true);
        MapController mapControl = mapView.getController();
        GeoPoint point = new GeoPoint(44072442,12565498);
       mapControl.animateTo(point);
        mapControl.setZoom(10);
       
        myLocationOverlay = new MyLocationOverlay(this, mapView);
        List<Overlay> overlays = mapView.getOverlays();
        overlays.add(myLocationOverlay);
        myLocationOverlay.enableMyLocation();
       
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
       
        if(!locationManager.isProviderEnabled("gps")){
            Toast.makeText(this, "GPS è attualmente disabilitato. E' possibile abilitarlo dal menu impostazioni.", Toast.LENGTH_LONG).show();
           
        }
       
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
    }
   
    LocationListener locationListener = new LocationListener(){
       public void onLocationChanged(Location location){
          mapView.invalidate();
          Double geoLat = location.getLatitude()*1E6;
            Double geoLng = location.getLongitude()*1E6;
            GeoPoint point = new GeoPoint(geoLat.intValue(), geoLng.intValue());
            mapControl.animateTo(point);
       }
       
       public void onProviderDisabled(String provider) {
            //Toast.makeText(SimpleWebActivity.this,"onProviderDisabled "+provider, Toast.LENGTH_SHORT).show();
       }
             
       public void onProviderEnabled(String provider) {
            //Toast.makeText(SimpleWebActivity.this,"onProviderEnabled "+provider, Toast.LENGTH_SHORT).show();
       }
             
       public void onStatusChanged(String provider, int status,Bundle extras) {
            //Toast.makeText(SimpleWebActivity.this,"onStatusChanged "+provider+" status: "+status, Toast.LENGTH_SHORT).show();
       }
    };
   
    public void onPause() {
        super.onPause();
        if(locationManager != null){
                locationManager.removeUpdates(locationListener);
                myLocationOverlay.disableMyLocation();
        }
    }

    protected void onResume() {
        super.onResume();
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
        myLocationOverlay.enableMyLocation();
    }

    public static double getRound(double x, int digits){
        double powerOfTen = Math.pow(10, digits);
        return ((double)Math.round(x * powerOfTen) / powerOfTen);
    }
   

   protected boolean isRouteDisplayed() {
      return false;
   }
}

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Problema con rilevamento posizione GPS dal dispositivo
« Risposta #5 il: 01 Aprile 2011, 13:53:01 CEST »
0
Se dici che anche con maps non va, non credo sia necessario indagare sul tuo codice.

Che telefono hai? hai provato a scaricare un'app per testare il pgs?
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/