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(); string authenticationResult = bingAuthentication.AuthenticationResultCode.ToString(); if (authenticationResult == "ValidCredentials") { foreach (BingLayer.LayerType layerType in (BingLayer.LayerType[])Enum.GetValues(typeof(BingLayer.LayerType))) { BingLayer bingLayer = new BingLayer() { ID = layerType.ToString(), MapStyle = layerType, Key = BingKeyTextBox.Text, IsVisible = false }; map1.Layers.Add(bingLayer); } map1.Layers[0].IsVisible = true; BingKeyGrid.Visibility = System.Windows.Visibility.Collapsed; LayerStyleGrid.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)); }
private async void LoadMapButton_Click(object sender, RoutedEventArgs e) { try { string uri = string.Format("http://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial?supressStatus=true&key={0}", BingKeyTextBox.Text); HttpClient http = new System.Net.Http.HttpClient(); HttpResponseMessage response = await http.GetAsync(uri); var bingAuthStream = await response.Content.ReadAsStreamAsync(); DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(BingAuthentication)); BingAuthentication bingAuthentication = serializer.ReadObject(bingAuthStream) as BingAuthentication; string authenticationResult = bingAuthentication.AuthenticationResultCode.ToString(); if (authenticationResult == "ValidCredentials") { foreach (BingLayer.LayerType layerType in (BingLayer.LayerType[])Enum.GetValues(typeof(BingLayer.LayerType))) { BingLayer bingLayer = new BingLayer() { ID = layerType.ToString(), MapStyle = layerType, Key = BingKeyTextBox.Text, IsVisible = false }; MyMap.Layers.Add(bingLayer); } MyMap.Layers[0].IsVisible = true; BingKeyGrid.Visibility = Visibility.Collapsed; InvalidBingKeyTextBlock.Visibility = Visibility.Collapsed; LayerStyleGrid.Visibility = Visibility.Visible; } else { InvalidBingKeyTextBlock.Visibility = Visibility.Visible; } } catch (Exception ex) { Debug.WriteLine(ex.ToString()); InvalidBingKeyTextBlock.Visibility = Visibility.Visible; } }
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(); string authenticationResult = bingAuthentication.AuthenticationResultCode.ToString(); BingKeyGrid.Visibility = System.Windows.Visibility.Collapsed; InvalidBingKeyTextBlock.Visibility = System.Windows.Visibility.Collapsed; if (authenticationResult == "ValidCredentials") { Document webMap = new Document(); webMap.BingToken = BingKeyTextBox.Text; webMap.GetMapCompleted += (s1, e1) => { if (e1.Error == null) { LayoutRoot.Children.Add(e1.Map); } }; webMap.GetMapAsync("75e222ec54b244a5b73aeef40ce76adc"); } else { InvalidBingKeyTextBlock.Visibility = System.Windows.Visibility.Visible; } } else { InvalidBingKeyTextBlock.Visibility = System.Windows.Visibility.Visible; } }; webClient.OpenReadAsync(new System.Uri(uri)); }
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(); string authenticationResult = bingAuthentication.AuthenticationResultCode.ToString(); if (authenticationResult == "ValidCredentials") { ESRI.ArcGIS.Client.Bing.TileLayer tileLayer = new TileLayer() { ID = "BingLayer", LayerStyle = TileLayer.LayerType.Road, ServerType = ServerType.Production, Token = BingKeyTextBox.Text }; MyMap.Layers.Add(tileLayer); BingKeyGrid.Visibility = System.Windows.Visibility.Collapsed; LayerStyleGrid.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)); }
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(); string authenticationResult = bingAuthentication.AuthenticationResultCode.ToString(); if (authenticationResult == "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( mercator.FromGeographic( new ESRI.ArcGIS.Client.Geometry.MapPoint(-130, 20)) as MapPoint, mercator.FromGeographic( new ESRI.ArcGIS.Client.Geometry.MapPoint(-65, 55)) as MapPoint); initialExtent.SpatialReference = new SpatialReference(102100); MyMap.Extent = initialExtent; BingKeyGrid.Visibility = System.Windows.Visibility.Collapsed; RouteGrid.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)); }