gisviewer-vue3-arcgis
Version:
在应用中引入私服的包, 项目根目录下 新建文件 .npmrc 在 .npmrc 中对包源进行配置:
83 lines (82 loc) • 1.95 kB
TypeScript
import { IFindSignalControlAreaParams } from 'packages/components/src/types';
import DistrictController from './district-controller';
export default class CrossRenderer {
private view;
private crossLayer;
private crossGraphicSymbol;
private locations;
private clusteredLocations;
private filteredLocations;
private currentShowMode;
private zoomWatchHandle;
private symbolScale;
private oldScale;
private readonly clusterRadius;
private readonly minClusterPoints;
private readonly maxClusterSymbolSize;
private readonly minClusterSymbolSize;
constructor(view: __esri.MapView | __esri.SceneView);
addCrosses(controllers: DistrictController[]): Promise<void>;
/**
* 清除所有路口
*/
clearCrosses(): void;
/**
* 更新散点符号
*/
private updateScatterSymbol;
/**
* 将地理位置转换为屏幕坐标
*/
private locationToScreen;
/**
* 显示聚合点
*/
showCluster(): void;
/**
* 显示散点
*/
showScatter(): void;
/**
* 隐藏路口
*/
hideCrosses(): void;
filter(params: IFindSignalControlAreaParams): void;
resetFilter(): void;
/**
* 根据当前比例尺更新路口符号
* @param attributes
* @returns
*/
private getCrossSymbol;
/**
* 获取邻居点
* @param locations
* @param index
* @param eps
* @returns
*/
private getNeighbors;
/**
* 两点间的像素距离
* @param point1
* @param point2
* @returns
*/
private getDistance;
/**
* 从聚类结果中创建聚类对象
* @param locations
* @returns
*/
private createClusters;
/**
* 按照像素距离聚类
* @param locations
* @param eps
* @param minPoints
* @returns
*/
private doPixelCluster;
private showClusterResult;
}