コード例 #1
0
        public async void UpdateBus()
        {
            HttpClient client = new HttpClient();

            client.DefaultRequestHeaders.Add("User-Agent",
                                             "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");


            while (true)
            {
                var parameters = new Dictionary <string, string> {
                    { "type", "2" }
                };

                var encodedContent = new FormUrlEncodedContent(parameters);
                var result         = await client.PostAsync("http://z98950oc.beget.tech/ETApi/TransportInfo.php", encodedContent);

                String Response = await result.Content.ReadAsStringAsync();



                Console.WriteLine(Response);
                Bus[] BussCollection = JsonConvert.DeserializeObject <Bus[]>(Response);

                if (BusDataAnno.Count > 0)
                {
                    foreach (BusAnnotation busAnno in BusDataAnno)
                    {
                        mapView.RemoveAnnotation(busAnno.point);
                    }
                    BusDataAnno.Clear();
                }

                var Bus = new BusAnnotation();
                for (int i = 0; i < BussCollection.Length; i++)
                {
                    //выводим данные по транспорту
                    Console.WriteLine(BussCollection[i].id_bus);
                    var separator = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;



                    double latitude  = Double.Parse(Regex.Replace(BussCollection[i].lati, "[.,]", separator));
                    double longitude = Double.Parse(Regex.Replace(BussCollection[i].longi, "[.,]", separator));
                    if (latitude != 0 && longitude != 0)
                    {
                        var CoordinateB = new CLLocationCoordinate2D(latitude, longitude);

                        MKPointAnnotation SavePoint = new MKPointAnnotation()
                        {
                            Title      = BussCollection[i].numberBus,
                            Coordinate = new CLLocationCoordinate2D(latitude, longitude)
                        };
                        MapShow.AddAnnotations(SavePoint);


                        Bus.Title = BussCollection[i].numberBus;
                        Bus.point = SavePoint;
                        BusDataAnno.Add(Bus);
                    }
                }


                await Task.Delay(10000);
            }
        }