Skip to main content

BingSearchDataProvider Class

The class that is used to send requests to the Bing Maps Search service.

Namespace: DevExpress.XtraMap

Assembly: DevExpress.XtraMap.v24.2.dll

Declaration

public class BingSearchDataProvider :
    BingMapDataProviderBase,
    ISearchPanelRequestSender

Remarks

The Bing Search Data provider is represented by the BingSearchDataProvider object that can be accessed via the InformationLayer.DataProvider property.

Important

On May 21, 2024, Microsoft announced that Bing Maps for Enterprise and its API will be discontinued. Azure Maps will be a single unified enterprise mapping platform available from Microsoft.

We are working on API compatible with Azure Maps and expect to ship it with our next major release (v24.2).

If you have an existing license to Bing Maps for Enterprise, you can continue using our existing API. You need to transition to new API until June 30, 2025 (free and basic license) or until June 30, 2028 (enterprise license).

The last date you can get a new license to Bing Maps for Enterprise is June 30, 2025. If you do not have an existing license after that date, you would not be able to use our map controls with Bing Maps or Azure Maps (until we release the new API). During that time, you can use other map providers supported by our controls, such as OpenStreetMap.

To get access to the search options of the Bing Search Data provider, use the BingSearchDataProvider.SearchOptions property.

If you wish to see the search results in a search panel, use the BingSearchDataProvider.ShowSearchPanel property.

The Search(string keyword) method is used to find a particular location by its name.

The Search(BingAddress address) method is used to find places by their addresses.

The results will be returned using the SearchRequestResult.SearchResults property of the BingSearchDataProvider.SearchCompleted event arguments’ SearchCompletedEventArgs.RequestResult property.

Example

This example demonstrates how to allow users to search for a specific place on a map using the Search panel.

To enable searching in the map control, do the following.

The Search panel appears automatically (since the MapSearchPanelOptions.Visible property value is true by default).

Note

Refer to How to: Get a Bing Maps Key if you run the application and see a window with the following error message: “The specified Bing Maps key is invalid. To create a developer account, refer to https://www.microsoft.com/en-us/maps/create-a-bing-maps-key“.

using DevExpress.XtraMap;
using System.Windows.Forms;

namespace ConnectBingSearchProvider {
    public partial class Form1 : Form {
        const string bingKey = "YOUR BING KEY HERE";

        InformationLayer SearchLayer { 
            get {
                return (InformationLayer)mapControl1.Layers["SearchLayer"];
            }
        }

        public Form1() {
            InitializeComponent();

            BingSearchDataProvider searchProvider = new BingSearchDataProvider() { 
                BingKey = bingKey 
            };

            searchProvider.SearchOptions.ResultsCount = 5;

            SearchLayer.DataProvider = searchProvider;
        }      
    }
}
See Also