百度地图 api 自定义标注点动画

本文介绍了如何在百度地图API中通过JavaScript自定义标注点的动画效果,包括初始化marker、创建自定义图层DOM并添加动画关键帧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

百度地图 api 自定义标注点动画

直接使用因为 PC 端不能调用动画,所以只能自己写一层(纯 js)

具体如何初始化,查看官方文档 api 链接地址https://lbsyun.baidu.com/index.php?title=jspopularGL

1、先调用初始化百度的 maker

const marker = new BMapGL.Marker(point, { icon: myIcon }) // 创建标注

2、自定义图层 dom

let divElement = document.createElement("div")
divElement.className = "before"
let divElement2 = document.createElement("div")
divElement2.className = "after"
let divElement4 = document.createElement("div")
divElement4.className = "after2"
let divElement3 = document.createElement("div")
divElement3.className = "param"
divElement3.innerText = point2[index].name

在 marker 对象里,追加 dom

let markerObj = marker.domElement.childNodes[0]
marker.domElement.innerHtml = markerObj
marker.domElement.appendChild(divElement)
marker.domElement.appendChild(divElement2)
marker.domElement.appendChild(divElement4)
marker.domElement.appendChild(divElement3)
marker.domElement.className = ""
marker.domElement.className = "dot"
marker.domElement.style.overflow = ""
marker.domElement.firstChild.style.position = "relative"
marker.domElement.firstChild.style.zIndex = "5"

就可以在 css 中,对 dot 类做样式设定了

.dot {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 50;
}

对dom里的元素设置自定动画,页面中用了弹跳的效果

.dot > .before {
  position: absolute;
  width: 120px;
  height: 120px;
  left: -9px;
  top: -33px;
  animation: dotAnime 5s linear infinite;
}
@keyframes dotAnime {
  0% {
    transform: translateY(15px);
  }
  50% {
    transform: translateY(50px);
  }
  100% {
    transform: translateY(15px);
  }
}

*** 只作笔记记录 ***

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值