ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
73 lines (72 loc) • 2.32 kB
TypeScript
/// <reference types="@types/amap-js-api" />
import { NgZone } from '@angular/core';
import { AMapService } from '../../shared/amap.service';
import { PluginLoaderService } from '../../shared/plugin-loader.service';
import { LoggerService } from '../../shared/logger/logger.service';
import { Getter } from '../../base/interfaces';
export declare namespace AMapMarkerClusterer {
interface StyleObject {
url?: string;
size?: AMap.Size;
offset?: AMap.Pixel;
imageOffset?: AMap.Pixel;
textColor?: string;
textSize?: number;
}
interface Options {
/**
* 聚合计算时网格的像素大小,默认60
*/
gridSize?: number;
/**
* 聚合的最小数量。默认值为2,即小于2个点则不能成为一个聚合
*/
minClusterSize?: number;
/**
* 最大的聚合级别,大于该级别就不进行相应的聚合。默认值为18
*/
maxZoom?: number;
/**
* 聚合点的图标位置是否是所有聚合内点的中心点。默认为否
*/
averageCenter?: boolean;
/**
* 指定聚合后的点标记的图标样式,可缺省,缺省时为默认样式
*/
styles?: StyleObject[];
/**
* 该方法用来实现聚合点的自定义绘制
*/
renderClusterMarker?: (obj: {
count: number;
markers: AMap.Marker<any>[];
marker: AMap.Marker<any>;
}) => void;
/**
* 点击聚合点时,是否散开,默认值为:true
*/
zoomOnClick?: boolean;
}
}
export declare class AmapMarkerClustererService implements Getter<any> {
private amaps;
private plugins;
private logger;
private ngZone;
private markerClusterer;
private markerClusterer$;
constructor(amaps: AMapService, plugins: PluginLoaderService, logger: LoggerService, ngZone: NgZone);
/**
* 获取点聚合
*/
get(): import("rxjs").Observable<any>;
/**
* 创建点聚合 AMap.MarkerClusterer
* @param options 选项
*/
create(options: AMapMarkerClusterer.Options): import("rxjs").Observable<any>;
/**
* 销毁点聚合
*/
destroy(): void;
}