Reputation: 167
I want to be able to get the current coordinates using only GPS.
At the moment my code gets the coordinates once and then uses them over again once they have been stored. I'm looking for the solution on how to modify the code so that when the button is clicked it gets the current coordinates.
Here's the code:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Setting TextViews for the coordinates
startLatitudeField = (TextView) findViewById(R.id.TextView02);
startLongitudeField = (TextView) findViewById(R.id.TextView04);
endLatitudeField = (TextView) findViewById(R.id.textView06);
endLongitudeField = (TextView) findViewById(R.id.textView08);
//Button
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
//find out how to get the current location using gps
//not what is stored
if (startLat != 0) {
onLocationChanged(location);
} else {
onLocationChanged(location);
Button button = (Button) findViewById(R.id.button1);
button.setText("Get me home");
}
}
});
};
@Override
public void onLocationChanged(Location location) {
if (startLat == 0) {
startLat = (double) (location.getLatitude());
startLng = (double) (location.getLongitude());
startLatitudeField.setText(String.valueOf(startLat));
startLongitudeField.setText(String.valueOf(startLng));
}
else {
endLat = (double) (location.getLatitude());
endLng = (double) (location.getLongitude());
endLatitudeField.setText(String.valueOf(endLat));
endLongitudeField.setText(String.valueOf(endLng));
}
}
Upvotes: 0
Views: 129
Reputation: 176
First of all you need add the permission to the Manifest file:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
You have the answer here in stackoverflow to: How do I get the current GPS location programmatically in Android?
And a sample app here: http://www.rdcworld-android.blogspot.in/2012/01/get-current-location-coordinates-city.html
Upvotes: 2
Reputation: 2001
https://developer.android.com/training/location/retrieve-current.html check this they have provided sample code also
Upvotes: 0