vue3-maplibre-gl
Version:
Vue 3 components and composables for MapLibre GL JS - Build interactive maps with ease
106 lines (105 loc) • 3.73 kB
TypeScript
import { Nullable } from '../../types';
import { MaybeRef } from 'vue';
import { Map, AnimationOptions, CameraOptions } from 'maplibre-gl';
/**
* Zoom animation status enum for better state management
*/
export declare enum ZoomStatus {
NotStarted = "not-started",
Zooming = "zooming",
Completed = "completed",
Error = "error"
}
interface ZoomToProps {
map: MaybeRef<Nullable<Map>>;
zoom?: number;
options?: AnimationOptions;
debug?: boolean;
autoZoom?: boolean;
}
interface ZoomToActions {
zoomTo: (zoom: number, options?: AnimationOptions) => Promise<void>;
stopZooming: () => void;
getCurrentZoom: () => number | null;
getCurrentCamera: () => CameraOptions | null;
validateZoomLevel: (zoom: number) => boolean;
zoomStatus: Readonly<ZoomStatus>;
isZooming: boolean;
}
interface ZoomInProps {
map: MaybeRef<Nullable<Map>>;
options?: AnimationOptions;
debug?: boolean;
autoZoom?: boolean;
}
interface ZoomInActions {
zoomIn: (options?: AnimationOptions) => Promise<void>;
stopZooming: () => void;
getCurrentZoom: () => number | null;
getCurrentCamera: () => CameraOptions | null;
zoomStatus: Readonly<ZoomStatus>;
isZooming: boolean;
}
interface ZoomOutProps {
map: MaybeRef<Nullable<Map>>;
options?: AnimationOptions;
debug?: boolean;
autoZoom?: boolean;
}
interface ZoomOutActions {
zoomOut: (options?: AnimationOptions) => Promise<void>;
stopZooming: () => void;
getCurrentZoom: () => number | null;
getCurrentCamera: () => CameraOptions | null;
zoomStatus: Readonly<ZoomStatus>;
isZooming: boolean;
}
/**
* Composable for managing map zoom-to operations with enhanced error handling
* Provides reactive zoom-to functionality with validation and debugging capabilities
*
* @param props - Configuration options for zoom-to functionality
* @returns Enhanced actions and state for zoom-to operations
*/
export declare function useZoomTo(props: ZoomToProps): ZoomToActions;
/**
* Legacy overload for backward compatibility
* @deprecated Use the new props-based interface for better type safety and features
*/
export declare function useZoomTo(map: MaybeRef<Nullable<Map>>, options?: AnimationOptions & {
zoom: number;
}): {
zoomTo: (zoomVal: number, options?: AnimationOptions) => void;
};
/**
* Composable for managing map zoom-in operations with enhanced error handling
* Provides reactive zoom-in functionality with validation and debugging capabilities
*
* @param props - Configuration options for zoom-in functionality
* @returns Enhanced actions and state for zoom-in operations
*/
export declare function useZoomIn(props: ZoomInProps): ZoomInActions;
/**
* Legacy overload for backward compatibility
* @deprecated Use the new props-based interface for better type safety and features
*/
export declare function useZoomIn(map: MaybeRef<Nullable<Map>>, options?: AnimationOptions): {
zoomIn: (options?: AnimationOptions) => void;
};
/**
* Composable for managing map zoom-out operations with enhanced error handling
* Provides reactive zoom-out functionality with validation and debugging capabilities
*
* @param props - Configuration options for zoom-out functionality
* @returns Enhanced actions and state for zoom-out operations
*/
export declare function useZoomOut(props: ZoomOutProps): ZoomOutActions;
/**
* Legacy overload for backward compatibility
* @deprecated Use the new props-based interface for better type safety and features
*/
export declare function useZoomOut(map: MaybeRef<Nullable<Map>>, options?: AnimationOptions): {
zoomOut: (options?: AnimationOptions) => void;
};
export {};
//# sourceMappingURL=useZoom.d.ts.map