开发 Android 地图SDK 开发指南 获取地图数据 获取天气数据

获取天气数据 最后更新时间: 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包。

返回顶部 示例中心 常见问题 智能客服 公众号
二维码