@vuemap/district-cluster
Version:
106 lines (105 loc) • 3.92 kB
TypeScript
import Event from '../event';
import BoundsItem from './BoundsItem';
import type { DistrictCluster } from './index';
export interface StyleOption {
strokeColor?: string;
strokeOpacity?: number;
strokeWeight?: number;
fillColor?: string;
fillOpacity?: number;
}
export interface FeatureStyleByLevelOption {
country?: StyleOption;
province?: StyleOption;
city?: StyleOption;
district?: StyleOption;
}
export interface RenderOptions {
minHeightToShowSubFeatures?: number;
minSiblingAvgHeightToShowSubFeatures?: number;
minSubAvgHeightToShowSubFeatures?: number;
featureStyleByLevel?: FeatureStyleByLevelOption;
zIndex?: number;
visible?: boolean;
areaNodeCacheLimit?: number;
getFeatureStyle?: (feature: any, dataItems: any[]) => StyleOption;
zooms?: [number, number];
renderPolygon?: (feature: any, dataItems: any[]) => AMap.Polygon;
renderClusterMarker?: (feature: any, dataItems: any[]) => AMap.Marker;
clusterMarkerEventSupport?: boolean;
clusterMarkerClickToShowSub?: boolean;
featureEventSupport?: boolean;
featureClickToShowSub?: boolean;
}
interface CustomRenderOptions extends RenderOptions {
map: AMap.Map;
}
declare type _OptOptions = Required<CustomRenderOptions>;
export declare class BaseRender extends Event {
baseId: number;
_ins: DistrictCluster;
_currentZoom: number;
_currentScaleFactor?: number;
_currentViewBounds?: BoundsItem;
_currentViewBoundsInLngLat?: AMap.Bounds;
_currentPixelRatio?: number;
_currentFeatures: {
feature: any;
dataItems: any;
}[];
_currentRenderId?: number;
_loadLeft: number;
_isRendering?: boolean;
_opts: _OptOptions;
_renderLaterId: any;
_map: AMap.Map;
_polygonCache: AMap.Polygon[];
_markerCache: AMap.Marker[];
layer: any;
loca: any;
_locaPolygonLayer: any;
markerGroup?: AMap.OverlayGroup;
constructor(districtCluster: DistrictCluster, options: CustomRenderOptions);
_createLayer(): void;
zoomToShowSubFeatures(adcode: any, center?: any): void;
getPixelRatio(): number;
refreshViewState(): false | undefined;
renderViewport(): false | undefined;
getCurrentRenderId(): number | undefined;
isRenderIdStillValid(renderId: any): boolean;
_renderViewDist(renderId: any): void;
getMinZoomToShowSub(adcode: any): any;
shouldShowSubOnZoom(treeNode: any, zoom: any): boolean;
_shouldShowSub(treeNode: any): boolean;
_prepareFeatures(renderId: any, adcodes: any): void;
_prepareSelfFeatures(renderId: any, adcodes: any): void;
_prepareSubFeatures(renderId: any, adcodes: any): void;
_renderSelf(renderId: any, adcode: any, areaNode: any): void;
_checkLoadFinish(renderId: any): void;
_renderSub(renderId: any, areaNode: any): void;
_handleRenderFinish(): void;
_renderAllFeature(): void;
_renderAllFeatureByDefault(): void;
_tryFreeMemery(): void;
_increaseLoadLeft(): void;
_decreaseLoadLeft(renderId: any): void;
_loadAndRenderSelf(renderId: any, loadAdcode: any, adcode: any): void;
_loadAndRenderSub(renderId: any, adcode: any): void;
_prepRenderFeatureInPixel(renderId: any, feature: any): void;
_createPolygonFeature(feature: any, dataItems: any): any;
_createClusterMarker(feature: any, dataItems: any): AMap.Marker;
_getFeatureStyleOptions(feature: any, dataItems: any): StyleOption;
renderLater(delay?: number): void;
isRendering(): boolean | undefined;
render(): void;
forceRender(): void;
getOption(k: any): any;
getOptions(): Required<CustomRenderOptions>;
show(): void;
hide(): void;
clear(): void;
setzIndex(zIndex: number): void;
getZooms(): [number, number];
destroy(): void;
}
export {};