1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
public class GoogleMapActivity extends Activity implements LocationListener {
private double my_latitude;
private double my_longitude;
private long update_time=5000; //milliseconds
private float update_distance=5; //meters
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_main2);
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
String provider = lm.getBestProvider(criteria, true);
lm.requestLocationUpdates(provider, update_time, update_distance, this);
Location my_location = lm.getLastKnownLocation(provider);
my_latitude = my_location.getLatitude()*1E6;
my_longitude = my_location.getLongitude()*1E6;
Toast toast = Toast.makeText(getApplicationContext(), my_latitude+"**"+ my_longitude, Toast.LENGTH_SHORT);
toast.show();
}
@Override
public void onLocationChanged(Location location) {
// code à exécuter lorsque la position change
}
@Override
public void onProviderDisabled(String provider) {
// code à exécuter lorsque la géoloc est coupée par l'utilisateur
}
@Override
public void onProviderEnabled(String provider) {
// code à exécuter lorsque l'utilisateur active la géoloc
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// code à exécuter lorsque le provider change de statut (plus dispo, devient dispo suite à une période significative d'inactivité... voir documentation)
}
} |