我在stackexchange上看到了一些C++的答案,但我需要C#的答案。
我必须使用循环将多条MapPolyline添加到地图中。如果我不宣布一个新的,最后一个MapPolyLine是唯一显示的。
for (int i = 0; i< collections.Count(); i++)
{
//伪码(Locs是一个LocationCollection(
MapPolyline mapl(+i) = new MapPolyline();
mapl(+i).Stroke = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Orange);
mapl(+i).StrokeThickness = 2;
mapl(+i).Opacity = 0.8;
mapl(+i).Locations = locs;
mymap.Children.Add(mapl+i);
}
感谢
无需使用多个变量mapl(+i)
。只需使用一个-mapl
。循环中的每次迭代都会创建一个新对象,然后将其添加到某个集合中:
mymap.Children.Add(mapl);
所以你真的会有几个。如果你需要用数字来区分它们,只需在MapPolyline
类中添加一个字段,比如Id
,然后在循环中将其设置为i
:
mapl.Id = i;