コード例 #1
0
        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));
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        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));
        }