• wp天气预报


    ak

    url  http://developer.baidu.com/map/index.php?title=car

    后台cs

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Runtime.InteropServices.WindowsRuntime;
    using System.Runtime.Serialization.Json;
    using System.Text;
    using Windows.Data.Json;
    using Windows.Devices.Geolocation;
    using Windows.Foundation;
    using Windows.Foundation.Collections;
    using Windows.UI.Xaml;
    using Windows.UI.Xaml.Controls;
    using Windows.UI.Xaml.Controls.Primitives;
    using Windows.UI.Xaml.Data;
    using Windows.UI.Xaml.Input;
    using Windows.UI.Xaml.Media;
    using Windows.UI.Xaml.Navigation;
    using Windows.Web.Http;
    
    // “空白页”项模板在 http://go.microsoft.com/fwlink/?LinkId=234238 上提供
    
    namespace App3
    {
        /// <summary>
        /// 可独立使用或用于导航至 Frame 内部的空白页。
        /// </summary>
        public sealed partial class MainPage : Page
        {
            string ak = "XXXXXXXXXXXXXXXXXXXXXXXXXX";
            public MainPage()
            {
                this.InitializeComponent();
            }
            /// <summary>
            /// 导航到该页面的时候被执行
            /// </summary>
            /// <param name="e"></param>
            protected async override void OnNavigatedTo(NavigationEventArgs e)
            {
                Load.IsActive = true;
                var cityName = await GetCityName();
                var data = await GetWeatherByCityName(cityName);
                var viewModel = new MainPageViewModel();
                viewModel.CityName = cityName;
                viewModel.IndexInfos = data.results[0].index;
                viewModel.WeatherInfos = data.results[0].weather_data;
                this.DataContext = viewModel;
                Load.IsActive = false;
    
            }
    
            private async System.Threading.Tasks.Task<weatherDate> GetWeatherByCityName(string cityName)
            {
                var apiAddress = string.Format("http://api.map.baidu.com/telematics/v3/weather?location={0}&output=json&ak={1}", cityName, ak);
                HttpClient client = new HttpClient();
                var json = await client.GetStringAsync(new Uri(apiAddress));
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(weatherDate));
                using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
                {
                    return serializer.ReadObject(ms) as weatherDate;
                }
            }
    
            private static async System.Threading.Tasks.Task<string> GetCityName()
            {
                Geolocator o = new Geolocator();
                var geo = await o.GetGeopositionAsync();
                var position = geo.Coordinate.Point.Position;
                var apiAddress = string.Format("http://api.map.baidu.com/geocoder/v2/?ak=XXXXXXXXXXXXXXXXXXXXXX&output=json&location={0},{1}", position.Latitude, position.Longitude);
                HttpClient client = new HttpClient();
                var json = await client.GetStringAsync(new Uri(apiAddress));
                var jsonObject = JsonObject.Parse(json);
                var cityName = jsonObject["result"].GetObject()["addressComponent"].GetObject()["city"].GetString();
                return cityName;
            }
        }
        public class MainPageViewModel
        {
            public string CityName { get; set; }
            public IList<indexList> IndexInfos { get; set; }
            public IList<weather_dataList> WeatherInfos { get; set; }
        }
        public class weatherDate
        {
            public int error { get; set; }
            public string status { get; set; }
            public string date { get; set; }
            public List<resultsList> results { get; set; }
        }
        public class resultsList
        {
            public string currentCity { get; set; }
            public string pm25 { get; set; }
            public List<indexList> index { get; set; }
            public List<weather_dataList> weather_data { get; set; }
        }
        public class indexList
        {
            public string title { get; set; }
            public string zs { get; set; }
            public string tipt { get; set; }
            public string des { get; set; }
        }
        public class weather_dataList
        {
            public string date { get; set; }
            public string dayPictureUrl { get; set; }
            public string nightPictureUrl { get; set; }
            public string weather { get; set; }
            public string wind { get; set; }
            public string temperature { get; set; }
        }
    
    }
    

     前台xaml

    <Page
        x:Class="App3.MainPage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="using:App3"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    
        <Grid>
            <Hub>
                <HubSection  x:Uid="index1">
                    <HubSection.Background>
                        <ImageBrush  ImageSource="/Assets/aa.jpg" Stretch="UniformToFill"/>
                    </HubSection.Background>
                    <DataTemplate>
                        <Grid Width="350" Height="500" >
                            <TextBlock Text="{Binding CityName}" Foreground="Red" HorizontalAlignment="Center" VerticalAlignment="Center"   FontSize="22"  />
                        </Grid>
                    </DataTemplate>
                </HubSection>
                <HubSection x:Uid="index2">
                    <DataTemplate>
                        <ListView ItemsSource="{Binding WeatherInfos}">
                            <ListView.ItemTemplate>
                                <DataTemplate>
                                    <Border Width="360" BorderThickness="2" BorderBrush="#FF2996AE">
                                        <StackPanel>
                                            <TextBlock Text="{Binding date}" FontSize="25"/>
                                            <TextBlock Text="{Binding weather}" FontSize="30"/>
                                            <StackPanel Orientation="Horizontal">
                                                <Image Source="{Binding dayPictureUrl}"></Image>
                                            </StackPanel>
                                            <TextBlock Text="{Binding wind}" FontSize="25"/>
                                            <TextBlock Text="{Binding temperature}" FontSize="30"/>
                                        </StackPanel>
                                    </Border>
                                </DataTemplate>
                            </ListView.ItemTemplate>
                        </ListView>
                    </DataTemplate>
                </HubSection>
                <HubSection x:Uid="index3">
                    <DataTemplate>
                        <ListView ItemsSource="{Binding IndexInfos}">
                            <ListView.ItemTemplate>
                                <DataTemplate>
                                    <Border>
                                        <StackPanel>
                                            <TextBlock Text="{Binding tipt}" FontSize="30"/>
                                            <TextBlock Text="{Binding zs}" FontSize="30"/>
                                            <TextBlock Text="{Binding des}" FontSize="30" TextWrapping="Wrap"/>
                                        </StackPanel>
                                    </Border>
                                </DataTemplate>
                            </ListView.ItemTemplate>
                        </ListView>
                    </DataTemplate>
                </HubSection>
            </Hub>
            <ProgressRing Height="100" Width="100" x:Name="Load"/>
        </Grid>
    </Page>
    
  • 相关阅读:
    单细胞转录组CNV分析
    瘦子增肌计划 | 健身
    WashU Epigenome Browser | ChIP-seq | DNase-Seq | ATAC-seq | 表观
    羽毛球新手教学
    可变剪切 | isoform | 提取特定exon的usage | DEXSeq
    文献快读 | 单细胞测序肾癌的免疫微环境与临床疗效的关系
    內外全科醫學士課程 | MBBS | 医疗
    天龙八部 | 中国名著 | 刷剧
    当代人工智能的基石 | 数据标注
    提取基因的特定外显子exon的碱基序列 | NCBI
  • 原文地址:https://www.cnblogs.com/crazyair/p/4437314.html
Copyright © 2020-2023  润新知