mosaicmap/hooks/use-map-zoom.ts
2025-07-20 02:11:17 +08:00

26 lines
577 B
TypeScript

import { useState, useCallback } from 'react'
import { useMap } from '@/app/map-context'
export function useMapZoom() {
const { zoomTo, zoomIn, zoomOut, isMapReady, mapState } = useMap()
const zoomToLocation = useCallback((zoom: number) => {
zoomTo(zoom)
}, [zoomTo])
const _zoomIn = useCallback(() => {
zoomIn()
}, [zoomIn])
const _zoomOut = useCallback(() => {
zoomOut()
}, [zoomOut])
return {
mapState,
zoomToLocation,
zoomIn: _zoomIn,
zoomOut: _zoomOut,
isMapReady
}
}