UNPKG

nuxt-mapbox

Version:

Elegant Mapbox GL JS integration with Nuxt

24 lines (23 loc) 700 B
import { _useMapboxInstances, computed, ref, shallowRef, triggerRef, watch } from "#imports"; export function useMapboxRef(mapID) { const instances = _useMapboxInstances(); if (!instances) return ref(); const map = shallowRef(instances.value[mapID]?.map); watch(instances, () => { map.value = instances.value[mapID]?.map; triggerRef(map); }); return map; } export function useMapboxInstance(mapID) { return useMapboxRef(mapID); } export function _useMapboxInstanceWithLoaded(mapID) { const map = computed(() => { return _useMapboxInstances()?.value[mapID]; }); return map; } export function cleanMapboxInstance(mapID) { delete _useMapboxInstances()?.value[mapID]; }