vue3-maplibre-gl
Version:
Vue 3 components and composables for MapLibre GL JS - Build interactive maps with ease
35 lines (34 loc) • 1.3 kB
TypeScript
import { Nullable, GeolocateEventTypes } from '../../types';
import { MaybeRef } from 'vue';
import { GeolocateControl } from 'maplibre-gl';
/**
* Event listener status enum for better state management
*/
export declare enum GeolocateEventListenerStatus {
NotAttached = "not-attached",
Attached = "attached",
Error = "error"
}
interface GeolocateEventListenerProps {
geolocate: MaybeRef<Nullable<GeolocateControl>>;
event: keyof GeolocateEventTypes;
on: <T extends keyof GeolocateEventTypes>(e: GeolocateEventTypes[T]) => void;
debug?: boolean;
once?: boolean;
}
interface GeolocateEventListenerActions {
removeListener: () => void;
attachListener: () => void;
isListenerAttached: boolean;
listenerStatus: Readonly<GeolocateEventListenerStatus>;
}
/**
* Composable for managing MapLibre GL Geolocate Control Event Listeners
* Provides reactive event listener with error handling, performance optimizations, and enhanced API
*
* @param props - Configuration options for the geolocate event listener
* @returns Enhanced actions and state for the event listener
*/
export declare function useGeolocateEventListener(props: GeolocateEventListenerProps): GeolocateEventListenerActions;
export {};
//# sourceMappingURL=useGeolocateEventListener.d.ts.map