在Gmap.net中无法获取GMapMarkerCircle的Click事件

时间:2018-07-10 08:28:37

标签: c# winforms maps gis gmap.net

我正在使用Gmap.net内置类GMapMarkerCircle来显示一个表示多边形顶点的圆。我需要为用户提供通过移动这些圆形标记点来调整多边形大小的功能。我的问题是我无法获得GMapMarkerCircle的任何事件。到目前为止,我正在使用以下代码...

        GMapOverlay overlay = new GMapOverlay();
        // Create all circles
        List<PointLatLng> listVertexPoints = Get_VertexPoints(zoneVertex);           
        // Create Polygon
        GMapPolygon zonePolygon;
        zonePolygon = new GMapPolygon(listVertexPoints, zoneName);
        zonePolygon.Fill = new SolidBrush(Color.FromArgb(50, Color.Red));
        zonePolygon.Stroke = new Pen(zoneBoundaryColor, 1);
        zonePolygon.IsFilled = true;
        zonePolygon.IsHitTestVisible = true;
        overlay.Polygons.Add(zonePolygon);
        foreach (PointLatLng vertex in listVertexPoints)
        {
            GMapMarkerCircle circleVertex = new GMapMarkerCircle(vertex, 1, 1, 1, 1, Color.Red, 1);// GMarkerGoogle(vertex, GMarkerGoogleType.blue_pushpin);
            circleVertex.IsVisible = true;
            circleVertex.IsHitTestVisible = true;
            overlay.Markers.Add(circleVertex);
        }
        this.MainMap.Overlays.Add(overlay);
        this.MainMap.Invalidate();

请帮助我找到这些圆圈标记的事件。

谢谢!

1 个答案:

答案 0 :(得分:1)

这正是标记单击事件的用途。使用此事件

gMapControl1.OnMarkerClick += new MarkerClick(gMapControl1_OnMarkerClick);

void gMapControl1_OnMarkerClick(GMapMarker item, MouseEventArgs e)
{

}

在点击其中一个标记时触发。然后,您可以检测到鼠标按钮被按下,并用它将标记拖动到新位置。