示例#1
0
        public IActionResult GetWeather()
        {
            var longitude    = Request.Query["long"].ToString();
            var latitude     = Request.Query["lat"].ToString();
            var realTimeInfo = CaiyunService.GetRealtimeInfo(longitude, latitude);

            var getWeatherVm        = new GetWeatherVm();
            var realtimeClimateInfo = new RealtimeClimateInfo();

            getWeatherVm.RealtimeClimateInfo = realtimeClimateInfo;
            realtimeClimateInfo.Address      = Request.Query["address"].ToString();
            realtimeClimateInfo.AQI          = realTimeInfo.Item5;
            //otherRealtimeInfo.NearRainDistance = realTimeInfo.Item4;
            realtimeClimateInfo.PM                 = realTimeInfo.Item3;
            realtimeClimateInfo.Tempture           = realTimeInfo.Item6;
            realtimeClimateInfo.LocalPrecipitation = realTimeInfo.Item7;//增加本地降水量指标

            getWeatherVm.ClimateInfo = CaiyunService.GetPrediction(realtimeClimateInfo, longitude, latitude).Item2;

            return(View(getWeatherVm));
        }
示例#2
0
        public static Tuple <bool, ClimateInfo> GetPrediction(RealtimeClimateInfo realtimeClimateInfo, string longitude, string latitude)
        {
            var url     = $"http://api.caiyunapp.com/v2/{key}/{longitude},{latitude}/forecast.json";
            var getData = "unit=metric:v2";
            var result  = HttpHelper.HttpGet($"{url}?{getData}");

            if (JsonHelper.GetString(result, "status") != "ok")
            {
                LogHelper.Error("获取天气预报信息错误:" + result);
                return(null);
            }

            realtimeClimateInfo.ClimateDescription = JsonHelper.GetString(result, "result", "hourly", "description");
            realtimeClimateInfo.RainDescription    = JsonHelper.GetString(result, "result", "minutely", "description");
            var climateInfo = new ClimateInfo();

            climateInfo.Temperatures   = JsonHelper.Get <List <Dictionary <string, string> > >(result, "result", "daily", "temperature");
            climateInfo.AQIs           = JsonHelper.Get <List <Dictionary <string, string> > >(result, "result", "daily", "aqi");
            climateInfo.PMs            = JsonHelper.Get <List <Dictionary <string, string> > >(result, "result", "daily", "pm25");
            climateInfo.Skycons        = JsonHelper.Get <List <Dictionary <string, string> > >(result, "result", "daily", "skycon");
            climateInfo.Precipitations = JsonHelper.Get <List <Dictionary <string, string> > >(result, "result", "daily", "precipitation");

            return(new Tuple <bool, ClimateInfo>(true, climateInfo));
        }