internal static IEnumerable <(IFeature feature, int zoom, string layerName)> ToFeaturesZoomAndLayer( this IEnumerable <IFeature> features, ToFeatureZoomAndLayerFunc toFeatureZoomAndLayer) { foreach (var feature in features) { var featuresZoomAndLayers = toFeatureZoomAndLayer(feature); foreach (var(layerFeature, zoom, layerName) in featuresZoomAndLayers) { yield return(layerFeature, zoom, layerName); } } }
/// <summary> /// Adds the given features to the vector tile tree, expanding it if needed. /// </summary> /// <param name="tree">The tree.</param> /// <param name="features">The features to add.</param> /// <param name="toFeatureZoomAndLayer">The feature, zoom and layer function.</param> public static void Add(this VectorTileTree tree, IEnumerable <IFeature> features, ToFeatureZoomAndLayerFunc toFeatureZoomAndLayer) { tree.Add(features.ToFeaturesZoomAndLayer(toFeatureZoomAndLayer)); }
/// <summary> /// Adds the given features to the vector tile tree, expanding it if needed. /// </summary> /// <param name="tree">The tree.</param> /// <param name="features">The features to add.</param> /// <param name="toFeatureZoomAndLayer">The feature, zoom and layer function.</param> public static void Add(this VectorTileTree tree, FeatureCollection features, ToFeatureZoomAndLayerFunc toFeatureZoomAndLayer) { tree.Add(features.Features.ToFeaturesZoomAndLayer(toFeatureZoomAndLayer)); }