Beispiel #1
0
 private void 添加一个点ToolStripMenuItem_Click(object sender, System.EventArgs e)
 {
     if (lineElement == null)
     {
         return;
     }
     lineElement.AddPoint(new MapLngLat(0, 0));
 }
Beispiel #2
0
        /// <summary>
        /// 鼠标按下事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gmapControl_MouseDown(object sender, MouseEventArgs e)
        {
            TimeSpan span = DateTime.Now - fistTimer;

            if (span.TotalMilliseconds < 170)
            {
                return;
            }
            fistTimer = DateTime.Now;
            if (e.Clicks == 2 || e.Button != MouseButtons.Left || mouseDown)
            {
                return;
            }
            var lngLat    = gmapControl.FromLocalToLatLng(e.X, e.Y);
            var maplngLat = new MapLngLat(lngLat.Lng, lngLat.Lat);

            if (listMapPoints.Count == 0)
            {
                //加线
                Kml kmlLine = new Kml();
                kmlLine.Placemark.Name = "draw_line" + Utils.ElementIndex;

                KmlLineString line = new KmlLineString();
                line.Color = Color.Green;
                line.Width = 2;
                List <MapLngLat> pList = new List <MapLngLat>();
                pList.Add(new MapLngLat(lngLat.Lng, lngLat.Lat));
                line.PositionList       = pList;                    //string.Format("{0},{1}", lngLat.Lng, lngLat.Lat);
                kmlLine.Placemark.Graph = line;
                IMFElement element = null;
                drawn       = layer.AddElement(kmlLine, out element);
                lineElement = element as IMFLine;
                listMapPoints.Add(maplngLat);
                gmapControl.MouseMove += gmapControl_MouseMove;
            }
            else
            {
                if (!listMapPoints.Contains(maplngLat))
                {
                    listMapPoints.Add(maplngLat);
                    lineElement.AddPoint(maplngLat);
                }
            }
        }