BingSearchCompletedEventHandler Delegate
A method that will handle the BingSearchDataProvider.SearchCompleted event.
Namespace: DevExpress.XtraMap
Assembly: DevExpress.XtraMap.v18.1.dll
Declaration
public delegate void BingSearchCompletedEventHandler(
object sender,
BingSearchCompletedEventArgs e
);
Parameters
Name | Type | Description |
---|---|---|
sender | Object | The event source. |
e | BingSearchCompletedEventArgs | A BingSearchCompletedEventArgs object that contains event data. |
Remarks
When creating a BingSearchCompletedEventHandler delegate, you identify the method that will handle the corresponding event. To associate an event with your event handler, add a delegate instance to this event. The event handler is called whenever the event occurs, unless you remove the delegate. For more information about event handler delegates, see Events and Delegates in MSDN.
Example
To manually generate map items for received GIS data, do the following.
- Set the InformationDataProviderBase.GenerateLayerItems property to false.
- Handle the Geocode data received event of the Bing geocode data provider (BingSearchDataProvider.SearchCompleted).
- In the event handler, implement map item generation based on information stored in the SearchRequestResult.SearchResults array of LocationInformation objects.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/manually-generate-map-items-for-location-information-received-from-the-bing-search-provider-t188838
using DevExpress.XtraEditors;
using DevExpress.XtraMap;
using System;
using System.Text;
namespace MapControl_SearchProcessing {
public partial class Form1 : XtraForm {
string BingKey { get { return "YourBingKey"; } }
public Form1() {
InitializeComponent();
SearchProvider.SearchCompleted += OnSearchCompleted;
SearchLayer.DataRequestCompleted += OnDataRequestCompleted;
BingMapDataProvider.BingKey = BingKey;
SearchProvider.BingKey = BingKey;
}
private void btnSearch_Click(object sender, EventArgs e) {
SearchProvider.Search(teKeyword.Text);
}
#region #SearchResultProcessing
void OnSearchCompleted(object sender, BingSearchCompletedEventArgs e) {
if(e.Cancelled) return;
if(e.RequestResult.ResultCode != RequestResultCode.Success) {
meResult.Text = "The Bing Search service does not work for this location.";
return;
}
StringBuilder resultList = new StringBuilder("");
int resCounter = 1;
foreach(BingLocationInformation resultInfo in e.RequestResult.SearchResults) {
resultList.Append(String.Format("Result {0}: \r\n", resCounter));
resultList.Append(String.Format("Name: {0}\r\n", resultInfo.DisplayName));
resultList.Append(String.Format("Address: {0}\r\n", resultInfo.Address.FormattedAddress));
resultList.Append(String.Format("Confidence level: {0}\r\n", resultInfo.Confidence));
resultList.Append(String.Format("Geographic coordinates: {0}\r\n", resultInfo.Location));
resultList.Append(String.Format("Match code: {0}\r\n", resultInfo.MatchCode));
resultList.Append(String.Format("______________________________\r\n"));
resCounter++;
}
meResult.Text = resultList.ToString();
}
#endregion #SearchResultProcessing
void OnDataRequestCompleted(object sender, RequestCompletedEventArgs e) {
mapControl.ZoomToFitLayerItems(0.4);
}
}
}
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the BingSearchCompletedEventHandler delegate.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.