UNPKG

rs-react-native-map-clustering

Version:

React Native Map Clustering both for Android and iOS with TypeScript support

51 lines (50 loc) 1.56 kB
import { ReactNode } from 'react'; export interface Region { latitude: number; longitude: number; latitudeDelta: number; longitudeDelta: number; } export interface MarkerData { properties: { point_count: number; index: number; [key: string]: any; }; geometry: { coordinates: [number, number]; }; } export interface MarkerProps { coordinate: { latitude: number; longitude: number; }; cluster?: boolean; [key: string]: any; } export interface SpiderMarker { index: number; longitude: number; latitude: number; centerPoint: { latitude: number; longitude: number; }; } export interface ClusterStyleProps { width: number; height: number; size: number; fontSize: number; } export declare const isMarker: (child: ReactNode) => boolean; export declare const calculateBBox: (region: Region) => [number, number, number, number]; export declare const returnMapZoom: (region: Region, bBox: [number, number, number, number], minZoom: number) => number; export declare const markerToGeoJSONFeature: (marker: any, index: number) => any; export declare const generateSpiral: (marker: MarkerData, clusterChildren: any[], markers: MarkerData[], index: number) => SpiderMarker[]; /** * Optimized marker style calculation that uses a lookup table for common values * to avoid repetitive condition checks for better performance with large datasets */ export declare const returnMarkerStyle: (points: number) => ClusterStyleProps;