【发布时间】:2021-04-24 00:47:20
【问题描述】:
我正在编写以下代码,通过鼠标右键单击在地图上放置几个标记(可以是 3-20 ...)并且工作正常。 之后单击一个单独的按钮,我想将它们与一个多边形连接起来。
我想我必须从 0 循环到“markers.Markers.Count”,但是如何访问标记的纬度/经度位置?我到处搜索,但没有找到解决方案。 :-(请帮忙!谢谢! 此代码工作正常:
private void map_MouseClick(object sender, MouseEventArgs e) //add NEW markers
{
if (e.Button == MouseButtons.Right)
{
var position = map.FromLocalToLatLng(e.X, e.Y);
var marker = new GMarkerGoogle(position, GMarkerGoogleType.blue);
map.Overlays.Add(markers);
markers.Markers.Add(marker);
}
}
此代码是挑战,应出现在按钮单击事件中: 将以下固定坐标替换为地图上已有标记的纬度/经度:
List<PointLatLng> points = new List<PointLatLng>();
for (int i = 0; i < markers.Markers.Count-1; i++)
{
// Get the Lat/Long from the list of the markers -> X & Y ***@@@ How to do this ??? @@@***
// replace here the fix coordinates with X & Y:
// points.Add(new PointLatLng(18.459806, 57.2874577));
}
//Populate polygon (just for info):
GMapPolygon polygon = new GMapPolygon(points, "My polygon");
polygon.Fill = new SolidBrush(Color.FromArgb(50, Color.Red));
polygon.Stroke = new Pen(Color.Red, 1);
polygons.Polygons.Add(polygon)
【问题讨论】:
标签: c# google-maps polygon marker gmap.net