UNPKG

offline-map-react

Version:

<h1 style="text-align: center">Welcome to offline-map-react 👋</h1> <p> <a href="https://www.npmjs.com/package/offline-map-react" target="_blank"> <img alt="Version" src="https://img.shields.io/npm/v/offline-map-react.svg"> </a> <a href="ht

68 lines (59 loc) • 2.38 kB
/// <reference types="react" /> import { ReactNode } from 'react'; import Leaflet, { LatLng, Map } from 'leaflet'; interface ICoords { lat: number; lng: number; } interface ICheckpoint { id: number; position: Pick<LatLng, 'lat' | 'lng'>; text?: string; alreadyCollected?: boolean; } declare type IPosition = Pick<LatLng, 'lat' | 'lng'>; declare type IHeatPoint = [number, number, number]; interface ILeafletMapProps { currentPosition?: IPosition | undefined; checkpoints: ICheckpoint[]; heatPoints?: IHeatPoint[] | undefined; checkpointIconUrl?: string | null | undefined; parentWindow?: Window; maxMapZoom?: number; } declare function LeafletMap({ currentPosition, checkpoints, checkpointIconUrl, parentWindow, heatPoints, maxMapZoom }: ILeafletMapProps): { renderMap: (...children: ReactNode[]) => JSX.Element; setMapViewOnUserLocation: () => void; navigateToPosition: (position?: IPosition, zoomLevel?: number) => void; resetHeatLayerRender: () => void; setHeatPoints: (heatPoints: IHeatPoint[]) => void; heatPoints: IHeatPoint[]; heatLayer: any; progressSaveMap: number; totalLayersToSave: number; userPosition: IPosition; map: Leaflet.Map; offlineMapControls: () => { saveCurrentMapView: () => void; deleteCurrentMapView: () => void; toggleUserLocation: () => void; }; calibrateGpsTutorial: () => JSX.Element; accuracy: number; }; interface ICheckpointMarkerProps { marker: ICheckpoint; checkPointDetails?: (distanceInMeters: number) => ReactNode; positionToCompare?: ICoords; iconUrl?: string | undefined | null; onClick?: (distanceInMeters: number) => void; greenCheckpoint?: boolean; } declare function CheckpointMarker({ marker, checkPointDetails, positionToCompare, onClick, greenCheckpoint }: ICheckpointMarkerProps): JSX.Element; interface IMakeTileLayerOfflineProps { leaflet: typeof Leaflet; map: Map; } declare function MakeTileLayerOffline({ map, leaflet, }: IMakeTileLayerOfflineProps): Leaflet.tileLayerOffline | undefined; declare function CalculateDistanceBetweenCoords(firstPosition?: ICoords, secondPosition?: ICoords): number; export { CalculateDistanceBetweenCoords, CheckpointMarker, MakeTileLayerOffline, LeafletMap as OfflineMap };