Skip to main content

BingSearchCompletedEventArgs Class

OBSOLETE

This class is obsolete. Microsoft deprecated Bing Maps on June 30th, 2025. For alternative providers, see https://www.devexpress.com/bing-maps-wpf

Provides data for the BingSearchDataProvider.SearchCompleted event.

Namespace: DevExpress.Xpf.Map

Assembly: DevExpress.Xpf.Map.v25.1.dll

NuGet Package: DevExpress.Wpf.Map

Declaration

[Obsolete("This class is obsolete. Microsoft deprecated Bing Maps on June 30th, 2025. For alternative providers, see https://www.devexpress.com/bing-maps-wpf")]
[PreferableMember("BingSearchCompletedEventArgs", "", "")]
public class BingSearchCompletedEventArgs :
    SearchCompletedEventArgs

Remarks

An instance of the BingSearchCompletedEventArgs class with appropriate settings is automatically created and passed to the corresponding event’s handler.

Example

This example demonstrates how to manually process received Bing Search request results.

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.

To obtain and display map data from Azure Maps, we implemented the following providers:

For information on how to migrate your app from Bing Maps to Azure Maps, see the following help topic: DevExpress Map Control for WPF: Migrate from Bing Maps to Azure Maps.

If you already have a Bing Maps for Enterprise license, you can keep using the current API. You must transition to the new API by June 30, 2025 (for free/basic licenses) or June 30, 2028 (for enterprise licenses). New licenses will no longer be available after June 30, 2025. Bing Maps will not work with our map controls without a license after that date.

View Example

Private Sub searchProvider_SearchCompleted(ByVal sender As Object, ByVal e As BingSearchCompletedEventArgs)
    If e.Cancelled Then
        Return
    End If
    If e.RequestResult.ResultCode <> RequestResultCode.Success Then
        Return
    End If

    Dim sb As New StringBuilder()

    Dim requestResult As SearchRequestResult = e.RequestResult
    sb.Append(String.Format("Result Code: {0}" & vbLf, requestResult.ResultCode))
    If String.IsNullOrEmpty(requestResult.FaultReason) Then
        sb.Append(String.Format("Fault Reason: (none)" & vbLf, requestResult.FaultReason))
    Else
        sb.Append(String.Format("Fault Reason: {0}" & vbLf, requestResult.FaultReason))
    End If
    sb.Append(String.Format("Search Location: {0}" & vbLf, requestResult.Keyword))
    sb.Append(String.Format("Estimated Matches: {0}" & vbLf, requestResult.EstimatedMatches))
    sb.Append(String.Format("SearchResults:" & vbLf & "{0}", ProcessLocationList(requestResult.SearchResults)))

    tbSearchResult.Text = sb.ToString()

End Sub

Private Function ProcessLocationList(ByVal results As List(Of LocationInformation)) As String
    If results Is Nothing Then
        Return ""
    End If

    Dim sb As New StringBuilder()
    For i As Integer = 0 To results.Count - 1
        sb.Append(String.Format("{0}) {1}", i + 1, ProcessLocationInformation(results(i))))
    Next i
    Return sb.ToString()
End Function
Private Function ProcessLocationInformation(ByVal info As LocationInformation) As String
    If info Is Nothing Then
        Return ""
    End If

    Dim sb As New StringBuilder()

    sb.Append(String.Format("{0}" & vbLf, info.DisplayName))
    sb.Append(String.Format(vbTab & "Adress: {0}" & vbLf, info.Address))
    sb.Append(String.Format(vbTab & "Location: {0}" & vbLf, info.Location))
    Return sb.ToString()
End Function

Inheritance

See Also