rs-react-native-map-clustering
Version:
React Native Map Clustering both for Android and iOS with TypeScript support
28 lines (27 loc) • 1.22 kB
TypeScript
import type { ReactElement, ReactNode } from 'react';
import type { ClusterFeature, MarkerData, MarkerStyle, Region, SpiderMarker } from './types';
interface MarkerElement {
props: {
coordinate: {
latitude: number;
longitude: number;
};
cluster?: boolean;
children?: ReactNode;
[key: string]: unknown;
};
}
declare const isMarkerElement: (child: ReactNode) => child is ReactElement<MarkerElement["props"]>;
export { isMarkerElement as isMarker };
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: ReactElement<MarkerElement["props"]>, index: number) => {
type: "Feature";
geometry: {
coordinates: [number, number];
type: "Point";
};
properties: Record<string, unknown>;
};
export declare const generateSpiral: (marker: MarkerData, clusterChildren: ClusterFeature[], markers: MarkerData[], index: number) => SpiderMarker[];
export declare const returnMarkerStyle: (points: number) => MarkerStyle;