/// <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); }
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); }
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); }
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; } }
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; }
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 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(); } }); } }