private MBTileSource(MBTileData tileData, IDictionary <string, string> metaData) { this.tileData = tileData; string s; int minZoom; int maxZoom; if (metaData.TryGetValue("name", out s)) { Name = s; } if (metaData.TryGetValue("description", out s)) { Description = s; } if (metaData.TryGetValue("minzoom", out s) && int.TryParse(s, out minZoom)) { MinZoom = minZoom; } if (metaData.TryGetValue("maxzoom", out s) && int.TryParse(s, out maxZoom)) { MaxZoom = maxZoom; } }
public static async Task <MBTileData> CreateAsync(string file) { var tileData = new MBTileData(file); await tileData.OpenAsync(); return(tileData); }
public MBTileSource(MBTileData tiledata) { var format = tiledata.Metadata["format"]; if (format == "png" || format == "jpg") { TileData = tiledata; } else { Debug.WriteLine($"MBTileSource: unsupported format '{format}'"); } }
private async Task FilePropertyChanged(string file) { (TileSource as MBTileSource)?.Dispose(); ClearValue(TileSourceProperty); ClearValue(SourceNameProperty); ClearValue(DescriptionProperty); ClearValue(MinZoomLevelProperty); ClearValue(MaxZoomLevelProperty); if (file != null) { var tileData = await MBTileData.CreateAsync(file); int minZoom; int maxZoom; string s; if (tileData.Metadata.TryGetValue("name", out s)) { SourceName = s; } if (tileData.Metadata.TryGetValue("description", out s)) { Description = s; } if (tileData.Metadata.TryGetValue("minzoom", out s) && int.TryParse(s, out minZoom)) { MinZoomLevel = minZoom; } if (tileData.Metadata.TryGetValue("maxzoom", out s) && int.TryParse(s, out maxZoom)) { MaxZoomLevel = maxZoom; } TileSource = CreateTileSource(tileData); } }
public MBTileSource(string file) { tileData = new MBTileData(file); }
public MBTileSource(MBTileData tiledata) { TileData = tiledata; }
/// <summary> /// May be overridden to create a derived MBTileSource that handles other tile formats than png and jpg, e.g. pbf. /// </summary> protected virtual MBTileSource CreateTileSource(MBTileData tileData) { return(new MBTileSource(tileData)); }
public static async Task <MBTileSource> CreateAsync(string file) { var tileData = await MBTileData.CreateAsync(file); return(new MBTileSource(tileData, await tileData.ReadMetaDataAsync())); }