Back to Devexpress

How to: Connect a Map Control to the Bing Search Service

windowsforms-16667-controls-and-libraries-map-control-examples-gis-data-searching-how-to-connect-a-map-control-to-the-bing-search-service.md

latest2.3 KB
Original Source

How to: Connect a Map Control to the Bing Search Service

  • Nov 13, 2018

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.

  • Create an InformationLayer and add it to the map.
  • Create an instance of the BingSearchDataProvider and assign it to the InformationLayer.DataProvider property.
  • Specify the Bing Maps key using the BingMapDataProvider.BingKey property.

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

csharp
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;
        }      
    }
}
vb
Imports DevExpress.XtraMap
Imports System.Windows.Forms

Namespace ConnectBingSearchProvider
    Partial Public Class Form1
        Inherits Form

        Private Const bingKey As String = "YOUR BING KEY HERE"

        Private ReadOnly Property SearchLayer() As InformationLayer
            Get
                Return CType(mapControl1.Layers("SearchLayer"), InformationLayer)
            End Get
        End Property

        Public Sub New()
            InitializeComponent()

            Dim searchProvider As New BingSearchDataProvider() With {.BingKey = bingKey}

            searchProvider.SearchOptions.ResultsCount = 5

            SearchLayer.DataProvider = searchProvider
        End Sub
    End Class
End Namespace