/// <summary>Loads a tile map tile that contains the specified latitude and longitude</summary>
/// <param name="sender">The sender</param>
/// <param name="e">Event arugments</param>
protected void Button_LoadTile_Click(object sender, EventArgs e)
{
// Clear our outputs before we start.
this.PlaceHolder_MapImages.Controls.Clear();
this.Div_Info.InnerHtml = "";
// Create a ImageryMetadataOptions object
ImageryMetadataOptions imageryMetadataOptions = new ImageryMetadataOptions
{
// Specify the location, this will not necessarly be the middle of the tile
Location = new Location
{
Altitude = 0,
Latitude = Convert.ToDouble(this.TextBox_Latitude.Text),
Longitude = Convert.ToDouble(this.TextBox_Longitude.Text)
},
ReturnImageryProviders = true,
ZoomLevel = Convert.ToInt32(this.DropDownList_ZoomLevel.SelectedItem.ToString()),
};
// Create the metadata request, set the credentials, options and a map style
ImageryMetadataRequest imageryMetadataRequest = new ImageryMetadataRequest
{
//add the metadata options object from above
Options = imageryMetadataOptions,
Style = MapStyle.AerialWithLabels
};
//New up a credentials object and set the token
imageryMetadataRequest.Credentials = new VEImageryService.Credentials();
imageryMetadataRequest.Credentials.Token = Utils.Token(Request.UserHostAddress);
// Create the ImageryServiceClient
ImageryServiceClient imageryServiceClient = new ImageryServiceClient();
//and make the request
ImageryMetadataResponse imageryMetadataResponse = imageryServiceClient.GetImageryMetadata(imageryMetadataRequest);
// Write out the tile metadata to the UI
foreach (ImageryMetadataResult imageryMetadataResult in imageryMetadataResponse.Results)
{
Image image = new Image();
image.ImageUrl = imageryMetadataResult.ImageUri;
this.PlaceHolder_MapImages.Controls.Add(image);
this.WritePair("Image URI", imageryMetadataResult.ImageUri);
if (imageryMetadataResult.Vintage != null)
{
this.WritePair("Vintage From", imageryMetadataResult.Vintage.From.ToString());
this.WritePair("Vintage To", imageryMetadataResult.Vintage.To.ToString());
}
this.WritePair("Zoom Range From", imageryMetadataResult.ZoomRange.From.ToString());
this.WritePair("Zoom Range To", imageryMetadataResult.ZoomRange.To.ToString());
this.WriteInfo("");
}
}