识别在C#上单击了哪个多边形

我正在地图上添加多个多边形,并试图确定单击了哪个多边形。 C#已经可以识别是否单击了多边形,但是我需要确定单击了哪个多边形。我对此进行了许多尝试,但目前我在底部遇到了错误:

{
     gMapControl1.MapProvider = GMapProviders.GoogleMap;
     gMapControl1.Position = new PointLatLng(52.2659416,10.5267296);

     GMapOverlay polygons = new GMapOverlay("polygons");
     List<PointLatLng> points = new List<PointLatLng>();
     points.Add(new PointLatLng(52.2659416,10.5267296));
     points.Add(new PointLatLng(62.2659416,20.5267296));
     points.Add(new PointLatLng(52.2659416,20.5267296));
     GMapPolygon polygon = new GMapPolygon(points,"test");
     polygons.Polygons.Add(polygon);
     gMapControl1.Overlays.Add(polygons);
}

private void gmap_OnPolygonClick(GMapPolygon item,MouseEventArgs e)
{
     Console.WriteLine(String.Format("Polygon {0} with tag {1} was clicked",item.Name,item.Tag));
}
  

错误CS0104'MouseEventArgs'是'System.Windows.Forms.MouseEventArgs'和'System.Windows.Input.MouseEventArgs'之间的模糊引用

wellen2oo3 回答:识别在C#上单击了哪个多边形

您必须将多边形的IsHitTestVisible指定为true:

polygon.IsHitTestVisible = true;

在这里找到它: GMap - cannot detect clicking on polygon

本文链接:https://www.f2er.com/3155985.html

大家都在问