我在GMap.NET项目中使用多边形。创建多边形很简单,但我无法弄清楚在哪里插入一组新的点(用于拖动和重塑多边形的标记)。
新标记必须位于用户单击鼠标的其他两个现有标记之间。
如何在点击的位置之间找到两个标记?
[编辑]代码请求:
private void gMapControl1OnPolygonClick(GMapPolygon item, MouseEventArgs e)
{
if (item is GMapPolygon && e.Button == System.Windows.Forms.MouseButtons.Right)
{
GMapPolygon gpl = item as GMapPolygon;
Bitmap bmp = Resources.ResourceManager.GetObject("gold_tristar", Resources.Culture) as Bitmap;
PointLatLng T = gMapControl1.FromLocalToLatLng(e.X, e.Y);
polyOverlay1.Markers.Add(new MyMarkerGoogle(new PointLatLng(T.Lat, T.Lng), bmp));
polyOverlay1.Markers[polyOverlay1.Markers.Count - 1].Tag = polyOverlay1.Markers.Count - 1;
gpl.Points.Add(T);
gMapControl1.UpdatePolygonLocalPosition(polygon);
}
}
答案 0 :(得分:1)
完成本教程 - GMAP.NET TUTORIAL – MAPS, MARKERS AND POLYGONS将非常有益。它解释了如何在表单上放置地图控件,如何初始化它以显示所需的坐标,如何向其添加标记以及如何添加多边形。
您还可以找到有关如何实现多边形的可编辑属性的其他信息和更多示例代码,并在Add a polygon中设置可拖动属性。