我有WPF项目。我正在与GMap.Net合作。 我的项目即将展示巴士在城市中的位置。对于演示版本,我想要列出点并每5秒更改一次标记位置。 有2个问题。首先,我应该提到,在展示演示版本时我没有互联网连接,第二个是当我尝试休眠时,映射在所有Thread.Sleeps()执行之前不显示任何内容。如何使我的项目没有Thread.Sleep()?
PointLatLng[] points = new PointLatLng[]
{
new PointLatLng(34.633400, 50.867886),
new PointLatLng(34.632469, 50.866215),
new PointLatLng(34.631213, 50.864210),
new PointLatLng(34.629314, 50.861153),
new PointLatLng(34.626737, 50.857140)
};
int i = -1;
do
{
i++;
GMapMarker marker = new GMapMarker(points[i]);
marker.Shape = new Control.Marker(0, 0, 65, 90);
MainMap.Markers.Add(marker);
System.Threading.Thread.Sleep(5000);
MainMap.Markers.RemoveAt(0);
if (i == 3) break; ;
} while (true);
在执行Do-While循环后,Map会显示。 我尝试:
Task.Factory();
而且
BackgroundWorker
,但因为我的代码包含UI控件我得到了错误。 有没有解决方法?
我试过Task.Delay(5000);但所有的点都立即画出来。怎么运行的? –
你使用了await/async关键字吗? – Nasreddine
感谢它的工作,我会在7分钟内接受你的回答。 –