private void RedrawPoly() { mapContent.Clear(); finalpoly = null; if (inMapPoly.Count == 0) { MView.DrawOnMapData(); return; } ; if (inMapPoly.Count == 1) { NaviMapNet.MapPoint ms = new NaviMapNet.MapPoint(inMapPoly[0]); ms.BodyColor = Color.Red; ms.BorderColor = Color.FromArgb(125, Color.Red); ms.SizePixels = new Size(16, 16); ms.Name = "Start"; mapContent.Add(ms); } else { if (!cLR.Checked) { NaviMapNet.MapPolygon mp = new NaviMapNet.MapPolygon(inMapPoly.ToArray()); mp.Width = 2; mp.Name = "MyPoly"; mp.Color = Color.FromArgb(125, Color.Red); mp.BorderColor = Color.Red; mapContent.Add(mp); finalpoly = mp.Points; } else { NaviMapNet.MapPolyLine ml = new NaviMapNet.MapPolyLine(inMapPoly.ToArray()); ml.Width = 2; ml.Name = "MyLine"; ml.Color = Color.FromArgb(125, Color.Maroon); ml.BorderColor = Color.Maroon; PolyLineBuffer.PolyLineBufferCreator.PolyResult pr = PolyLineBuffer.PolyLineBufferCreator.GetLineBufferPolygon(inMapPoly.ToArray(), (int)cD.Value, cR.Checked, cL.Checked, DistFunc); NaviMapNet.MapPolygon mp = new NaviMapNet.MapPolygon(pr.polygon); mp.Width = 2; mp.Name = "MyPoly"; mp.Color = Color.FromArgb(125, Color.Red); mp.BorderColor = Color.Red; mapContent.Add(mp); mapContent.Add(ml); finalpoly = mp.Points; }; }; MView.DrawOnMapData(); }