QueryTask_ExecuteCompleted

0 голосов
спросил 11 Апр, 14 от Dido_kz (2,240 баллов) в категории Программные продукты Esri
всем привет, необходимо на графическом слое отображать точки по одному, как правильно можно реализовать
private void QueryTask_ExecuteCompleted
{
if (featureSet != null && featureSet.Features.Count != 0)
{
foreach (Graphic graphic in featureSet.Features)
{
graphicsLayer.Graphics.Add(graphic);
}
}
}
отображает все очки одновременно
пробовал через метод Thread.Sleep, но карта подвисает и потом разом все точки появляются
юзаю DispatcherTimer
пока безрезультатно :)

2 Ответы

0 голосов
ответил 11 Апр, 14 от Dido_kz (2,240 баллов)
тема закрыта !
 FeatureSet fts = new FeatureSet();
DispatcherTimer timer = new DispatcherTimer();
int index = 0;
private void QueryTask_ExecuteCompleted(object sender, QueryEventArgs args)
{
if (featureSet != null && featureSet.Features.Count != 0)
{
graphicsLayer.Graphics.Clear();
fts = featureSet;
timer.Tick += new EventHandler(timer_Tick);
timer.Interval = TimeSpan.FromSeconds(1);
timer.Start();
return;
}
}
void timer_Tick(object sender, EventArgs e)
{
if (index < fts.Features.Count)
{
Graphic graphic = fts.Features[index];
graphicsLayer.Graphics.Add(graphic);
index++;
}
else
{
timer.Stop();
index = 0;
}
}
P.s. Модератор, создай для разработчиков SL,WPF,Flex,JavaScript ветви
0 голосов
ответил 14 Апр, 14 от Grigoriy (127,020 баллов)

P.s. Модератор, создай для разработчиков SL,WPF,Flex,JavaScript ветви

А смысл?
Есть ветка для разработчиков серверных приложений, а ты всё равно пишешь в другую :)
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...