获取天气数据 最后更新时间: 2021年01月22日
简介
通过天气查询,可获取城市的实时天气、今天和未来3天的预报天气,可结合定位和逆地理编码功能使用,查询定位点所在城市的天气情况。注意:仅支持中国部分地区数据(台湾省目前没有数据)返回。
天气查询是一个可用来改善app体验的功能,如:在跑步类app中加入天气的提醒;出行前了解天气情况以便安排行程。
天气查询的请求参数类为 WeatherSearch,city(城市)为必设参数,type(气象类型)为可选,包含有两种类型:WEATHER_TYPE_LIVE为实况天气;WEATHER_TYPE_FORECAST为预报天气,默认为 实况天气。
示例代码
实况天气的代码如下: 第一步:设置查询条件及天气监听接口。
//检索参数为城市和天气类型,实况天气为WEATHER_TYPE_LIVE、天气预报为WEATHER_TYPE_FORECAST
mquery = new WeatherSearchQuery("北京", WeatherSearchQuery.WEATHER_TYPE_LIVE);
mweathersearch=new WeatherSearch(this);
mweathersearch.setOnWeatherSearchListener(this);
mweathersearch.setQuery(mquery);
mweathersearch.searchWeatherAsyn(); //异步搜索
第二步:获取天气查询结果。
/**
* 实时天气查询回调
*/
@Override
public void onWeatherLiveSearched(LocalWeatherLiveResult weatherLiveResult ,int rCode) {
if (rCode == 1000) {
if (weatherLiveResult != null&&weatherLiveResult.getLiveResult() != null) {
weatherlive = weatherLiveResult.getLiveResult();
reporttime1.setText(weatherlive.getReportTime()+"发布");
weather.setText(weatherlive.getWeather());
Temperature.setText(weatherlive.getTemperature()+"°");
wind.setText(weatherlive.getWindDirection()+"风 "+weatherlive.getWindPower()+"级");
humidity.setText("湿度 "+weatherlive.getHumidity()+"%");
}else {
ToastUtil.show(WeatherSearchActivity.this, R.string.no_result);
}
}else {
ToastUtil.showerror(WeatherSearchActivity.this, rCode);
}
}
截图效果如下:
注意事项
请注意:使用上述功能需要下载地图SDK,导入搜索功能的jar包。