SV: Svårt att använda GPS?
Den officiella dokumentation för Android lämnar en del övrigt att önska, när man lämnat "hello world" stadiet. Det kan vara ide att google runt lite. En plats som innehåller mycket matnyttigt är stack-overflow.
Grund principen för att hämta in GPS data är att registrera en LocationListener:
Code:
class LocationHandler implements LocationListener {
void onLocationChanged(Location loc) {
int lat = (int) (loc.getLatitude() * 1E6);
int lng = (int) (loc.getLongitude() * 1E6);
GeoPoint point = new GeoPoint(lat, lng);
//do something with the geo point, e.g.
theMap.animateTo(point);
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
}
Hos en LocationManager:
Code:
LocationHandler callback = new LocationHandler();
LocationManager locMgr= (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
locMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, callback);
Location startLocation = locMgr.getLastKnownLocation(gps);
Via ett Location object, kan ni hämta ut hastighet (getSpeed()) eller om den inte är tillgänglig räkna ut den via
- distanceTo, tidigare punkt
- getTime, ta differensen mellan senaste och förra punkt
En komplikation är att sampla in realistisk GPS data. Här skulle jag rekommendera MyTracks och sedan ut och spring eller cykla. App:en låter en spela in alla GPS punkter och sedan kan ni spara datat som GPX och/eller KML. Via DDMS kan ni sedan spela upp en GPX/KML fil och skicka till en device/emulator.
Lycka till.