title: What's the best way to do reverse geocoding in Android
body: <p>I want to do reverse geocoding in Android, and sometimes find the <a href="http://developer.android.com/reference/android/location/Geocoder.html" rel="nofollow noreferrer">Geocoder</a> is not quite reliable. So I researched to use the google Geocoding API.</p>
  
  <p>I found there are two kinds such API: the <a href="https://developers.google.com/maps/documentation/javascript/geocoding" rel="nofollow noreferrer">client-side geocoding</a> (JavaScript calls to google.maps.Geocoder) and <a href="https://developers.google.com/maps/documentation/geocoding/index" rel="nofollow noreferrer">server-side geocoding</a> (HTTP requests to /maps/api/geocode).</p>
  
  <p>Seems client-side geocoding is usually the most appropriate approach as it executes in the browser, so I think it's not suitable for Android. Am I right?</p>
  
  <p>If using the server-side geocoding approach, Android would send the http requests to maps/api/geocode. Then I need to store the api key to the remote server and request it each time when app starts. Is is the best way to do so? Has any one did it this way?</p>
  
  <p>===================================</p>
  
  <p>Another question: should I use the geocoding result combined with google map? Can I just display the result to the end user without showing the map? What rules should I follow?</p>