How to: Connect a Map Control to the Bing Search Service
- 2 minutes to read
This example demonstrates how to allow users to search for a specific place on a map using the Search panel.
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 enable searching in the map control, do the following.
- Create an InformationLayer and add it to the MapControl.Layers collection.
- Create an instance of the BingSearchDataProvider and assign it to the InformationLayer.DataProvider property.
- Specify the Bing Maps key using the BingMapDataProviderBase.BingKey property.
The Search panel appears automatically (since the BingSearchDataProvider.ShowSearchPanel property value is true by default).
Note
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”, refer to the following tutorial: How to: Get a Bing Maps Key.
<dxm:InformationLayer.DataProvider>
<dxm:BingSearchDataProvider BingKey="{Binding Source={StaticResource YourBingKey}}">
<dxm:BingSearchDataProvider.SearchOptions>
<dxm:BingSearchOptions ResultsCount="5" />
</dxm:BingSearchDataProvider.SearchOptions>
</dxm:BingSearchDataProvider>
</dxm:InformationLayer.DataProvider>