I have an Android app that shows the user's current location based on the device's coordinates (lat/lon) - to get the current address I use the Geocoder object like below:
Geocoder geocoder = new Geocoder(context, Locale.getDefault());
geocoder.getFromLocation(latitude, longitude, 1)
After getting complains from some users that the address reported is not accurate I have investigated a few cases and found out that the problem is happening with the Geocoder object - in these cases, the address reported is a few blocks away. If I use the same coordinates with the Google Geocode API the address is correctly reported. Note that the Geocoder object results are not always inaccurate.
Is there a way to make the Geocoder always return accurate results?