mirror of
				https://github.com/ethan-zf/cesium-plot-js.git
				synced 2025-11-04 01:04:18 +00:00 
			
		
		
		
	add createGeometryFromData
This commit is contained in:
		
							parent
							
								
									2f5e3a50a0
								
							
						
					
					
						commit
						85f2111f45
					
				@ -173,9 +173,15 @@ buttonGroup.onclick = (evt) => {
 | 
				
			|||||||
    case 'createGeometryFromData':
 | 
					    case 'createGeometryFromData':
 | 
				
			||||||
      if (geometry) {
 | 
					      if (geometry) {
 | 
				
			||||||
        const points = geometry.getPoints();
 | 
					        const points = geometry.getPoints();
 | 
				
			||||||
        debugger;
 | 
					        // debugger;
 | 
				
			||||||
        CesiumPlot.createGeometryFromData(points);
 | 
					        // CesiumPlot.createGeometryFromData(points);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        CesiumPlot.createGeometryFromData(Cesium, viewer, {
 | 
				
			||||||
 | 
					          type: 'FineArrow',
 | 
				
			||||||
 | 
					          cartesianPoints: points,
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      break;
 | 
					      break;
 | 
				
			||||||
    case 'cancelDraw':
 | 
					    case 'cancelDraw':
 | 
				
			||||||
      if (geometry) {
 | 
					      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 Circle from './polygon/circle';
 | 
				
			||||||
import Sector from './polygon/sector';
 | 
					import Sector from './polygon/sector';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const CesiumPlot = {
 | 
					import { GeometryStyle } from './interface';
 | 
				
			||||||
 | 
					import * as CesiumTypeOnly from 'cesium';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const CesiumPlot: any = {
 | 
				
			||||||
  FineArrow,
 | 
					  FineArrow,
 | 
				
			||||||
  AttackArrow,
 | 
					  AttackArrow,
 | 
				
			||||||
  SwallowtailAttackArrow,
 | 
					  SwallowtailAttackArrow,
 | 
				
			||||||
@ -40,4 +43,29 @@ const CesiumPlot = {
 | 
				
			|||||||
  Sector,
 | 
					  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;
 | 
					export default CesiumPlot;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user