new mars3d.graphic.PolygonEntity({计算平面几何中心点及贴地效果展示

148 篇文章 2 订阅
132 篇文章 0 订阅

1.Mars3d提供了几何图形相关点位的计算方法polyutil:

PolyUtil - V3.7.0 - Mars3D API文档

2.通过api可以算出相关经纬度坐标,实现相关中心点的展示 :

功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技

3.相关实现代码:

function addDemoGraphic1(graphicLayer) {

  const graphic = new mars3d.graphic.PolygonEntity({

    positions: [

      [117.271662, 31.870639, 21.49],

      [117.290605, 31.871517, 19.47],

      [117.302056, 31.858145, 16.27],

      [117.299439, 31.847545, 14.77],

      [117.267705, 31.8491, 22.11]

    ],

    style: {

      color: "#3388ff",

      opacity: 0.5,

      outline: true,

      outlineWidth: 3,

      outlineColor: "#ffffff",

      label: {

        text: "我是中心点附带的坐标",

        font_size: 18,

        color: "#ffffff",

        distanceDisplayCondition: true,

        distanceDisplayCondition_far: 500000,

        distanceDisplayCondition_near: 0

      }

    },

    attr: { remark: "示例1" }

  })

  graphicLayer.addGraphic(graphic)

  const Billboard = mars3d.PolyUtil.centerOfMass([

      [117.271662, 31.870639, 21.49],

      [117.290605, 31.871517, 19.47],

      [117.302056, 31.858145, 16.27],

      [117.299439, 31.847545, 14.77],

      [117.267705, 31.8491, 22.11]

    ],1000)

    const graphic1 = new mars3d.graphic.BillboardEntity({

    position: Billboard,

    style: {

      image: "img/marker/lace-blue.png",

      horizontalOrigin: Cesium.HorizontalOrigin.CENTER,

      verticalOrigin: Cesium.VerticalOrigin.BOTTOM,

        label: {

        text: "我是带高度的几何中心点",

        font_size: 18,

        color: "blue",

        distanceDisplayCondition: true,

        distanceDisplayCondition_far: 500000,

        distanceDisplayCondition_near: 0

      }

    },

    attr: { remark: "centerOfMass" }

  })

  graphicLayer.addGraphic(graphic1)

    const graphic2 = new mars3d.graphic.PointEntity({

    position:Billboard,

    style: {

      color: "#ff0000",

      pixelSize: 10,

      outlineColor: "#ffffff",

      outlineWidth: 2,

      clampToGround:true

    },

    attr: { remark: "像素点去高度" }

  })

  graphicLayer.addGraphic(graphic2)

}

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值