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);
// Add your Bing Maps key in the constructor for the Routing class. Use http://www.bingmapsportal.com to generate a key.
routing = new ESRI.ArcGIS.Client.Bing.Routing(BingKeyTextBox.Text);
routing.ServerType = ServerType.Production;
myDrawObject = new Draw(MyMap)
{
DrawMode = DrawMode.Point,
IsEnabled = true
};
myDrawObject.DrawComplete += MyDrawObject_DrawComplete;
waypointGraphicsLayer = MyMap.Layers["WaypointGraphicsLayer"] as GraphicsLayer;
routeResultsGraphicsLayer = MyMap.Layers["RouteResultsGraphicsLayer"] as GraphicsLayer;
ESRI.ArcGIS.Client.Geometry.Envelope initialExtent =
new ESRI.ArcGIS.Client.Geometry.Envelope(-13064142.2218876, 3831722.30101942, -13023209.4358361, 3878454.82787388);
initialExtent.SpatialReference = new SpatialReference(102100);
MyMap.Extent = initialExtent;
BingKeyGrid.Visibility = System.Windows.Visibility.Collapsed;
DialogsGrid.Visibility = System.Windows.Visibility.Visible;
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));
}