Mars3d实现加载gif动图

172 篇文章 2 订阅
155 篇文章 0 订阅
文章介绍了在Mars3D三维可视化平台上,使用Vue和两种不同方式来绘制台风当前位置的gif点。方式一是通过DivGraphic直接添加HTML元素,方式二是借助第三方库SuperGif加载并显示gif动画。这两种方法都实现了在地图上展示台风动态效果的功能。
摘要由CSDN通过智能技术生成

官网有相关示例参考:功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技

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

 

方式1:

// [终点]绘制台风当前位置gif点
const gifGraphic = new mars3d.graphic.DivGraphic({
position: [endItem.lon, endItem.lat],
style: {
html: `<img src="img/icon/typhoon.gif">`,
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
verticalOrigin: Cesium.VerticalOrigin.CENTER
}
})
this.typhoonLayer.addGraphic(gifGraphic)

方式2:

// 利用第3方库(libgif.js)加载gif
function addDemoGraphic12(graphicLayer) {
const gifImg = document.createElement("img")
gifImg.setAttribute("rel:animated_src", "img/icon/typhoon.gif")
gifImg.setAttribute("rel:auto_play", "1") // 设置自动播放属性

// eslint-disable-next-line no-undef
const superGif = new SuperGif({ gif: gifImg })

superGif.load(function () {
const graphic = new mars3d.graphic.BillboardEntity({
position: new mars3d.LngLatPoint(116.3, 30.8, 1000),
style: {
image: new Cesium.CallbackProperty(() => {
// 转成base64,直接加canvas理论上是可以的,这里设置有问题
return superGif.get_canvas().toDataURL()
}, false),
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
verticalOrigin: Cesium.VerticalOrigin.CENTER
},
attr: { remark: "示例12" }
})
graphicLayer.addGraphic(graphic)
})
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值