gisviewer-vue3-arcgis
Version:
在应用中引入私服的包, 项目根目录下 新建文件 .npmrc 在 .npmrc 中对包源进行配置:
146 lines (145 loc) • 4.12 kB
TypeScript
import { IBlockOpenDriveLaneParams, IFindSumoParams, IResult, IShowOpenDriveFromFileParams, ISplitOpenDriveLaneParams, IUnselectSumoParams } from '../../../types';
export default class OpenDriveRenderer {
private static instance;
static getInstance(view: __esri.MapView | __esri.SceneView): OpenDriveRenderer;
private readonly view;
private laneLayer;
private roadNameLayer;
private junctionLayer;
private sectionLayer;
private highlightLayer;
private flashLayer;
private drawLayer;
private splitLaneLayer;
private borderLayer;
private allLaneGraphics;
private allRefLineGraphics;
private mouseMoveHandler;
private mouseClickHandler;
private junctionNames;
private readonly junctionScale;
private scaleWatch;
private xodrBorder;
constructor(view: __esri.MapView | __esri.SceneView);
private projectName;
private openDriveServer;
private openDriveClickCallback;
private makeMd5FromFile;
/**
* 从本地文件/网络文件显示OpenDrive内容
* @param params
* @returns
*/
showOpenDriveFromFile(params: IShowOpenDriveFromFileParams): Promise<IResult>;
/**
* 从服务器载入OpenDrive文件解析结果并显示
* @param server
* @param projectName
*/
showOpenDriveFromServer(server: string, projectName: string): Promise<IResult>;
/**
* 显示所有车道
* @param roads 道路列表
* @param showJunctionLane 是否显示路口内车道
* @param showRoadName 是否显示道路名称
* @returns
*/
private showAllLanes;
/**
* 显示路口
* @param params
* @returns
*/
private showJunction;
private currentSectionCode;
private selectedSectionIds;
private currentJunctionId;
private hitGraphic;
/**
* 监听鼠标移动事件,高亮显示鼠标所在路段和路口
*/
private monitorMouseMove;
/**
* 监听鼠标点击事件,获取高亮要素的拓扑信息
*/
private monitorMouseClick;
/**
* 图标增大动画
* @param graphic
* @param targetSize
*/
private increasePictureMarkerSize;
/**
* 图标缩小动画
* @param graphic
* @param targetSize
*/
private decreasePictureMarkerSize;
getSumoInfo(params: IFindSumoParams): Promise<IResult>;
setOpendriveVisibility(visible: boolean): void;
/**
* 清除OpenDrive内容
*/
clearOpenDrive(): Promise<void>;
/**
* 用sumo的id定位车道、基本段、路段
* @param params
* @returns
*/
findSumo(params: IFindSumoParams): Promise<IResult>;
private findJunction;
/**
* 用sumo的id定位车道、基本段、路段
* @param params
* @returns
*/
private findLane;
/**
* graphic渐隐渐显闪烁
* @param flashGraphic
*/
private flashGraphic;
/**
* 通过接口取消选中
* @param params
* @returns
*/
unselectSumo(params?: IUnselectSumoParams): IResult;
/**
* 通过接口选中
* @param params
* @returns
*/
selectSumo(params: IFindSumoParams): Promise<IResult>;
geometrySearch(coordinate: number[][]): Promise<IResult>;
/**
* 封闭车道,使用sumo的id
* @param params
* @returns
*/
splitLane(params: ISplitOpenDriveLaneParams): Promise<IResult>;
clearSplitLane(): void;
/**
* 封闭车道,使用可计算路网的id
* @param params
*/
blockLane(params: IBlockOpenDriveLaneParams): void;
/**
* 解除封闭车道,使用可计算路网id
* @param params
*/
clearBlockLane(params: IBlockOpenDriveLaneParams): void;
selectComputable(params: IFindSumoParams): void;
/**
* 更新所有路口的symbol
* @param symbolStyle
*/
private updateAllJunctionSymbol;
/**
* 生成路口点符号。在不同比例尺下,使用不同的符号
* @param attributes
* @param symbolType
* @returns
*/
private getCrossGraphicSymbol;
}