@chauffleet/expo-custom-map
Version:
Open source custom map library for Expo/React Native. Use your own tiles without Google Maps, Mapbox, or API keys. Created by ChaufFleet.
77 lines • 2.1 kB
TypeScript
import { TileInfo, CacheStats } from './types';
export declare class TileCache {
private cache;
private maxSizeMB;
private maxAge;
private persistent;
private storagePrefix;
constructor(maxSizeMB?: number, maxAge?: number, persistent?: boolean);
/**
* Créer un cache en mode mémoire uniquement (sans persistance)
* Utile pour les environnements de test ou non-React Native
*/
static createMemoryOnlyCache(maxSizeMB?: number, maxAge?: number): TileCache;
/**
* Générer une clé de cache pour une tuile
*/
private getTileKey;
/**
* Calculer la taille actuelle du cache en MB
*/
private getCurrentSizeMB;
/**
* Nettoyer le cache selon la politique LRU
*/
private cleanup;
/**
* Charger le cache depuis le stockage persistant
*/
private loadFromStorage;
/**
* Sauvegarder une tuile dans le stockage persistant
*/
private saveToStorage;
/**
* Ajouter une tuile au cache
*/
set(tile: TileInfo, data: string): Promise<void>;
/**
* Récupérer une tuile du cache
*/
get(x: number, y: number, z: number): string | null;
/**
* Vérifier si une tuile existe dans le cache
*/
has(x: number, y: number, z: number): boolean;
/**
* Supprimer une tuile du cache
*/
delete(x: number, y: number, z: number): Promise<void>;
/**
* Vider tout le cache
*/
clear(): Promise<void>;
/**
* Obtenir les statistiques du cache
*/
getStats(): CacheStats;
/**
* Définir la taille maximale du cache
*/
setMaxSize(maxSizeMB: number): void;
/**
* Définir l'âge maximum des tuiles
*/
setMaxAge(maxAge: number): void;
/**
* Précharger une zone de tuiles
*/
preloadArea(bounds: {
minX: number;
maxX: number;
minY: number;
maxY: number;
z: number;
}, urlTemplate: string, onProgress?: (loaded: number, total: number) => void): Promise<void>;
}
//# sourceMappingURL=TileCache.d.ts.map