You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							69 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							69 lines
						
					
					
						
							1.8 KiB
						
					
					
				| //-----------------------------------------------------------------------
 | |
| // <copyright file="RasterTile.cs" company="Mapbox">
 | |
| //     Copyright (c) 2016 Mapbox. All rights reserved.
 | |
| // </copyright>
 | |
| //-----------------------------------------------------------------------
 | |
| 
 | |
| namespace Mapbox.Map
 | |
| {
 | |
| 	/// <summary>
 | |
| 	/// A raster tile from the Mapbox Style API, an encoded image representing a geographic
 | |
| 	/// bounding box. Usually JPEG or PNG encoded.
 | |
| 	/// </summary>
 | |
| 	/// <example>
 | |
| 	/// Making a RasterTile request:
 | |
| 	/// <code>
 | |
| 	/// var parameters = new Tile.Parameters();
 | |
| 	/// parameters.Fs = MapboxAccess.Instance;
 | |
| 	/// parameters.Id = new CanonicalTileId(_zoom, _tileCoorindateX, _tileCoordinateY);
 | |
| 	/// parameters.TilesetId = "mapbox://styles/mapbox/satellite-v9";
 | |
| 	/// var rasterTile = new RasterTile();
 | |
| 	///
 | |
| 	/// // Make the request.
 | |
| 	/// rasterTile.Initialize(parameters, (Action)(() =>
 | |
| 	/// {
 | |
| 	/// 	if (!string.IsNullOrEmpty(rasterTile.Error))
 | |
| 	/// 	{
 | |
| 	///			// Handle the error.
 | |
| 	///		}
 | |
| 	///
 | |
| 	/// 	// Consume the <see cref="Data"/>.
 | |
| 	///	}));
 | |
| 	/// </code>
 | |
| 	/// </example>
 | |
| 	public class RasterTile : Tile
 | |
| 	{
 | |
| 		private byte[] data;
 | |
| 
 | |
| 		/// <summary> Gets the raster tile raw data. </summary>
 | |
| 		/// <value> The raw data, usually an encoded JPEG or PNG. </value>
 | |
| 		/// <example>
 | |
| 		/// Consuming data in Unity to create a Texture2D:
 | |
| 		/// <code>
 | |
| 		/// var texture = new Texture2D(0, 0);
 | |
| 		/// texture.LoadImage(rasterTile.Data);
 | |
| 		/// _sampleMaterial.mainTexture = texture;
 | |
| 		/// </code>
 | |
| 		/// </example>
 | |
| 		public byte[] Data
 | |
| 		{
 | |
| 			get
 | |
| 			{
 | |
| 				return this.data;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		internal override TileResource MakeTileResource(string tilesetId)
 | |
| 		{
 | |
| 			return TileResource.MakeRaster(Id, tilesetId);
 | |
| 		}
 | |
| 
 | |
| 		internal override bool ParseTileData(byte[] data)
 | |
| 		{
 | |
| 			// We do not parse raster tiles as they are
 | |
| 			this.data = data;
 | |
| 
 | |
| 			return true;
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 |