How to fetch the Longitude, Latitude and Address of your current location? Let's do it:
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
String provider = locationManager.getBestProvider(new Criteria(), true);
Location locations = locationManager.getLastKnownLocation(provider);
List<String> providerList = locationManager.getAllProviders();
if(null!=locations && null!=providerList && providerList.size()>0){
double longitude = locations.getLongitude();
double latitude = locations.getLatitude();
Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault());
try {
List<Address> listAddresses = geocoder.getFromLocation(latitude, longitude, 1);
if(null!=listAddresses&&listAddresses.size()>0){
String _Location = listAddresses.get(0).getAddressLine(1);
}
} catch (IOException e) {
e.printStackTrace();
}
}
Note: Add these permissions to your manifest file:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Use this for
network-based location.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Use this for GPS based
location but it includes network-based location property too.
You should use both for more versatile application.
No comments:
Post a Comment