/// <summary>
        /// Demostrates how to make an Imagery Metadata Request.
        /// </summary>
        private void ImageMetadataBtn_Clicked(object sender, RoutedEventArgs e)
        {
            var r = new ImageryMetadataRequest()
            {
                CenterPoint = new Coordinate(45, -110),
                ZoomLevel   = 12,
                ImagerySet  = ImageryType.AerialWithLabels,
                BingMapsKey = BingMapsKey
            };

            ProcessRequest(r);
        }
Esempio n. 2
0
 internal bool QueryVirtualEarthService(bool asyncQuery)
 {
     if (string.IsNullOrEmpty(Common.MapCore.TileServerAppId) || Common.MapCore.TileServerAppId.ToUpper(CultureInfo.InvariantCulture) == "(DEFAULT)")
     {
         lock (TileError)
         {
             TileError = SR.ProvideBingMapsAppID;
         }
         return(false);
     }
     try
     {
         ImageryMetadataRequest imageryRequest = new ImageryMetadataRequest
         {
             BingMapsKey             = common.MapCore.TileServerAppId,
             ImagerySet              = VirtualEarthTileSystem.TileSystemToMapStyle(TileSystem),
             IncludeImageryProviders = true,
             UseHTTPS = true
         };
         if (asyncQuery)
         {
             BingMapsService.GetImageryMetadataAsync(imageryRequest, ProcessImageryMetadataResponse, delegate(Exception ex)
             {
                 lock (TileError)
                 {
                     TileError = ex.Message;
                 }
             });
         }
         else
         {
             Response imageryMetadata = BingMapsService.GetImageryMetadata(imageryRequest);
             ProcessImageryMetadataResponse(imageryMetadata);
         }
     }
     catch (Exception ex2)
     {
         lock (TileError)
         {
             TileError = ex2.Message;
         }
         return(false);
     }
     return(true);
 }
Esempio n. 3
0
 public bool QueryVirtualEarthService(bool asyncQuery)
 {
     if (!string.IsNullOrEmpty(this.Common.MapCore.TileServerAppId) && !(this.Common.MapCore.TileServerAppId.ToUpper(CultureInfo.InvariantCulture) == "(DEFAULT)"))
     {
         try
         {
             ImageryMetadataRequest imageryMetadataRequest = new ImageryMetadataRequest();
             imageryMetadataRequest.BingMapsKey             = base.common.MapCore.TileServerAppId;
             imageryMetadataRequest.ImagerySet              = VirtualEarthTileSystem.TileSystemToMapStyle(this.TileSystem);
             imageryMetadataRequest.IncludeImageryProviders = true;
             imageryMetadataRequest.UseHTTPS = true;
             ImageryMetadataRequest imageryRequest = imageryMetadataRequest;
             if (asyncQuery)
             {
                 BingMapsService.GetImageryMetadataAsync(imageryRequest, this.ProcessImageryMetadataResponse, delegate(Exception ex)
                 {
                     lock (this.TileError)
                     {
                         this.TileError = ex.Message;
                     }
                 });
             }
             else
             {
                 Response imageryMetadata = BingMapsService.GetImageryMetadata(imageryRequest);
                 this.ProcessImageryMetadataResponse(imageryMetadata);
             }
         }
         catch (Exception ex2)
         {
             lock (this.TileError)
             {
                 this.TileError = ex2.Message;
             }
             return(false);
         }
         return(true);
     }
     lock (this.TileError)
     {
         this.TileError = SR.ProvideBingMapsAppID;
     }
     return(false);
 }
Esempio n. 4
0
    private string RequestImageMetadata(string locationString)
    {
        string results = "";
        string key     = "ArLeGdHOcc5h7j3L4W37oFGcU9E-LF3tAZi4o0DfhXbPJ8aiyTGbIDNHex08R2u7";

        ImageryMetadataRequest metadataRequest = new ImageryMetadataRequest();

        // Set credentials using a valid Bing Maps key
        metadataRequest.Credentials = new ImageryService.Credentials();
        metadataRequest.Credentials.ApplicationId = key;

        // Set the imagery metadata request options
        ImageryService.Location centerLocation = new ImageryService.Location();
        string[] digits = locationString.Split(',');
        centerLocation.Latitude  = double.Parse(digits[0].Trim());
        centerLocation.Longitude = double.Parse(digits[1].Trim());

        metadataRequest.Options           = new ImageryMetadataOptions();
        metadataRequest.Options.Location  = centerLocation;
        metadataRequest.Options.ZoomLevel = 10;
        metadataRequest.Style             = MapStyle.AerialWithLabels;

        // Make the imagery metadata request
        ImageryServiceClient    imageryService   = new ImageryServiceClient("BasicHttpBinding_IImageryService");
        ImageryMetadataResponse metadataResponse =
            imageryService.GetImageryMetadata(metadataRequest);

        ImageryMetadataResult result = metadataResponse.Results[0];

        if (metadataResponse.Results.Length > 0)
        {
            results = String.Format("Uri: {0}\nVintage: {1} to {2}\nZoom Levels: {3} to {4}",
                                    result.ImageUri,
                                    result.Vintage.From.ToString(),
                                    result.Vintage.To.ToString(),
                                    result.ZoomRange.From.ToString(),
                                    result.ZoomRange.To.ToString());
        }
        else
        {
            results = "Metadata is not available";
        }
        return(results);
    }
        private void SendMetadataRequest()
        {
            var address = VE.Properties.Settings.Default.ServiceUriDev;

            using (ImageryServiceClient client = new ImageryServiceClient(new BasicHttpBinding(BasicHttpSecurityMode.Transport), new EndpointAddress(address)))
            {
                client.GetImageryMetadataCompleted += client_GetImageryMetadataCompleted;

                ImageryMetadataRequest request = new ImageryMetadataRequest();
                request.ExecutionOptions = new ExecutionOptions {
                    SuppressFaults = false
                };
                request.Credentials = new Credentials {
                    ApplicationId = applicationId, Token = token
                };
                request.Culture = "en-us";
                request.Style   = mapStyle;

                client.GetImageryMetadataAsync(request, null);

                metadataRequestSent = true;
            }
        }
Esempio n. 6
0
        public string RequestImageMetadata(string locationString)
        {
            string results = "";

            ImageryMetadataRequest metadataRequest = new ImageryMetadataRequest();

            // Set credentials using a valid Bing Maps key
            metadataRequest.Credentials = new ImageryService.Credentials();
            metadataRequest.Credentials.ApplicationId = key;

            // Set the imagery metadata request options
            ImageryService.Location centerLocation = new ImageryService.Location();
            string[] digits = locationString.Split(',');
            centerLocation.Latitude = double.Parse(digits[0].Trim());
            centerLocation.Longitude = double.Parse(digits[1].Trim());

            metadataRequest.Options = new ImageryMetadataOptions();
            metadataRequest.Options.Location = centerLocation;
            metadataRequest.Options.ZoomLevel = 10;
            metadataRequest.Style = MapStyle.AerialWithLabels;

            // Make the imagery metadata request
            ImageryServiceClient imageryService = new ImageryServiceClient("BasicHttpBinding_IImageryService");
            ImageryMetadataResponse metadataResponse =
              imageryService.GetImageryMetadata(metadataRequest);

            ImageryMetadataResult result = metadataResponse.Results[0];
            if (metadataResponse.Results.Length > 0)
                results = String.Format("Uri: {0}\nVintage: {1} to {2}\nZoom Levels: {3} to {4}",
                    result.ImageUri,
                    result.Vintage.From.ToString(),
                    result.Vintage.To.ToString(),
                    result.ZoomRange.From.ToString(),
                    result.ZoomRange.To.ToString());
            else
                results = "Metadata is not available";
            return results;
        }
Esempio n. 7
0
        private string RequestImageMetadata(string locationString)
        {
            string results = "";

            ImageryMetadataRequest metadataRequest = new ImageryMetadataRequest();

            // Set credentials using a valid Bing Maps key
            metadataRequest.Credentials = new Credentials();
            metadataRequest.Credentials.ApplicationId = m_BingKey;

            // Set the imagery metadata request options
            ImageryService.Location centerLocation = new ImageryService.Location();
            string[] digits = locationString.Split(',');
            NumberFormatInfo nfi = NumberFormatInfo.InvariantInfo;
            centerLocation.Latitude = Convert.ToDouble(digits[0].Replace(",", nfi.NumberDecimalSeparator), nfi);
            centerLocation.Longitude = Convert.ToDouble(digits[1].Replace(",", nfi.NumberDecimalSeparator), nfi);

            metadataRequest.Options = new ImageryMetadataOptions();
            metadataRequest.Options.Location = centerLocation;
            metadataRequest.Options.ZoomLevel = 10;
            metadataRequest.Style = MapStyle.AerialWithLabels;

            // Make the imagery metadata request
            ImageryServiceClient imageryService = new ImageryServiceClient();
            ImageryMetadataResponse metadataResponse =
              imageryService.GetImageryMetadata(metadataRequest);

            ImageryMetadataResult result = metadataResponse.Results[0];
            if (metadataResponse.Results.Length > 0)
                results = String.Format("Uri: {0}\n", result.ImageUri);            //Vintage: {1} to {2}\nZoom Levels: {3} to {4}",
            else
                results = "Metadata is not available";

            return results;
        }
        async void OnMainPageLoaded(object sender, RoutedEventArgs args)
        {
            // Initialize the Bing Maps imagery service
            ImageryServiceClient imageryServiceClient =
                new ImageryServiceClient(
                    ImageryServiceClient.EndpointConfiguration.BasicHttpBinding_IImageryService);

            // Make two requests for road and aerial views
            ImageryMetadataRequest request = new ImageryMetadataRequest
            {
                Credentials = new Credentials
                {
                    ApplicationId = "AkNpobMGtsXUh9o8T9j1doUmjhtcoexUHHTClyBILqnrag-ibtcHruZQPFo61cn8"
                },
                Style = MapStyle.Road
            };
            Task <ImageryMetadataResponse> roadStyleTask =
                imageryServiceClient.GetImageryMetadataAsync(request);

            request = new ImageryMetadataRequest
            {
                Credentials = new Credentials
                {
                    ApplicationId = "insert Bing credentials key here"
                },
                Style = MapStyle.Aerial
            };
            Task <ImageryMetadataResponse> aerialStyleTask =
                imageryServiceClient.GetImageryMetadataAsync(request);

            // Wait for both tasks to complete
            Task.WaitAll(roadStyleTask, aerialStyleTask);

            // Check if everything is OK
            if (!roadStyleTask.IsCanceled && !roadStyleTask.IsFaulted &&
                !aerialStyleTask.IsCanceled && !aerialStyleTask.IsCanceled)
            {
                // Get the "powered by" bitmap
                poweredByBitmap.UriSource   = roadStyleTask.Result.BrandLogoUri;
                poweredByDisplay.Visibility = Visibility.Visible;

                // Get the URIs and min/max zoom levels
                roadParams   = CreateViewParams(roadStyleTask.Result.Results[0]);
                aerialParams = CreateViewParams(aerialStyleTask.Result.Results[0]);

                // Get the current location
                Geoposition geoPosition = await geolocator.GetGeopositionAsync();

                GetLongitudeAndLatitude(geoPosition.Coordinate);
                RefreshDisplay();

                // Get updated locations
                geolocator.PositionChanged += OnGeolocatorPositionChanged;

                // Enable the application bar
                bottomAppBar.IsEnabled = true;
                GetStreetViewAppBarButton("streetViewAppBarButton").IsChecked = mapStyle == MapStyle.Road;

                // Get the current yaw
                if (inclinometer != null)
                {
                    SetRotation(inclinometer.GetCurrentReading());
                    inclinometer.ReadingChanged += OnInclinometerReadingChanged;
                }
            }
        }
		private void SendMetadataRequest()
		{
			var address = VE.Properties.Settings.Default.ServiceUriDev;

			using (ImageryServiceClient client = new ImageryServiceClient(new BasicHttpBinding(BasicHttpSecurityMode.Transport), new EndpointAddress(address)))
			{
				client.GetImageryMetadataCompleted += client_GetImageryMetadataCompleted;

				ImageryMetadataRequest request = new ImageryMetadataRequest();
				request.ExecutionOptions = new ExecutionOptions { SuppressFaults = false };
				request.Credentials = new Credentials { ApplicationId = applicationId, Token = token };
				request.Culture = "en-us";
				request.Style = mapStyle;

				client.GetImageryMetadataAsync(request, null);

				metadataRequestSent = true;
			}
		}
Esempio n. 10
0
        private void InitVeService()
        {
            // Test if isDesignTime to display in Blend
            if (HtmlPage.IsEnabled && !_IsInitializing)
            {
                _IsInitializing = true;
                ISOKey = _MapMode + ISOKey;
                //get token
                Token.GetToken((o, e) =>
                {
                    token = ((TokenResultArgs)e).Result;
                    //get tilePathInfo from ISO if already there.
                    tilePathInfo = IsolatedStorage.LoadData<TilePathInfo>(ISOKey);
                    if (tilePathInfo == null)
                    {
                        var mapUriRequest = new ImageryMetadataRequest
                        {
                            Credentials = new Credentials { Token = token },
                            Style = GetVEMapStyle(_MapMode)
                        };

                        var imageryService = new ImageryServiceClient();
                        imageryService.GetImageryMetadataCompleted += (oimageryService, eimageryService) =>
                        {
                            tilePathInfo = new TilePathInfo
                                               {
                                                   TilePath = eimageryService.Result.Results[0].ImageUri,
                                                   SubDomains = eimageryService.Result.Results[0].ImageUriSubdomains
                                               };
                            //Store in ISO for next visits
                            IsolatedStorage.SaveData(tilePathInfo, ISOKey);
                            onInitialized();
                        };
                        imageryService.GetImageryMetadataAsync(mapUriRequest);
                    }else
                    {
                        onInitialized();
                    }
                });
            }
        }