Android: How to get Address from geolocation using Geocoder
Class: HttpRetriever
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
public
class
HttpRetriever { private
DefaultHttpClient client = new
DefaultHttpClient(); public
String retrieve(String url) { HttpGet getRequest =
new
HttpGet(url); try
{ HttpResponse getResponse = client.execute(getRequest); final
int
statusCode = getResponse.getStatusLine().getStatusCode(); if
(statusCode != HttpStatus.SC_OK) { Log.w(getClass().getSimpleName(),
"Error "
+ statusCode +
" for URL "
+ url); return
null ; } HttpEntity getResponseEntity = getResponse.getEntity(); if
(getResponseEntity != null ) { return
EntityUtils.toString(getResponseEntity); } }
catch
(IOException e) { getRequest.abort(); Log.w(getClass().getSimpleName(),
"Error for URL "
+ url, e); } return
null ; } } |
Method: getAddressFromGPSData
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
public
static
final String GOOGLE_GEOCODER = "http://maps.googleapis.com/maps/api/geocode/json?latlng=" ; public
static
String getAddressFromGPSData( double
lat, double
longi) { HttpRetriever agent =
new
HttpRetriever(); String request = GOOGLE_GEOCODER + lat +
"," + longi +
"&sensor=true" ; // Log.d("GeoCoder", request); String response = agent.retrieve(request); String formattedAddress =
"" ; if
(response != null ) { Log.d( "GeoCoder" , response); try
{ JSONObject parentObject =
new
JSONObject(response); JSONArray arrayOfAddressResults = parentObject .getJSONArray( "results" ); JSONObject addressItem = arrayOfAddressResults.getJSONObject( 0 ); formattedAddress = addressItem.getString( "formatted_address" ); }
catch
(JSONException e) { e.printStackTrace(); } } // Log.d("GeoCoder", response); return
formattedAddress; } |
版权声明:本文为博主原创文章,未经博主允许不得转载。