在哪里插入新的多边形点?
Where To Insert New Polygon Points?
我在 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);
}
}
完成本教程 - GMAP.NET TUTORIAL – MAPS, MARKERS AND POLYGONS 将非常有益。它解释了如何在窗体上放置地图控件、如何对其进行初始化以显示所需的坐标、如何向其添加标记以及如何添加多边形。
您还可以找到有关如何在 Add a polygon 中实现多边形的可编辑 属性 和设置可拖动 属性 的更多信息和更多示例代码。
我在 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);
}
}
完成本教程 - GMAP.NET TUTORIAL – MAPS, MARKERS AND POLYGONS 将非常有益。它解释了如何在窗体上放置地图控件、如何对其进行初始化以显示所需的坐标、如何向其添加标记以及如何添加多边形。
您还可以找到有关如何在 Add a polygon 中实现多边形的可编辑 属性 和设置可拖动 属性 的更多信息和更多示例代码。