当前位置:   article > 正文

cesium大屏效果提升_cesium 效果

cesium 效果

1、灵感:由于我工作项目中经常会利用自己的服务单独发布一个地图影像(图一),可能我们会给个地图一个背景颜色,来使之变得好看点,但是总感觉差点意思。过于单调,然后再Mars3D官方发现一效果比较中意Mars3D突出行政区显示,于是自己复现了一下(图二)

其实代码很简单,就是绘制圆形,然后贴圆图片纹理

  1. let rotation = Cesium.Math.toRadians(50)
  2. function getRotationValue() {
  3. rotation += 0.005
  4. return rotation
  5. }
  6. function initCircle(radius: number, image: string, scale = 1.0) {
  7. var circleEntity: any = viewer?.entities.add({
  8. name: 'Circle',
  9. position: Cesium.Cartesian3.fromDegrees(111.221492, 34.929269),
  10. ellipse: {
  11. semiMinorAxis: radius * scale, // 圆的半短轴(单位:米)
  12. semiMajorAxis: radius * scale, // 圆的半长轴(单位:米)
  13. material: new Cesium.ImageMaterialProperty({
  14. image: image,
  15. transparent: true
  16. }),
  17. height: 0.0, // 圆的高度
  18. extrudedHeight: 0.0, // 圆柱的高度,如果需要立体效果可以设置非0值
  19. }
  20. });
  21. console.log(circleEntity, 'circleEntity');
  22. viewer?.zoomTo(circleEntity)
  23. }
  24. function addCircle1() {
  25. initCircle(500000, calibPng, 1.1)
  26. initCircle(500000, calibValuePng, 1.0)
  27. initCircle(500000, calibDirPng, 1.0)
  28. initCircle(500000, anhuiPng, 0.8)
  29. var circleEntity: any = viewer?.entities.add({
  30. name: 'Circle',
  31. position: Cesium.Cartesian3.fromDegrees(111.221492, 34.929269),
  32. ellipse: {
  33. semiMinorAxis: 500000 * 1.3, // 圆的半短轴(单位:米)
  34. semiMajorAxis: 500000 * 1.3, // 圆的半长轴(单位:米)
  35. material: new Cesium.ImageMaterialProperty({
  36. image: ringPng,
  37. transparent: true
  38. }),
  39. height: 0.0, // 圆的高度
  40. extrudedHeight: 0.0, // 圆柱的高度,如果需要立体效果可以设置非0值
  41. rotation: new Cesium.CallbackProperty(getRotationValue, false),
  42. stRotation: new Cesium.CallbackProperty(getRotationValue, false),
  43. }
  44. });
  45. }

图片我就不附上了,找UI设计

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/99759
推荐阅读
相关标签
  

闽ICP备14008679号