百度地图 api 自定义标注点动画
百度地图 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);
}
}
*** 只作笔记记录 ***
上一篇: 基于PHP的实验室设
下一篇: 基于php的外卖点餐