1、Entity API使用提示:Cesium中提供两类API:(1)面向图形开发人员的底层API,通常称为“Primitive API”。该API暴露最小限度的抽象,使用图形学术语,具有很大的灵活性,需要具有图形学编程的知识;(2)高级别的数据驱动的API,称为“Entity API”。该API使用一致性设计的、高级别的对象来管理一组相关性的可视化对象,其底层使用Primitive API;Entity API简介Cesium提供Entity API来绘制空间数据,例如点、标记、标签、线、3D模型、形状、立体形状(volume)。下面是Entity API的简单例子,用红色半透明区域标记出美国怀
2、俄明州:1. varviewer=newCesium.Viewer(cesiumContainer);/创建一个查看器(Viewerwidget)2. varwyoming=viewer.entities.add(/添加一个实体,仅需要传递一个简单JSON对象,返回值是一个Entity对象3. name:Wyoming,4. polygon:5. hierarchy:Cesium.Cartesian3.fromDegreesArray(/一组地理坐标6. -109.080842,45.002073,7. -105.91517,45.002073,8. -104.058488,44.996596
3、,9. -104.053011,43.002989,10. -104.053011,41.003906,11. -105.728954,40.998429,12. -107.919731,41.003906,13. -109.04798,40.998429,14. -111.047063,40.998429,15. -111.047063,42.000709,16. -111.047063,44.476286,17. -111.05254,45.002073),18. material:Cesium.Color.RED.withAlpha(0.5),/材质19. outline:true,/是
4、否显示轮廓20. outlineColor:Cesium.Color.BLACK/轮廓的颜色21. 22. );23. viewer.zoomTo(wyoming);/缩放、平移视图使实体可见形状与立体(Shapes and Volumes)支持的形状与立体列表(1)立方体(Boxes):javascriptview plaincopyprint?1. varblueBox=viewer.entities.add(2. name:Bluebox,3. /中心的位置4. position:Cesium.Cartesian3.fromDegrees(-114.0,40.0,300000.0),5.
5、 box:6. /长宽高7. dimensions:newCesium.Cartesian3(400000.0,300000.0,500000.0),8. material:Cesium.Color.BLUE9. 10. );11. 12. varredBox=viewer.entities.add(13. name:Redboxwithblackoutline,14. position:Cesium.Cartesian3.fromDegrees(-107.0,40.0,300000.0),15. box:16. dimensions:newCesium.Cartesian3(400000.0
6、,300000.0,500000.0),17. material:Cesium.Color.RED,18. outline:true,/显示轮廓19. outlineColor:Cesium.Color.BLACK20. 21. );22. 23. varoutlineOnly=viewer.entities.add(24. name:Yellowboxoutline,25. position:Cesium.Cartesian3.fromDegrees(-100.0,40.0,300000.0),26. box:27. dimensions:newCesium.Cartesian3(40000
7、0.0,300000.0,500000.0),28. fill:false,/不显示填充29. outline:true,30. outlineColor:Cesium.Color.YELLOW31. 32. );(2)圆和椭圆(CirclesEllipses)javascriptview plaincopyprint?1. varviewer=newCesium.Viewer(cesiumContainer);2. /浮空的绿色圆形3. vargreenCircle=viewer.entities.add(4. position:Cesium.Cartesian3.fromDegrees(-
8、111.0,40.0,150000.0),5. name:Greencircleatheight,6. ellipse:7. semiMinorAxis:300000.0,8. semiMajorAxis:300000.0,9. height:200000.0,/浮空10. material:Cesium.Color.GREEN11. 12. );13. /红色椭圆形,位于地表,带轮廓14. varredEllipse=viewer.entities.add(15. /不带高度16. position:Cesium.Cartesian3.fromDegrees(-103.0,40.0),17.
9、 name:Redellipseonsurfacewithoutline,18. ellipse:19. semiMinorAxis:250000.0,20. semiMajorAxis:400000.0,21. material:Cesium.Color.RED.withAlpha(0.5),22. outline:true,23. outlineColor:Cesium.Color.RED24. 25. );26. /蓝色椭圆柱,旋转了角度27. varblueEllipse=viewer.entities.add(28. position:Cesium.Cartesian3.fromDe
10、grees(-95.0,40.0,100000.0),29. name:Bluetranslucent,rotated,andextrudedellipse,30. ellipse:31. semiMinorAxis:150000.0,32. semiMajorAxis:300000.0,33. extrudedHeight:200000.0,/拉伸34. rotation:Cesium.Math.toRadians(45),/旋转35. material:Cesium.Color.BLUE.withAlpha(0.7),36. outline:true37. 38. );39. 40. vi
11、ewer.zoomTo(viewer.entities);(3)走廊(Corridor)javascriptview plaincopyprint?1. varredCorridor=viewer.entities.add(2. name:Redcorridoronsurfacewithroundedcornersandoutline,3. corridor:4. positions:Cesium.Cartesian3.fromDegreesArray(5. -100.0,40.0,6. -105.0,40.0,7. -105.0,35.08. ),9. width:200000.0,10.
12、material:Cesium.Color.RED.withAlpha(0.5),11. outline:true,12. outlineColor:Cesium.Color.RED13. 14. );15. 16. vargreenCorridor=viewer.entities.add(17. name:Greencorridoratheightwithmiteredcorners,18. corridor:19. positions:Cesium.Cartesian3.fromDegreesArray(20. -90.0,40.0,21. -95.0,40.0,22. -95.0,35.
13、023. ),24. height:100000.0,25. width:200000.0,26. cornerType:Cesium.CornerType.MITERED,27. material:Cesium.Color.GREEN28. 29. );30. 31. varblueCorridor=viewer.entities.add(32. name:Blueextrudedcorridorwithbeveledcornersandoutline,33. corridor:34. positions:Cesium.Cartesian3.fromDegreesArray(35. 80.0
14、,40.0,36. -85.0,40.0,37. -85.0,35.038. ),39. height:200000.0,40. extrudedHeight:100000.0,41. width:200000.0,42. cornerType:Cesium.CornerType.BEVELED,43. material:Cesium.Color.BLUE.withAlpha(0.5),44. outline:true,45. outlineColor:Cesium.Color.BLUE46. 47. );(4)圆柱和圆锥(Cylinder Cones)javascriptview plain
15、copyprint?1. vargreenCylinder=viewer.entities.add(2. name:Greencylinderwithblackoutline,3. position:Cesium.Cartesian3.fromDegrees(-100.0,40.0,200000.0),4. cylinder:/圆柱5. length:400000.0,6. topRadius:200000.0,7. bottomRadius:200000.0,8. material:Cesium.Color.GREEN,9. outline:true,10. outlineColor:Ces
16、ium.Color.DARK_GREEN11. 12. );13. 14. varredCone=viewer.entities.add(15. name:Redcone,16. position:Cesium.Cartesian3.fromDegrees(-105.0,40.0,200000.0),17. cylinder:/圆锥18. length:400000.0,19. topRadius:0.0,20. bottomRadius:200000.0,21. material:Cesium.Color.RED22. 23. );(5)多边形(Polygons)javascriptview
17、 plaincopyprint?1. varredPolygon=viewer.entities.add(2. name:贴着地表的多边形,3. polygon:4. hierarchy:Cesium.Cartesian3.fromDegreesArray(-115.0,37.0,5. -115.0,32.0,6. -107.0,33.0,7. -102.0,31.0,8. -102.0,35.0),9. material:Cesium.Color.RED10. 11. );12. 13. vargreenPolygon=viewer.entities.add(14. name:绿色拉伸多边形
18、,15. polygon:16. hierarchy:Cesium.Cartesian3.fromDegreesArray(-108.0,42.0,17. -100.0,42.0,18. -104.0,40.0),19. extrudedHeight:500000.0,20. material:Cesium.Color.GREEN21. 22. );23. 24. varorangePolygon=viewer.entities.add(25. name:每个顶点具有不同拉伸高度的橘色多边形,26. polygon:27. hierarchy:Cesium.Cartesian3.fromDeg
19、reesArrayHeights(28. -108.0,25.0,100000,29. -100.0,25.0,100000,30. -100.0,30.0,100000,31. -108.0,30.0,300000),32. extrudedHeight:0,33. perPositionHeight:true,34. material:Cesium.Color.ORANGE,35. outline:true,36. outlineColor:Cesium.Color.BLACK37. 38. );39. 40. varbluePolygon=viewer.entities.add(41.
20、name:具有挖空效果的蓝色多边形,42. polygon:43. hierarchy:44. positions:Cesium.Cartesian3.fromDegreesArray(45. -99.0,30.0,46. -85.0,30.0,47. -85.0,40.0,48. -99.0,40.0),49. holes:50. positions:Cesium.Cartesian3.fromDegreesArray(51. -97.0,31.0,52. -97.0,39.0,53. -87.0,39.0,54. -87.0,31.055. ),56. holes:57. positions:Cesium.Cartesian3.fromDegreesArray(58. -95.0,33.0,59. -89.0,33.0,60. -89.0,37.0,61. -95.0,37.062. ),63. holes:64. positions:Cesium.Cartesian3.fromDegreesArray(65.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1