zoukankan      html  css  js  c++  java
  • Android中使用地图之地址(字符串类型)转换经纬度

    项目中用到根据距离排序,看百度地图帮助文档,试了几种方法都没有得以实现,最后通过网页版的json的以实现地址如下,传地址值即可

    http://maps.google.com/maps/api/geocode/json?address=%E5%8C%97%E4%BA%AC%E9%82%AE%E7%94%B5%E5%A4%A7%E5%AD%A6&sensor=false

     1 public JSONObject getLocationInfo(String address) {
     2         // 发送json请求获取地址的json对象
     3         HttpGet httpGet = new HttpGet("http://maps.google."
     4                 + "com/maps/api/geocode/json?address=" + address
     5                 + "ka&sensor=false");
     6         HttpClient client = new DefaultHttpClient();
     7         HttpResponse response;
     8         StringBuilder stringBuilder = new StringBuilder();
     9 
    10         try {
    11             response = client.execute(httpGet);
    12             HttpEntity entity = response.getEntity();
    13             InputStream stream = entity.getContent();
    14             int b;
    15             while ((b = stream.read()) != -1) {
    16                 stringBuilder.append((char) b);
    17             }
    18         } catch (ClientProtocolException e) {
    19         } catch (IOException e) {
    20         }
    21 
    22         JSONObject jsonObject = new JSONObject();
    23         try {
    24             jsonObject = new JSONObject(stringBuilder.toString());
    25         } catch (JSONException e) {
    26             // TODO Auto-generated catch block
    27             e.printStackTrace();
    28         }
    29         return jsonObject;
    30     }
    31 
    32     public GeoPoint getGeoPoint(JSONObject jsonObject) {
    33         // 解析json获取经纬度信息
    34         Double lon = new Double(0);
    35         Double lat = new Double(0);
    36 
    37         try {
    38             lon = ((JSONArray) jsonObject.get("results")).getJSONObject(0)
    39                     .getJSONObject("geometry").getJSONObject("location")
    40                     .getDouble("lng");
    41 
    42             lat = ((JSONArray) jsonObject.get("results")).getJSONObject(0)
    43                     .getJSONObject("geometry").getJSONObject("location")
    44                     .getDouble("lat");
    45 
    46         } catch (JSONException e) {
    47             e.printStackTrace();
    48         }
    49         return new GeoPoint((int) (lat * 1E6), (int) (lon * 1E6));
    50     }
  • 相关阅读:
    leetcode 33. Search in Rotated Sorted Array
    leetcode 32. Longest Valid Parentheses
    leetcode 28. Implement strStr()
    leetcode 27. Remove Element
    leetcode 26. Remove Duplicates from Sorted Array
    leetcode 24. Swap Nodes in Pairs
    leetcode 22. Generate Parentheses
    树莓派的频率管理和热控制
    sql执行insert插入一条记录同时获取刚插入的id
    全程直播个人博客重构过程,采用springboot+dubbo+jpa技术栈。
  • 原文地址:https://www.cnblogs.com/snowspace/p/3293036.html
Copyright © 2011-2022 走看看