forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			94 lines
		
	
	
		
			No EOL
		
	
	
		
			2.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			No EOL
		
	
	
		
			2.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import {TagRenderingConfigJson} from "./TagRenderingConfigJson";
 | 
						|
import {AndOrTagConfigJson} from "./TagConfigJson";
 | 
						|
 | 
						|
/**
 | 
						|
 * Configuration for a single layer
 | 
						|
 */
 | 
						|
export interface LayerConfigJson {
 | 
						|
    /**
 | 
						|
     * The id of this layer.
 | 
						|
     * This should be a simple, lowercase, human readable string that is used to identify the layer.
 | 
						|
     */
 | 
						|
    id: string;
 | 
						|
    
 | 
						|
    /**
 | 
						|
     * The name of this layer
 | 
						|
     * Used in the layer control panel and the 'Personal theme'
 | 
						|
     */
 | 
						|
    name: string | any
 | 
						|
 | 
						|
    /**
 | 
						|
     * A description for this layer.
 | 
						|
     * Shown in the layer selections and in the personal theme
 | 
						|
     */
 | 
						|
    description?: string | any;
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * The tags to load from overpass. Either a simple 'key=value'-string, otherwise an advanced configuration
 | 
						|
     */
 | 
						|
    overpassTags: AndOrTagConfigJson | string;
 | 
						|
 | 
						|
    /**
 | 
						|
     * The zoomlevel at which point the data is shown and loaded.
 | 
						|
     */
 | 
						|
    minzoom: number;
 | 
						|
 | 
						|
    
 | 
						|
    
 | 
						|
    /**
 | 
						|
     * The title shown in a popup for elements of this layer
 | 
						|
     */
 | 
						|
    title: string | TagRenderingConfigJson;
 | 
						|
 | 
						|
    /**
 | 
						|
     * The icon for an element.
 | 
						|
     * Note that this also doubles as the icon for this layer (rendered with the overpass-tags) ánd the icon in the presets.
 | 
						|
     */
 | 
						|
    icon?: string | TagRenderingConfigJson;
 | 
						|
 | 
						|
    /**
 | 
						|
     * A string containing "width,height" or "width,height,anchorpoint" where anchorpoint is any of 'center', 'top', 'bottom', 'left', 'right', 'bottomleft','topright', ... 
 | 
						|
     * Default is '40,40,center'
 | 
						|
     */
 | 
						|
    iconSize?: string | TagRenderingConfigJson;
 | 
						|
    
 | 
						|
    /**
 | 
						|
     * The color for way-elements
 | 
						|
     */
 | 
						|
    color?: string | TagRenderingConfigJson;
 | 
						|
    /**
 | 
						|
     * The stroke-width for way-elements
 | 
						|
     */
 | 
						|
    width?: string | TagRenderingConfigJson;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Wayhandling: should a way/area be displayed as:
 | 
						|
     * 0) The way itself
 | 
						|
     * 1) The centerpoint and the way
 | 
						|
     * 2) Only the centerpoint
 | 
						|
     */
 | 
						|
    wayHandling?: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Consider that we want to show 'Nature Reserves' and 'Forests'. Now, ofter, there are pieces of forest mapped _in_ the nature reserve.
 | 
						|
     * Now, showing those pieces of forest overlapping with the nature reserve truly clutters the map and is very user-unfriendly.
 | 
						|
     * 
 | 
						|
     * The features are placed layer by layer. If a feature below a feature on this layer overlaps for more then 'x'-percent, the underlying feature is hidden.
 | 
						|
     */
 | 
						|
    hideUnderlayingFeaturesMinPercentage?:number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Presets for this layer
 | 
						|
     */
 | 
						|
    presets?: {
 | 
						|
        title: string | any,
 | 
						|
        tags: string[],
 | 
						|
        description?: string | any,
 | 
						|
    }[],
 | 
						|
 | 
						|
    /**
 | 
						|
     * All the tag renderings.
 | 
						|
     */
 | 
						|
    tagRenderings?: (string | TagRenderingConfigJson) []
 | 
						|
} |