Example #1
0
 // 地面站距离环
 void frm_changebox10_event(Boolean selected)
 {
     if (selected)
     {
         landDistenceCircle = true;
         landCircleOverlay.Clear();
         this.gMapControl1.Overlays.Add(landCircleOverlay);
         if (landStation)
         {
             List <Dictionary <string, object> > result = ProfileHelper.Instance.Select("SELECT * FROM LandStation");
             foreach (Dictionary <string, object> dictionary in result)
             {
                 String name   = Convert.ToString(dictionary["Name"]);
                 double lat    = Convert.ToDouble(dictionary["Lat"]);
                 double lang   = Convert.ToDouble(dictionary["Lng"]);
                 double length = Convert.ToDouble(dictionary["Length"]);
                 int    num    = Convert.ToInt16(dictionary["Num"]);
                 while (num > 0)
                 {
                     PointLatLng      point            = new PointLatLng(lat, lang);
                     GMapMarkerCircle gMapMarkerCircle = new GMapMarkerCircle(point, (int)length * num);
                     landCircleOverlay.Markers.Add(gMapMarkerCircle);
                     num--;
                 }
             }
         }
     }
     else
     {
         landDistenceCircle = false;
         landCircleOverlay.Clear();
         this.gMapControl1.Overlays.Remove(landCircleOverlay);
     }
     gMapControl1.Refresh();
 }
Example #2
0
        // 展示航迹圈圆
        private void showFlightCircle(double lat, double lang, int length)
        {
            PointLatLng      point1           = new PointLatLng(lat, lang);
            GMapMarkerCircle gMapMarkerCircle = new GMapMarkerCircle(point1, length);

            planeOverlay.Markers.Add(gMapMarkerCircle);
        }
Example #3
0
        /*
         * 空域box
         * */
        void frm_changebox2_event(Boolean selected, int flag)
        {
            if (selected || (2 == flag && airSpace == true))
            {
                airSpace = true;
                airSpaceOverlay.Clear();
                this.gMapControl1.Overlays.Add(airSpaceOverlay);

                listAirSpace = new List <String>();
                List <Dictionary <string, object> > nameResult = ProfileHelper.Instance.Select("SELECT DISTINCT Name FROM AirSpace");
                foreach (Dictionary <string, object> dictionary in nameResult)
                {
                    String name = Convert.ToString(dictionary["Name"]);
                    listAirSpace.Add(name);
                }

                foreach (String name in listAirSpace)
                {
                    List <Dictionary <string, object> > result = ProfileHelper.Instance.Select("SELECT * FROM AirSpace WHERE Name = \"" + name + "\"");
                    if (result.Count > 0)
                    {
                        int type = Convert.ToInt16(result[0]["Type"]);
                        if (1 == type)
                        {
                            // 圆形
                            double           t                = Convert.ToDouble(result[0]["Lat"]);
                            double           g                = Convert.ToDouble(result[0]["Lng"]);
                            double           radius           = Convert.ToDouble(result[0]["Radius"]);
                            PointLatLng      point            = new PointLatLng(t, g);
                            GMapMarkerCircle gMapMarkerCircle = new GMapMarkerCircle(point, (int)radius);
                            airSpaceOverlay.Markers.Add(gMapMarkerCircle);
                        }
                        if (0 == type)
                        {
                            // 多边形
                            List <PointLatLng> points = new List <PointLatLng>();
                            foreach (Dictionary <string, object> dictionary in result)
                            {
                                double      t     = Convert.ToDouble(dictionary["Lat"]);
                                double      g     = Convert.ToDouble(dictionary["Lng"]);
                                PointLatLng point = new PointLatLng(t, g);
                                points.Add(point);
                            }
                            GMapPolygon polygon = new GMapPolygon(points, "mypolygon");
                            polygon.Fill   = new SolidBrush(Color.FromArgb(50, Color.Red));
                            polygon.Stroke = new Pen(Color.Red, 1);
                            airSpaceOverlay.Polygons.Add(polygon);
                        }
                    }
                }

                gMapControl1.Refresh();
            }
            else
            {
                if (1 == flag)
                {
                    airSpace = false;
                    airSpaceOverlay.Clear();
                    this.gMapControl1.Overlays.Remove(airSpaceOverlay);
                    gMapControl1.Refresh();
                }
            }
        }