gisviewer-vue3-arcgis
Version:
在应用中引入私服的包, 项目根目录下 新建文件 .npmrc 在 .npmrc 中对包源进行配置:
212 lines (211 loc) • 5.81 kB
TypeScript
import Graphic from '@arcgis/core/Graphic';
import GraphicsLayer from '@arcgis/core/layers/GraphicsLayer';
import MapView from '@arcgis/core/views/MapView';
import SceneView from '@arcgis/core/views/SceneView';
import Sketch from '@arcgis/core/widgets/Sketch';
import SketchViewModel from '@arcgis/core/widgets/Sketch/SketchViewModel';
interface sketchViewOptions {
creationMode?: 'single' | 'continuous' | 'update' | undefined;
/**
* 最大允许绘制的图形数量
*/
maxAllowedGraphics?: number;
/**
* 图形图层配置
*/
GraphicsLayer?: {};
/**
* 绘制工具显示的元素
*/
sketchVisibleElements?: {};
/**
* 绘制工具显示的位置
*/
sketchPosition?: string;
/**
* 绘制工具默认是否显示
*
* @type {boolean}
* @memberof sketchViewOptions
*/
defaultSketchVisible?: boolean;
sketchViewModelItemSymbol?: {
polylineSymbol?: any;
polygonSymbol?: any;
pointSymbol?: any;
};
}
interface ITPoint {
x: number;
y: number;
}
declare type LinearUnits = 'meters' | 'feet' | 'kilometers' | 'miles' | 'nautical-miles' | 'yards' | number;
export default class SketchView {
private viewer;
graphicsLayer: GraphicsLayer;
TextGraphicsLayer: GraphicsLayer;
sketchViewModel: SketchViewModel;
sketch: Sketch;
options: sketchViewOptions;
constructor(view: MapView | SceneView, options?: sketchViewOptions);
updateSketch(ring: number[][]): void;
cancelSketch(): void;
init(): void;
/**
* 初始化绘图
*
* @param {*} data
* @param {string} [type='crossArea']
* @param {boolean} [reverse=false] 是否反转
* @returns
* @memberof SketchView
*/
initPoint(data: any, type?: string, reverse?: boolean): void;
/**
* 初始化进口道融合区
*
* @param {any[]} data
* @memberof SketchView
*/
initEntranceFusionZone(data: any[]): void;
initCrossArea(data: any): Graphic;
/**
* 初始进出口道计算区域
*
* @param {*} data
* @param {boolean} [reverse=false] 是否反转
* @returns
* @memberof SketchView
*/
initSectionArea(data: any, reverse?: boolean): any;
createPolylineGraphic(paths: any, lineSymbol: any, attributes: any): Graphic;
createPolygonGraphic(rings: any, lineSymbol: any, attributes: any): Graphic;
on(callback?: (type: string, points: any, event?: any) => void): void;
/**
* 获取当前绘制的计算区域
* @returns
*/
graphicPoint(): any[];
/**
* 获取进口道区域
*
* @memberof SketchView
*/
getEntranceRoad(): any;
/**
* 获进口道融合区
*
* @param {armData} armData 进口道编号区域
* @param {number[]} armNoList 进口道编号列表
* @returns
* @memberof SketchView
*/
getEntranceFusionZone(armNoList: number[]): {
graphics: {
[key: number]: {
point: any;
type: string;
attributes: any;
};
};
rawData: {
point: any;
type: string;
attributes: any;
}[];
};
/**
* 获取进口道所在的进口道编号
*
* @param {armData} armData 进口道编号区域
* @param {*} graphicPolygon 绘制的区域
* @returns
* @memberof SketchView
*/
private getIntersectionArea;
private filterData;
/**
*
*
* @private
* @param {*} geometry
* @param {boolean} [isFilterData=true] 是否过滤首尾相同点数据
* @returns
* @memberof SketchView
*/
private getGraphicPoint;
close(): void;
show(): void;
removeAll(): void;
/**
* 获取两点的角度
*
* @param {ITPoint} startPoint
* @param {ITPoint} endPoint
* @returns
* @memberof SketchView
*/
getAngle(startPoint: ITPoint, endPoint: ITPoint): number;
/**
* 获取线平移后的坐标
*
* @param {Polyline} lineGeometry 线的几何图形
* @param {number} distance 平移的距离,默认米
* @param {LinearUnits} [offsetUnit='meters']
* @returns
* @memberof SketchView
*/
getShiftLine(lineGeometry: __esri.Geometry, distance: number, offsetUnit?: LinearUnits): __esri.Geometry | __esri.Geometry[];
/**
* 设置线的平移
*
* @param {number} distance 平移的距离,默认米
* @param {LinearUnits} [offsetUnit='meters'] 平移的单位
* @param {*} symbol 线的样式
* @memberof SketchView
*/
setShiftLine(distance: number, offsetUnit?: LinearUnits, symbol?: any): void;
/**
* 移除平移线
*
* @memberof SketchView
*/
removeShiftLine(): void;
/**
* 移除绘制的线
*
* @memberof SketchView
*/
removeDraw(): void;
addGraphic(geometry: any, symbol?: any, attributes?: any): void;
/**
* 获取方向
*
* @param {ITPoint} startPoint 起点
* @param {ITPoint} endPoint 终点
* @returns
* @memberof SketchView
*/
getDirection(startPoint: ITPoint, endPoint: ITPoint): 0 | 1 | 3 | 2;
findLayerById(id: string): __esri.Layer;
/**
* 根据id查找平移线graphic
*
* @param {string} id
* @returns
* @memberof SketchView
*/
findShiftLineGraphicsById(id: string): Graphic;
/**
* 删除指定的图形
* @param graphic 删除指定的图形
*/
remove(graphic: any): void;
/**
* 设置最大允许绘制的图形数量
* @param num 数量
*/
setMaxAllowedGraphics(num: number): void;
destroy(): void;
}
export {};