zoukankan      html  css  js  c++  java
  • 通过百度获取IP地址对应的经纬度

    /**
    * 获取指定IP对应的经纬度(为空返回当前机器经纬度)

    * @param ip
    * @return
    */
    public static String[] getIPXY(String ip) {

    String ak = "百度申请的Key";
    if (null == ip) {
    ip = "";
    }

    try {

    URL url = new URL("http://api.map.baidu.com/location/ip?ak=" + ak
    + "&ip=" + ip + "&coor=bd09ll");
    InputStream inputStream = url.openStream();
    InputStreamReader inputReader = new InputStreamReader(inputStream);
    BufferedReader reader = new BufferedReader(inputReader);
    StringBuffer sb = new StringBuffer();
    String str;
    do {
    str = reader.readLine();
    sb.append(str);
    } while (null != str);


    str = sb.toString();
    if (null == str || str.isEmpty()) {
    return null;
    }


    // 获取坐标位子
    int index = str.indexOf("point");
    int end = str.indexOf("}}", index);


    if (index == -1 || end == -1) {
    return null;
    }


    str = str.substring(index - 1, end + 1);
    if (null == str || str.isEmpty()) {
    return null;
    }


    String[] ss = str.split(":");
    if (ss.length != 4) {
    return null;
    }


    String x = ss[2].split(",")[0];
    String y = ss[3];


    x = x.substring(x.indexOf(""") + 1, x.indexOf(""", 1));
    y = x.substring(y.indexOf(""") + 1, y.indexOf(""", 1));


    return new String[] { x, y };


    } catch (MalformedURLException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }


    return null;
    }

  • 相关阅读:
    网站视频播放器JCPlayer
    常用Linux命令操作
    对词法分析器的了解
    实验二简化版C语言中文理解程序文法
    词法分析
    实验三有穷自动机的构造和识别
    组合数据类型练习,综合练习
    零基础初学者学习编译原理
    用python画五星红旗
    Android环境搭建和编写helloworld
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3278377.html
Copyright © 2011-2022 走看看