• 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;
        }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    JavaScript实现继承的几种方式总结一
    MyISAM key 压缩
    Visual Studio2010英文版安装中文帮助文档
    回忆我是怎样走上程序之路的(上)起因
    hdu2054 A==B
    顺序表的增删排序
    hdu2145 zz's Mysterious Present
    hdu 2141 Can you find it?
    hdu1162 Eddy's picture
    hdu1142 A Walk Through the Forest
  • 原文地址:https://www.cnblogs.com/shipeng22022/p/4613988.html
Copyright © 2020-2023  润新知