mars3d调用高亮openHighlight提升mars3d.js:14 openHighlight:原有style中不存在以下属性,关闭高亮时将无法恢复

154 篇文章 2 订阅
137 篇文章 0 订阅

单击按钮实现高亮小车的逻辑:

参考:

Mars3d实现单击按钮高亮矢量对象_mars3d获取点击矢量元素-CSDN博客

 let graphictruck = new mars3d.graphic.ModelEntity({
        position: [116.327881, 31.018378, 5000],
        style: {
          url: '//data.mars3d.cn/gltf/mars/qiche.gltf',
          heading: 90,
          scale: 0.9,
          minimumPixelSize: 300,
        },
        clampToGround: true
      })

      graphicLayer.addGraphic(graphictruck);


      $("#btnSelPoint").click(function () {
        graphictruck.openHighlight({
          silhouette: true,
          silhouetteColor: "#00ffff",
          silhouetteSize: 8,
        })
      });

      $("#btnUnSelPoint").click(function () {
        graphictruck.closeHighlight()
      });

结果:遇到控制台提示:

补充说明:此时的openHighlight({里面的配置,需要在new mars3d.graphic.ModelEntity({的原有的        style: {中存在,一一对应才可以。

例如此时:graphic.openHighlight({中,原有的silhouette参数没有,控制台会提示closeHighlight无法清除。

graphic.openHighlight({

          silhouette: true,

          silhouetteColor: "#00ffff",

          silhouetteSize: 8,

        })

解决方案:

1.        style: {中加上graphic.openHighlight({的相关参数即可

2.示例链接:

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

完整参考代码:

function addDemoGraphic1(graphicLayer) {

  const graphic = new mars3d.graphic.ModelEntity({

    name: "警车",

    position: [116.327881, 31.018378, 5000],

        style: {

             url: "//data.mars3d.cn/gltf/mars/fengche.gltf",

          heading: 90,

          scale: 0.9,

          minimumPixelSize: 50,

          silhouette: true,

          silhouetteColor: "#00ffff",

          silhouetteSize: 8,

        },

        flyTo: true

  })

  graphicLayer.addGraphic(graphic)

//   // 演示个性化处理graphic

//   initGraphicManager(graphic)

//   // graphic转geojson

//   const geojson = graphic.toGeoJSON()

//   console.log("转换后的geojson", geojson)

//   addGeoJson(geojson, graphicLayer)

graphic.openHighlight({

          silhouette: true,

          silhouetteColor: "red",

          silhouetteSize: 10,

        })

          setTimeout(() => {

    console.log("graphic.closeHighlight()←←←←←←←←←←←←←←←←←←←")

    graphic.closeHighlight()

  }, 5000);

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值