// create a bool array at global scope: bool[] completedArr = new bool[2]; // on completed of 1st qry write: completedArr [0]=true; if(completedArr [0]==true && completedArr [1]==true) { // call a function/write code to merge and display the result MERGE_RESULT(); } // on completin of qry 2 write following completedArr [1]=true; if(completedArr [0] ==true && completedArr [1]==true) { MERGE_RESULT(); } // in merge method write like this : private void MERGE_RESULT() { completedArr [0]=false; completedArr [1]=false; // your logic to merge the results }
FeatureSet[] _featureSet = new FeatureSet[2]; private void Button_Click(object sender, RoutedEventArgs e) { Query query1 = new Query(); Query query2 = new Query(); QueryTask queryTask = new QueryTask(); queryTask.ExecuteCompleted += QueryCompleted; // Setup your querys DispatcherTimer timer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(500)}; timer.Tick += (s, arg) => { if ( queryTask.IsBusy ) return; timer.Stop(); queryTask.ExecuteAsync(query2, "QUERY2"); }; queryTask.ExecuteAsync(query1, "QUERY1"); timer.Start(); } private void QueryCompleted(object sender, QueryEventArgs e) { if ( (string)e.UserState == "QUERY1") { _featureSet[0] = e.FeatureSet; } if ( (string)e.UserState == "QUERY2" ) { _featureSet[1] = e.FeatureSet; } DispatcherTimer timer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(500) }; timer.Tick += (s, arg) => { if ( _featureSet[0] == null || _featureSet[1] == null ) return; timer.Stop(); //do the create intersection stuff //make sure to reset _featureSet[] when done with FeatureSet[] _featureSet = new FeatureSet[2]; }; timer.Start(); }
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.