Exemple #1
0
        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);
            }
        }
Exemple #5
0
 public MBTileSource(string file)
 {
     tileData = new MBTileData(file);
 }
Exemple #6
0
 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));
 }
Exemple #8
0
        public static async Task <MBTileSource> CreateAsync(string file)
        {
            var tileData = await MBTileData.CreateAsync(file);

            return(new MBTileSource(tileData, await tileData.ReadMetaDataAsync()));
        }