mirror of
https://github.com/ethan-zf/cesium-plot-js.git
synced 2025-06-23 19:17:29 +00:00
add createGeometryFromData
This commit is contained in:
parent
2f5e3a50a0
commit
85f2111f45
@ -173,9 +173,15 @@ buttonGroup.onclick = (evt) => {
|
||||
case 'createGeometryFromData':
|
||||
if (geometry) {
|
||||
const points = geometry.getPoints();
|
||||
debugger;
|
||||
CesiumPlot.createGeometryFromData(points);
|
||||
// debugger;
|
||||
// CesiumPlot.createGeometryFromData(points);
|
||||
|
||||
CesiumPlot.createGeometryFromData(Cesium, viewer, {
|
||||
type: 'FineArrow',
|
||||
cartesianPoints: points,
|
||||
});
|
||||
}
|
||||
|
||||
break;
|
||||
case 'cancelDraw':
|
||||
if (geometry) {
|
||||
|
30
src/index.ts
30
src/index.ts
@ -18,7 +18,10 @@ import Polygon from './polygon/polygon';
|
||||
import Circle from './polygon/circle';
|
||||
import Sector from './polygon/sector';
|
||||
|
||||
const CesiumPlot = {
|
||||
import { GeometryStyle } from './interface';
|
||||
import * as CesiumTypeOnly from 'cesium';
|
||||
|
||||
const CesiumPlot: any = {
|
||||
FineArrow,
|
||||
AttackArrow,
|
||||
SwallowtailAttackArrow,
|
||||
@ -40,4 +43,29 @@ const CesiumPlot = {
|
||||
Sector,
|
||||
};
|
||||
|
||||
type CreateGeometryFromDataOpts = {
|
||||
type: string;
|
||||
cartesianPoints: CesiumTypeOnly.Cartesian3[];
|
||||
style: GeometryStyle;
|
||||
};
|
||||
/**
|
||||
* 根据点位数据生成几何图形
|
||||
* @param points
|
||||
*/
|
||||
CesiumPlot.createGeometryFromData = (cesium: any, viewer: any, opts: CreateGeometryFromDataOpts) => {
|
||||
const { type, style, cartesianPoints } = opts;
|
||||
const geometry = new CesiumPlot[type](cesium, viewer, style);
|
||||
|
||||
geometry.points = cartesianPoints;
|
||||
const geometryPoints = geometry.createGraphic(cartesianPoints);
|
||||
geometry.setGeometryPoints(geometryPoints);
|
||||
if (geometry.type == 'polygon') {
|
||||
geometry.drawPolygon();
|
||||
} else {
|
||||
geometry.drawLine();
|
||||
}
|
||||
geometry.finishDrawing();
|
||||
geometry.onClick();
|
||||
};
|
||||
|
||||
export default CesiumPlot;
|
||||
|
Loading…
Reference in New Issue
Block a user