vue3-maplibre-gl
Version:
Vue 3 components and composables for MapLibre GL JS - Build interactive maps with ease
45 lines (44 loc) • 2.24 kB
TypeScript
import { CreateLayerActions, Nullable, LineLayerStyle } from '../../types';
import { MaybeRef } from 'vue';
import { Map, SourceSpecification, FilterSpecification, LineLayerSpecification, StyleSetterOptions } from 'maplibre-gl';
type Layer = LineLayerSpecification;
interface CreateLineLayerProps {
map: MaybeRef<Nullable<Map>>;
source: MaybeRef<string | SourceSpecification | object | null>;
id?: string;
beforeId?: string;
filter?: FilterSpecification;
style?: LineLayerStyle;
maxzoom?: number;
minzoom?: number;
metadata?: object;
sourceLayer?: string;
debug?: boolean;
register?: (actions: CreateLayerActions<Layer>, map: Map) => void;
}
interface LineLayerActions extends CreateLayerActions<Layer> {
setStyle: (styleVal?: LineLayerStyle) => void;
setOpacity: (opacity: number, options?: StyleSetterOptions) => void;
setColor: (color: string, options?: StyleSetterOptions) => void;
setWidth: (width: number | string, options?: StyleSetterOptions) => void;
setGapWidth: (gapWidth: number, options?: StyleSetterOptions) => void;
setOffset: (offset: number, options?: StyleSetterOptions) => void;
setBlur: (blur: number, options?: StyleSetterOptions) => void;
setDashArray: (dashArray: number[], options?: StyleSetterOptions) => void;
setPattern: (pattern: string, options?: StyleSetterOptions) => void;
setGradient: (gradient: string, options?: StyleSetterOptions) => void;
setCap: (cap: 'butt' | 'round' | 'square', options?: StyleSetterOptions) => void;
setJoin: (join: 'bevel' | 'round' | 'miter', options?: StyleSetterOptions) => void;
setVisibility: (visibility: 'visible' | 'none', options?: StyleSetterOptions) => void;
setSortKey: (sortKey: number, options?: StyleSetterOptions) => void;
}
/**
* Composable for creating and managing MapLibre GL Line Layers
* Provides reactive line layer with error handling, performance optimizations, and enhanced API
*
* @param props - Configuration options for the line layer
* @returns Enhanced actions and state for the line layer
*/
export declare function useCreateLineLayer(props: CreateLineLayerProps): LineLayerActions;
export {};
//# sourceMappingURL=useCreateLineLayer.d.ts.map