private void LoadMapButton_Click(object sender, RoutedEventArgs e)
{
WebClient webClient = new WebClient();
string uri = string.Format("http://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial?supressStatus=true&key={0}", BingKeyTextBox.Text);
webClient.OpenReadCompleted += (s, a) =>
{
if (a.Error == null)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(BingAuthentication));
BingAuthentication bingAuthentication = serializer.ReadObject(a.Result) as BingAuthentication;
a.Result.Close();
if (bingAuthentication.authenticationResultCode == "ValidCredentials")
{
ESRI.ArcGIS.Client.Bing.TileLayer tileLayer = new TileLayer()
{
ID = "BingLayer",
LayerStyle = TileLayer.LayerType.Road,
ServerType = ServerType.Production,
Token = BingKeyTextBox.Text
};
MyMap.Layers.Insert(0, tileLayer);
BingKeyGrid.Visibility = System.Windows.Visibility.Collapsed;
InvalidBingKeyTextBlock.Visibility = System.Windows.Visibility.Collapsed;
}
else InvalidBingKeyTextBlock.Visibility = System.Windows.Visibility.Visible;
}
else InvalidBingKeyTextBlock.Visibility = System.Windows.Visibility.Visible;
};
webClient.OpenReadAsync(new System.Uri(uri));
}