我使用的是GMaps.net的WPF版本。某些功能,如多边形选择并不那么明显。
我需要做的是检测地图上的多边形单击,然后更改多边形的属性(不透明度等)以显示它已被选中。实现这一目标的一种自定义方法是通过鼠标点击事件获取鼠标坐标,并使用一些矢量数学进行多边形交叉测试,但是我确定必须有内置方法来执行此操作吗?
为清楚起见,这就是我创建多边形的方法:
GMapPolygon polygon = new GMapPolygon(polyPointList);
polygon.RegenerateShape(gMapControl1);
(polygon.Shape as Path).Stroke = Brushes.DarkBlue;
(polygon.Shape as Path).Opacity = 0.5;
gMapControl1.Markers.Add(polygon);
答案 0 :(得分:1)
我相信你是对的,多边形的WPF版本并没有开箱即用。
认为您可以使用点击的PointLatLng
并检查它是否在多边形的范围内。取the WinForms version of it并进行调整。最后,这只是缺乏数学的那一点。