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; } |
版权声明:本文为博主原创文章,未经博主允许不得转载。

浙公网安备 33010602011771号