易Yi 2016-10-24 10:24 采纳率: 58.3%
浏览 1023
已采纳

最简单的得到地理位置的方法,求大神贴上一个完整极简demo。。。网上找的方法都不行

只要显示 地理信息 就行 ,比如:北京市xx区xx路xx....

跪求

下面是网上一个较靠谱的方法↓↓↓↓,但是还是不行。求大神来个行的!

  • 写回答

6条回答 默认 最新

  • altitude-privilege-L 2016-10-24 11:04
    关注
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.Reader;
    import java.net.URL;
    import java.nio.charset.Charset;
    import org.json.JSONException;
    import org.json.JSONObject;
    
    public class GetPlaceByIp {
    
      private static String readAll(Reader rd) throws IOException {
        StringBuilder sb = new StringBuilder();
        int cp;
        while ((cp = rd.read()) != -1) {
          sb.append((char) cp);
        }
        return sb.toString();
      }
    
      public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
        InputStream is = new URL(url).openStream();
        try {
          BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
          String jsonText = readAll(rd);
          JSONObject json = new JSONObject(jsonText);
          return json;
        } finally {
          is.close();
        }
      }
    
      public static void main(String[] args) throws IOException, JSONException {
        JSONObject json = readJsonFromUrl("http://api.map.baidu.com/location/ip?ak=F454f8a5efe5e577997931cc01de3974");
        System.out.println(((JSONObject) json.get("content")).get("address"));
      }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?