Я не могу получить имя GMapPolygon обоих полигонов, когда они перекрываются. В данном коде создаются два прямоугольника (синий и красный) - красный больше и перекрывает синий. Нажав на каждое из них, я хочу получить имя, но доступно только название красного прямоугольника.
Что я делаю не так? ...
private void Form1_Load(object sender, EventArgs e)
{
gmap.MapProvider = GMap.NET.MapProviders.BingMapProvider.Instance;
GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;
gmap.Position = new GMap.NET.PointLatLng(48.8589507, 2.2775175);
gmap.Zoom = 15;
GMapOverlay polygonsRed = new GMapOverlay("polygonsRed");
List<PointLatLng> pointsRed = new List<PointLatLng>();
pointsRed.Add(new PointLatLng(48.863851, 2.321593));
pointsRed.Add(new PointLatLng(48.866237, 2.323466));
pointsRed.Add(new PointLatLng(48.863746, 2.331748));
pointsRed.Add(new PointLatLng(48.861180, 2.330081));
GMapPolygon polygonRed = new GMapPolygon(pointsRed, "Red Polygon");
polygonRed.Fill = new SolidBrush(Color.FromArgb(50, Color.Red));
polygonRed.Stroke = new Pen(Color.Red, 1);
polygonRed.IsHitTestVisible = true;
polygonsRed.Polygons.Add(polygonRed);
gmap.Overlays.Add(polygonsRed);
GMapOverlay polygonsBlue = new GMapOverlay("polygonsBlue");
List<PointLatLng> pointsBlue = new List<PointLatLng>();
pointsBlue.Add(new PointLatLng(48.863851, 2.321593));
pointsBlue.Add(new PointLatLng(48.866237, 2.323466));
pointsBlue.Add(new PointLatLng(48.865172, 2.327143));
pointsBlue.Add(new PointLatLng(48.862550, 2.325285));
GMapPolygon polygonBlue = new GMapPolygon(pointsBlue, "Blue Polygon");
polygonBlue.Fill = new SolidBrush(Color.FromArgb(50, Color.Blue));
polygonBlue.Stroke = new Pen(Color.Blue, 1);
polygonBlue.IsHitTestVisible = true;
polygonsBlue.Polygons.Add(polygonBlue);
gmap.Overlays.Add(polygonsBlue);
}
private void gmap_OnPolygonClick(GMapPolygon item, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
contextMenu.Show(MousePosition, ToolStripDropDownDirection.Right);
polygonName.Text = item.Name;
}
}