1. c0s4n, 09.12.2009 #1
    c0s4n

    c0s4n Threadstarter Neuer Benutzer

    Hallo Android Freunde,

    ich schreibe bereits das 3te mal, hoffe dieses mal auf eine Hife und es mich wenigstens weiterbringen kann.
    Ich versuche seit Tagen die GPS nachzusimulieren. Im DDMS kann man KML File laden, in der KML File die Waypoint vorgeben und anhand von locationListener diese ablesen. Ich habe jetzt, meiner Meinung nach, alles versucht um dies zuverwirklichen, jedoch erstmal ohne Erfolg. Das Normale GPS, was mir ein Satellit gibt, funktioniert, da möchte ich nicht mekern (nicht dass ich mich garnicht auskenne :))
    Mit dem Simulator gibt es jedoch Probleme, der LocationListener liefert mir immer 0, wenn ich getLat und getLon aurufe. KML-File laden, funzt ohne probleme und mir werden alle waypoints angzeigt (die ich natürlich selbst festgelegt habe).
    Weis evtl einer woran das liegen kann? Ich habe das mini programm mit Google Api Key erstellt, auch ohne die Api versucht in beiden Fällen bekomme ich das gleiche als Antwort, nehmlich 0,0.
    Ich poste mal mein Code hier rein und hoffe dass einer so was schon mal gemacht hat und mir ein Ratschlag geben kann:
    Code:
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            
            tvLatitude = (TextView)findViewById(R.id.tvLatitude);
            tvLongitude = (TextView)findViewById(R.id.tvLongitude);
            
            lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    
    
    
            
            // Get Location Services
            this.lm = (LocationManager) getApplicationContext().getSystemService(
                    Context.LOCATION_SERVICE);
    
    //        Location loc = lm.getLastKnownLocation("gps");
    //        // fill in the TextViews
    //        tvLatitude.setText(Double.toString(loc.getLatitude()));
    //        tvLongitude.setText(Double.toString(loc.getLongitude()));
            // ask the Location Manager to send us location updates
            locListenD = new DispLocListener();
            lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locListenD);
            
    
            
        }
    
        
        
        private class DispLocListener implements LocationListener {
    
            @Override
            public void onLocationChanged(Location location) {
                // update TextViews
                tvLatitude.setText("Hallo");
                tvLongitude.setText("" + location.getLongitude());
            }
    
            @Override
            public void onProviderDisabled(String provider) {
            }
    
            @Override
            public void onProviderEnabled(String provider) {
            }
    
            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {
            }
        }
        
        @Override
        public void onPause() {
            super.onPause();
            lm.removeUpdates(locListenD);
        }
    
        /**
         * Resume location updates when we're resumed
         */
        @Override
        public void onResume() {
            super.onResume();
            lm.requestLocationUpdates("gps", 30000L, 10.0f, locListenD);
        }
    
     
  2. Janakar, 09.12.2009 #2
    Janakar

    Janakar Neuer Benutzer

    Zuletzt bearbeitet: 09.12.2009
  3. Janakar, 09.12.2009 #3
    Janakar

    Janakar Neuer Benutzer

    Ich denke, dass du ihm ein Zeitintervall und eine Meterangabe liefern mußt
    anstatt:
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locListenD);

    also
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 6000, 10, locListenD);

    Leider äuft mein Code mit deinem Hinweis nicht.
     
  4. c0s4n, 09.12.2009 #4
    c0s4n

    c0s4n Threadstarter Neuer Benutzer

    was möchtest du genau machen? GPS vom Satelit empfangen? Wenn ja?
    Hast du in der manifest.xml
    Ganz unten bevor das </manifest> steht

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    geschrieben?

    Das konnte der Grund bei dir sein.

    Ich glaube nicht, dass es daran liegt.
    In der this.locationManager.requestLocationUpdates,gibst du mit 2 Diesen werten, erstmal die Zeit (nach welchen Abständen die GPS-Upgedatet wird), Streecke (nach der die GPS updaten soll). Aber danke für den Tip ich teste gleich ;).
     
    Zuletzt bearbeitet: 09.12.2009
  5. Janakar, 09.12.2009 #5
    Janakar

    Janakar Neuer Benutzer

    Jetzt habe ich den Code verändert.
    Probier ihn doch bitte mal aus.
    http://web29.hosting.bndlg.de/HelloGPSLocation.zip


    super .onCreate(savedInstanceState);
    setContentView(R.layout.main);
    muss am Anfang von onCreate stehen.

    Immerhin kommt jetzt die Fehlermeldung:
    "No location found."

    Na dann auf ein Neues!
     
  6. Janakar, 10.12.2009 #6
    Janakar

    Janakar Neuer Benutzer

    Hast du den Code schon probiert?
    Ich sitze in einem Providerloch. Mein Netz ist hier, an diesem Ort sehr schlecht.
    Teste doch mal!
     
  7. c0s4n, 10.12.2009 #7
    c0s4n

    c0s4n Threadstarter Neuer Benutzer

    Ich habe den Code noch nicht probiert, aber werde es morgen testen und schauen was passiert, heute leider keine Zeit mehr für. Sorry. Also bis morgen abwarten ;)
     
  8. Janakar, 15.12.2009 #8
    Janakar

    Janakar Neuer Benutzer

    Der HelloGPsLocator funktioniert.
    Man muß allerdings die Settings des Handys ändern und GPS-Empfang zulassen.

    package de.photochallenge.HelloGPSLocation;
    import android.app.Activity;
    import android.content.Context;
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.location.LocationProvider;
    import android.os.Bundle;
    import android.widget.TextView;
    public class HelloGPSLocation extends Activity {
    volatile Location curLocation = null;
    private LocationManager mLocationManager;

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    mLocationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);
    curLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,100,1,gpsListener);

    updateWithNewLocation(curLocation);
    }


    private void updateWithNewLocation(Location mLocation) {
    String mText;

    TextView myLocationText;
    myLocationText = (TextView)findViewById(R.id.myLocationText);

    if(mLocation != null){
    double lat = mLocation.getLatitude();
    double lng = mLocation.getLongitude();
    String prov = mLocation.getProvider () ;

    mText = "Latitude:" + lat + "\nLongitude:" + lng + "Provider:" + prov;
    }
    else {
    mText = "No location found.";
    }
    myLocationText.setText(mText);
    }

    private final LocationListener gpsListener = new LocationListener(){

    public void onLocationChanged(Location curLocation){
    updateWithNewLocation(curLocation);
    }

    public void onProviderDisabled(String provider){
    updateWithNewLocation(null);
    }

    public void onProviderEnabled(String provider){}
    public void onStatusChanged(String provider, int status, Bundle extras){}
    };
    }
     
  9. Android1984, 20.12.2009 #9
    Android1984

    Android1984 Neuer Benutzer

    Grüß euch,
    ich bin auch dabei mit GPS rumzuprobieren und hab glaub ich das gleiche Problem wie ihr. Immer wenn ich die Koordinaten über DDMS ändern will, dann kriegt mein Emulator nur die Werte 0,0 übermittelt.
    Du hast jetzt gesagt, dass es bei dir funktioniert. Kannst vllt nochmal a bissal genauer erzählen, was du gemacht hast? Bei meinem Gerät hab is "hw.gps = yes"...
    Viele Grüße
     
  10. Janakar, 20.12.2009 #10
    Janakar

    Janakar Neuer Benutzer

    Ich habe dir den Code hinterlegt.
    http://web-schlagbauer.de/HelloGPSLocation.zip

    Ich habe ein g1
    Man muss ins Menü gehen.
    Settings aufrufen
    Dann Security+Locations
    => Enable GPS Satelites

    Du mußt einige Zeit im Freien sein und ein bißchen rumlaufen.

    Ich habe den ganzen Vormittag programmiert und jetzt ist der Akku
    für die nächste Zeit hinüber.
    Viel Erfolg!
     
  11. Android1984, 20.12.2009 #11
    Android1984

    Android1984 Neuer Benutzer

    da haben wir uns glaub ich a bissal falsch verstanden. Ich red von keinem richtigen Gerät, sondern von dem Emulator der beim SDK dabei is. Wenn ich da die Koordinaten eingeb, dann kriegt mein Handy (also das virtuelle) nur die Werte 0.0 übermittelt.
    Ein Android-Handy hab ich leider (noch) nicht. von daher kann ich nicht testen, ob es am Code oder an der Entwicklungsumgebung liegt.
    Grüße
     
  12. Janakar, 20.12.2009 #12
    Janakar

    Janakar Neuer Benutzer

    Nun am Emulator geht das nicht.
    Ohne Handy ist das nicht hinzubekommen.
    Der Emulator taugt nicht viel.
     
    Zuletzt bearbeitet: 20.12.2009
  13. Janakar, 21.12.2009 #13
    Janakar

    Janakar Neuer Benutzer

    Ich würde mir auf jeden Fall ein Handy mit einem druckempfindlichen Touchscreen kaufen. Das G1 ist schwer zu bedienen, da man immer mit der Breitseite der Finger über den virtuellen Button fahren muss und dann noch eine Verzögerung in Kauf nehmen muss.
    Zu Beachten ist auch, dass bei diesem Handy der Datenschutz nicht gewährleistet ist.
    Viel Erfolg und schöne Weihnachten
     
Die Seite wird geladen...
Similar Threads Forum Datum
GPS / Ohne Handy möglich? Samsung Gear S3 Forum 05.05.2017
GPS Logger for Android zeichnet nur kurz auf Xiaomi Redmi Note 3 Forum 05.05.2017
GPS Huawei P8 Lite Forum 07.05.2017
hat jemand Erfahrung mit kombinierter Nutzung GPS/Glonass? Osmand 10.05.2017
Gpx Track in Google Maps importieren Android Allgemein 13.05.2017
LineageOS GPS Problem Root / Custom-ROMs / Modding für Samsung Galaxy S4 LTE+ 15.05.2017
Gear S2 Sport 3G Esim und GPS Hilfe Erfahrungen Samsung Gear S2 Forum 21.05.2017
Galaxy A5 2017 GPS-Problem mit Here WeGo Here Mittwoch um 20:02 Uhr
Hannspad 133 Titan 2 SN14TP1B2A Android-Tablet und GPS HANNspree Forum Gestern um 17:03 Uhr
GPS Fehler: Falsche Stadt Google Maps / Google Earth Gestern um 21:45 Uhr