Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 确定在c上单击哪个多边形#_C#_Google Maps - Fatal编程技术网

C# 确定在c上单击哪个多边形#

C# 确定在c上单击哪个多边形#,c#,google-maps,C#,Google Maps,我在地图上添加了多个多边形,并试图确定单击了哪个多边形。C#已经可以识别是否单击了多边形,但我需要确定单击了哪个多边形。我已经尝试了许多不同的方法,但目前我发现底部有一个错误: { gMapControl1.MapProvider = GMapProviders.GoogleMap; gMapControl1.Position = new PointLatLng(52.2659416, 10.5267296); GMapOverlay polygons = new

我在地图上添加了多个多边形,并试图确定单击了哪个多边形。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, 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));
}
{
gMapControl1.MapProvider=gmaproviders.GoogleMap;
gMapControl1.Position=新点位(52.2659416,10.5267296);
GMapOverlay多边形=新的GMapOverlay(“多边形”);
列表点=新列表();
增加点(新点位(52.2659416,10.5267296));
增加点(新点位(62.2659416,10.5267296));
增加点(新点位(62.2659416,20.5267296));
增加点(新点位(52.2659416,20.5267296));
GMapPolygon多边形=新的GMapPolygon(点,“测试”);
多边形。多边形。添加(多边形);
gMapControl1.Overlays.Add(多边形);
}
private void gmap_on Polygonclick(GMapPolygon项目,MouseEventArgs e)
{
Console.WriteLine(String.Format(“单击了带标记{1}的多边形{0}”),
item.Name,item.Tag));
}
错误CS0104“MouseEventArgs”是“System.Windows.Forms.MouseEventArgs”和“System.Windows.Input.MouseEventArgs”之间的不明确引用


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

polygon.IsHitTestVisible = true;
在这里找到它:

您的错误意味着您引用了
MouseEventArgs
,并且可能
同时使用
System.Windows.Forms
System.Windows.Input
。将对
MouseEventArgs
的引用更改为
System.Windows.XXXXX.MouseEventArgs
,其中
XXXXX
是您打算使用的引用。
System.Windows.Forms
用于WinForms,而
System.Windows.Input
用于WPF,您不应该同时使用这两种引用。您使用的是哪一个?我使用的是窗体,添加了系统,Windows.Forms删除了错误,但当我单击它时,它现在什么也不做。Form.Designer.cs条目应该是什么样子?为多边形指定的事件处理程序在哪里?也许你错过了。类似于
polygon.PolygonClicked+=gmap\u OnPolygonClick我在Form.designer.cs中有一个作业。但这并没有真正起作用。polygon.PolygonClicked+=gmap_OnPolygonClick;也似乎不起作用。