Hilfe bei GPS-Position

I

iAndroid

Neues Mitglied
0
Hi Leute,

ich brauche Eure Hilfe. Habe es bereits seit Tagen versucht, es hinzubekommen, aber Fehlanzeige.

Ich versuche in meiner Anwendung die aktuelle GPS-Position anzeigen zu lassen, aber es will nicht klappen.

Ich bin um jede Hilfe dankbar.

Vielen Dank im Voraus.

Viele Grüße,

iAndroid

Hier mal mein Code:

Code:
// imports

public class GPSTracker extends Activity
{
   
    // GUI-Elemente
    public RadioButton radioButtonGPS;
    public TextView textViewGPS;
    public RadioButton radioButtonManuell;
    public EditText EditTextManuellEingeben;
     
    /** Called when the activity is first created. */
    public void onCreate(Bundle saveInstanceState)
    {
        super.onCreate(saveInstanceState);
        setContentView(R.layout.xmlGPSTracking);
       
        radioButtonGPS = (RadioButton)findViewById(R.id.GPS_RadioButton);
        textViewGPS = (TextView)findViewById(R.id.GPS_TextView);
        radioButtonManuell = (RadioButton)findViewById(R.id.Manuell_RadioButton);
        EditTextManuellEingeben = (EditText)findViewById(R.id.Manuell_EditText);
         
        // Listener 
        radioButtonGPS.setOnClickListener(new OnClickListener()
        {
            public void onClick(View v)
            {
                if (radioButtonGPS.isChecked())
                {
                    // GPS-Tracker wird aufgerufen
                    gpsTracker();
                }
                else if (!radioButtonGPS.isChecked() && radioButtonManuell.isChecked())
                {
                    EditTextManuellEingeben.setText("Hier Adresse eingeben!");
                    EditTextManuellEingeben.setEnabled(true);
                }   
            }
        });
 
    // Methode gpsTracker()
    private void gpsTracker()
    {
        LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        Criteria criteria = new Criteria();
        String provider = lm.getBestProvider(criteria, false);
       
        lm.requestLocationUpdates(provider,60000,1,locationListener);
    }
   
    // LocationListener
    private final LocationListener locationListener = new LocationListener()
    {
        public void onLocationChanged(Location l)
        {
            textViewGPS = new TextView(GPSTracker.this);  
            textViewGPS.setText("lat: " + l.getLatitude() + ", lon: " + l.getLongitude());
            setContentView(textViewGPS);
        }

        public void onProviderDisabled(String provider)
        {
          // TODO Auto-generated method stub
        }
       
        public void onProviderEnabled(String provider)
        {
          // TODO Auto-generated method stub
        }
        public void onStatusChanged(String provider, int status, Bundle extras)
        {
          // TODO Auto-generated method stub
        }
  };

  
}
 
Was steht im provider string drin? network? Das wäre das gleiche Problem was ich hatte bei einigen Telefonen. Sieh Post von mir von gestern.

MfG
 
im provider-string steht der beste Provider drin.
 
habe es eben mal mit deiner Version probiert, leider hats auch net geklappt.
danke trotzdem für den hinweis:).
 
Hast du mal debuggt oder den string in die Log.cat geschrieben? Es muss doch was drin stehen. Da steht bestimmt nicht "bester Provider". Da muss "gps" drin stehen. Ich denke bei dir steht "network" drin. Es gibt auch ne Methode die dir ein String[] mit allen verfügbaren Providern gibt. Da könntest du ja auch mal reingucken, was da so drin steht.
 
hallo,

ja habe ich. er stoppt bei folgender zeile:

Code:
lm.requestLocationUpdates(provider,60000,1,locationListener);

Fehler: source not found.

Hast du ne idee?
 
Scheint irgend ein Object null zu sein. Nimm mal das final von LocationListener weg.
 
Hi,
wenn ich das richtig sehe, registrierst du einen Listener beim Service. Dieser laeuft nicht in deinem GUI-Thread, deshalb kannst du nicht von hier direkt deine Views updaten. ( ueber handler oder runInGuiThread() oder so aehnlich, oder frag nochmal danach )
Wenn du die Position nur haben willst, wenn du den Button bedienst, dann nimm Locationmanager.getLastKnownLocation(). Falls du doch den Listener doch haben willst, vergiss nicht, den Listener beim Service auch wieder abzumelden ;)

Gruss unfug
 

Ähnliche Themen

D
Antworten
17
Aufrufe
409
datNeMo
D
R
  • RudolfHagen
Antworten
1
Aufrufe
652
koje71
koje71
M
Antworten
3
Aufrufe
168
moin
M
Zurück
Oben Unten