// Выбор можно структурой
        public static object GetTown(Point pt, string stroke)
        {
            Points points = Points.getObj();
            TownList <Point, string> checkedTowns = points.Towns;

            double tempRange, minRange = GetRangeByPoints(pt, checkedTowns.GetObject(0).TownPoint);
            int    minTownId = 0;

            for (int i = 1; i < checkedTowns.Count; i++)
            {
                if (CheckCoordsPoint(pt, checkedTowns.GetObject(i).TownPoint))
                {
                    tempRange = GetRangeByPoints(pt, checkedTowns.GetObject(i).TownPoint);

                    if (tempRange < minRange)
                    {
                        minRange  = tempRange;
                        minTownId = i;

                        break;
                    }
                }
            }

            if (stroke == "str")
            {
                return(checkedTowns.GetElementName(minTownId));
            }
            else if (stroke == "obj")
            {
                return(checkedTowns.GetObject(minTownId));
            }
            else
            {
                return(null);
            }
        }
Beispiel #2
0
        private void Upload_Map(object sender, RoutedEventArgs e)
        {
            (TownList <Point, string>, int)uploadedTowns = ProcessingData.UploadFromXML();

            int countTowns = uploadedTowns.Item2;

            MyCanvas.Children.Clear();

            Points points = Points.getObj();

            points.Towns = uploadedTowns.Item1;

            TownList <Point, string> checkedTowns = points.Towns;

            for (int i = 0; i < countTowns; i++)
            {
                MyCanvas.Children.Add(new CustomCanvas(checkedTowns.GetObject(i).TownPoint, checkedTowns.GetElementName(i)));
            }

            lastAction.Text = "Загружены города";
        }