小白一个,项目需要获取一个位置坐标(经纬度)后然后输出天气数据给用户,网上找了很久,大神们都是轻描淡写,感觉没有切中要害,无赖只好自己手敲,小小一个功能硬生生敲了一天,所有实现如下:
声明:本人使用的编译器是IDEA。
一、直接在控制台输出天气
1、首先去百度获取AK密钥,方法自己百度,申请地址:
http://lbsyun.baidu.com/apiconsole/key
2、创建项目后创建包创建类,如下图所示:(数字处为接下来使用方法,粘贴代码时需要去除数字)
public class GetLocation{
1、
2、
3、
4、
5、
}
3、各个方法如下所示:
方法一:主方法,测试使用
public static void main(String[] args) {
weatherDate();
}
方法二:给定坐标值,调用getAdd()方法获得城市的json数据
public static void weatherDate(){
//location是给定的坐标值
String log = "113.22079";
String lat = "28.46718";
//data 通过调用jsonData方法获取的json数据
String data;
data = getAdd(log,lat);
System.out.println(data);
}
方法三:传入坐标数据后获得城市数据的json格式
public static String getAdd(String log, String lat ){
//lat 小 log 大
//参数解释: 纬度,经度 type 001 (100代表道路,010代表POI,001代表门址,111可以同时