@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.
63 lines • 2.13 kB
TypeScript
import { TileCache } from './TileCache';
export interface TilePreloadOptions {
/** Rayon de préchargement en nombre de tuiles */
radius?: number;
/** Niveaux de zoom à précharger */
zoomLevels?: number[];
/** Délai entre les préchargements (ms) */
delay?: number;
/** Nombre maximum de téléchargements simultanés */
maxConcurrent?: number;
}
export interface PreloadProgress {
/** Nombre total de tuiles à précharger */
total: number;
/** Nombre de tuiles déjà préchargées */
loaded: number;
/** Nombre de tuiles en erreur */
errors: number;
/** Pourcentage de progression */
progress: number;
}
export declare class TilePreloader {
private cache;
private downloadQueue;
private currentDownloads;
private maxConcurrentDownloads;
private downloadDelay;
private isPreloading;
private preloadAbortController?;
constructor(cache: TileCache);
/**
* Précharge les tuiles pour une région donnée
*/
preloadTilesForRegion(latitude: number, longitude: number, zoom: number, options?: TilePreloadOptions): Promise<PreloadProgress>;
/**
* Précharge les tuiles autour d'un centre donné
*/
preloadTilesAroundCenter(centerLat: number, centerLon: number, zoom: number, radius?: number, tileUrlTemplate?: string): Promise<void>;
/**
* Précharge les tuiles le long d'un itinéraire
*/
preloadTilesForRoute(coordinates: [number, number][], zoom: number, corridor?: number, // corridor en mètres
tileUrlTemplate?: string): Promise<void>;
/**
* Annule le préchargement en cours
*/
cancelPreloading(): void;
/**
* Vérifie si le préchargement est en cours
*/
isCurrentlyPreloading(): boolean;
/**
* Obtient le nombre de tuiles en queue de téléchargement
*/
getQueueSize(): number;
private calculateTilesToPreload;
private processDownloadQueue;
private downloadAndCacheTile;
private buildTileUrl;
private calculateDistance;
private createSemaphore;
}
//# sourceMappingURL=TilePreloader.d.ts.map