Dear All,
together with the address the Longitude & Latitude should be saved.
I tried to use the AutoResetEvent but it is not working.
After WaitOne() is called, nothing happens. The EventHanlder is never called.
Please let me know if you have an idea.
AutoResetEvent waitHandle = new AutoResetEvent(false);
if (fullAddress != String.Empty && Item.Longitude == 0 && Item.Latitude == 0)
{
Telerik.Windows.Controls.Map.BingSearchProvider provider = new Telerik.Windows.Controls.Map.BingSearchProvider(bingApplicationId);
Telerik.Windows.Controls.Map.SearchRequest newSearchRequest = new Telerik.Windows.Controls.Map.SearchRequest();
newSearchRequest.Query = fullAddress;
EventHandler<Telerik.Windows.Controls.Map.SearchCompletedEventArgs> eventHandler = delegate(object sender, Telerik.Windows.Controls.Map.SearchCompletedEventArgs e)
{
foreach (Telerik.Windows.Controls.Map.SearchResultSet result in e.Response.ResultSets)
{
if (result.SearchRegion != null)
{
Item.Longitude = Convert.ToDecimal(result.SearchRegion.GeocodeLocation.BestView.Center.Longitude);
Item.Latitude = Convert.ToDecimal(result.SearchRegion.GeocodeLocation.BestView.Center.Latitude);
Debug.WriteLine(String.Format("{0} Latitude:{1} Longitude:{2}", Item.Name1, Item.Latitude, Item.Longitude));
}
}
waitHandle.Set();
};
provider.SearchCompleted += eventHandler;
provider.SearchAsync(newSearchRequest);
waitHandle.WaitOne();
Debug.WriteLine(fullAddress);
}