Um die Geschwindigkeit in m/s oder die Längen und Breitenangaben des GPS Empfängers eines Android Gerätes zu ermitteln muss man als erstes in der Mainfest Datei der Answendung folgende Berechtigungen hinzufügen:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /> <uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES" /> <uses-permission android:name="android.permission.INTERNET" />
Nun kann man mittels folgendem Code einen LocationListener hinzufügen:
myLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); myLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListener() { public void onStatusChanged(String provider, int status, Bundle extras) { } public void onProviderEnabled(String provider) { } public void onProviderDisabled(String provider) { } public void onLocationChanged(Location location) { System.out.println("Speed: " + location.getSpeed()); System.out.println("Latitude: " + location.getLatitude()); System.out.println("Longitude: " + location.getLongitude()); System.out.println("Bearing: " + location.getBearing()); } });
Wie man das Ganze auf einem iGerät (iPhone, iPad etc.) macht habe ich hier beschrieben.