supercluster-googlemaps-adapter
Version:
Supercluster Adapter for Google Maps JavaScript API v3
64 lines (63 loc) • 4.08 kB
TypeScript
/// <reference types="googlemaps" />
import { SuperClusterAdapter } from './clusterer';
import { IStyle, OverlappingMarkerSpiderfier } from './interfaces';
import Supercluster from 'supercluster';
export declare class Builder {
private pMap;
private pRadius;
private pMaxZoom;
private pMinZoom;
private pStyles;
private pImagePath;
private pImageExtension;
private pZoomOnClick;
private pCustomMarkerIcon;
private pCustomClusterIcon;
private pUpdateMarkerOptions;
private pMarkerClick;
private pFeatureClick;
private pClusterClick;
private pFeatureStyle;
private pServerSideFeatureToSuperCluster;
private pOverlapMarkerSpiderfier;
private pUseServerSideClusterer;
private pGetClustersServerSide;
constructor(map: google.maps.Map);
withRadius(radius: number): Builder;
withMaxZoom(maxZoom: number): Builder;
withMinZoom(minZoom: number): Builder;
withStyles(styles: IStyle[]): Builder;
withImagePath(imagePath: string): Builder;
withImageExtension(imageExtension: string): Builder;
withZoomOnClick(zoomOnClick: boolean): Builder;
withCustomMarkerIcon(customIcon: (pointFeature: Supercluster.PointFeature<Supercluster.AnyProps>) => string | google.maps.Symbol): Builder;
withCustomClusterIcon(customIcon: (clusterFeature: Supercluster.ClusterFeature<Supercluster.AnyProps>, clusterIndex: number) => google.maps.Icon | google.maps.Symbol | null): Builder;
withUpdateMarkerOptions(updateMarkerOptions: (scfeature: Supercluster.PointFeature<Supercluster.AnyProps> | Supercluster.ClusterFeature<Supercluster.AnyProps>, marker: google.maps.Marker) => google.maps.MarkerOptions | null): Builder;
withMarkerClick(markerClick: (marker: google.maps.Marker, event: google.maps.MouseEvent) => void): Builder;
withFeatureClick(featureClick: (event: google.maps.Data.MouseEvent) => void): Builder;
withClusterClick(clusterClick: (marker: google.maps.Marker, event: google.maps.MouseEvent, mapInstance: google.maps.Map, clusterer: SuperClusterAdapter) => void): Builder;
withFeatureStyle(featureStyle: google.maps.Data.StylingFunction): Builder;
withServerSideFeatureToSuperCluster(transform: (feature: any) => Supercluster.ClusterFeature<Supercluster.AnyProps> | Supercluster.PointFeature<Supercluster.AnyProps>): Builder;
withOverlapMarkerSpiderfier(oms: OverlappingMarkerSpiderfier): Builder;
withGetClustersServerSide(getClusters: (bbox: GeoJSON.BBox, zoom: number, clusterToZoom?: string) => Promise<any[]>): Builder;
build(): SuperClusterAdapter;
get map(): google.maps.Map;
get radius(): number;
get maxZoom(): number;
get minZoom(): number;
get styles(): IStyle[];
get imagePath(): string;
get imageExtension(): string;
get zoomOnClick(): boolean;
get customMarkerIcon(): (pointFeature: Supercluster.PointFeature<Supercluster.AnyProps>) => string | google.maps.Symbol;
get customClusterIcon(): (clusterFeature: Supercluster.ClusterFeature<Supercluster.AnyProps>, clusterIndex: number) => google.maps.Icon | google.maps.Symbol | null;
get updateMarkerOptions(): (scfeature: Supercluster.PointFeature<Supercluster.AnyProps> | Supercluster.ClusterFeature<Supercluster.AnyProps>, marker: google.maps.Marker) => google.maps.MarkerOptions | null;
get markerClick(): (marker: google.maps.Marker, event: google.maps.MouseEvent) => void;
get featureClick(): (event: google.maps.Data.MouseEvent) => void;
get clusterClick(): ((marker: google.maps.Marker, event: google.maps.MouseEvent, mapInstance: google.maps.Map, clusterer: SuperClusterAdapter) => void) | undefined;
get featureStyle(): google.maps.Data.StylingFunction;
get serverSideFeatureToSuperCluster(): (feature: any) => Supercluster.ClusterFeature<Supercluster.AnyProps> | Supercluster.PointFeature<Supercluster.AnyProps>;
get overlapMarkerSpiderfier(): OverlappingMarkerSpiderfier | null;
get useServerSideClusterer(): boolean;
get getClustersServerSide(): (bbox: GeoJSON.BBox, zoom: number) => Promise<any[]>;
}