Geocoding in Android (Java)
1. Forward Geocoding (Address to Coordinates)
// Create a Geocoder instance
Geocoder geocoder = new Geocoder(context);
// Retrieve a list of addresses from a location name (e.g., "New York")
List<Address> addresses = geocoder.getFromLocationName("New York", 1);
if (addresses != null && !addresses.isEmpty()) {
// Get the first address's latitude and longitude
double latitude = addresses.get(0).getLatitude();
double longitude = addresses.get(0).getLongitude();
}
2. Reverse Geocoding (Coordinates to Address)
// Create a Geocoder instance
Geocoder geocoder = new Geocoder(context);
// Retrieve a list of addresses from latitude and longitude
List<Address> addresses = geocoder.getFromLocation(latitude, longitude, 1);
if (addresses != null && !addresses.isEmpty()) {
// Get the address line from the first address
String addressLine = addresses.get(0).getAddressLine(0);
}