| |
 |
How to: Get Information About a Geographical Point Using the Bing Geocode Service
This example demonstrates how to manually process received Bing Geocode location information.
NoteIf 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 http://www.microsoft.com/maps/developers”, refer to the following tutorial: How to: Get a Bing Maps Key.
Xaml:MainWindow.xaml |
<dxm:BingGeocodeDataProvider x:Name="geocodeProvider" ProcessMouseEvents="False"
BingKey="{Binding Source={StaticResource YourBingKey}}"
LocationInformationReceived="geocodeProvider_LocationInformationReceived"/>
|
C#:MainWindow.xaml.cs |
private void geocodeProvider_LocationInformationReceived(object sender, LocationInformationReceivedEventArgs e) {
GeocodeRequestResult result = e.Result;
StringBuilder resultList = new StringBuilder("");
resultList.Append(String.Format("Status: {0}\n", result.ResultCode));
resultList.Append(String.Format("Fault reason: {0}\n", result.FaultReason));
resultList.Append(String.Format("______________________________\n"));
if (result.ResultCode != RequestResultCode.Success) {
tbResults.Text = resultList.ToString();
return;
}
int resCounter = 1;
foreach (LocationInformation locations in result.Locations) {
resultList.Append(String.Format("Request Result {0}:\n", resCounter));
resultList.Append(String.Format("Display Name: {0}\n", locations.DisplayName));
resultList.Append(String.Format("Entity Type: {0}\n", locations.EntityType));
resultList.Append(String.Format("Address: {0}\n", locations.Address));
resultList.Append(String.Format("Location: {0}\n", locations.Location));
resultList.Append(String.Format("______________________________\n"));
resCounter++;
}
tbResults.Text = resultList.ToString();
}
|
VB:MainWindow.xaml.vb |
Private Sub geocodeProvider_LocationInformationReceived(ByVal sender As Object, ByVal e As LocationInformationReceivedEventArgs)
Dim result As GeocodeRequestResult = e.Result
Dim resultList As New StringBuilder("")
resultList.Append(String.Format("Status: {0}" & ControlChars.Lf, result.ResultCode))
resultList.Append(String.Format("Fault reason: {0}" & ControlChars.Lf, result.FaultReason))
resultList.Append(String.Format("______________________________" & ControlChars.Lf))
If result.ResultCode <> RequestResultCode.Success Then
tbResults.Text = resultList.ToString()
Return
End If
Dim resCounter As Integer = 1
For Each locations As LocationInformation In result.Locations
resultList.Append(String.Format("Request Result {0}:" & ControlChars.Lf, resCounter))
resultList.Append(String.Format("Display Name: {0}" & ControlChars.Lf, locations.DisplayName))
resultList.Append(String.Format("Entity Type: {0}" & ControlChars.Lf, locations.EntityType))
resultList.Append(String.Format("Address: {0}" & ControlChars.Lf, locations.Address))
resultList.Append(String.Format("Location: {0}" & ControlChars.Lf, locations.Location))
resultList.Append(String.Format("______________________________" & ControlChars.Lf))
resCounter += 1
Next locations
tbResults.Text = resultList.ToString()
End Sub
|

See Also
Is this topic helpful?
Additional Feedback
Close
|