天地图Circle扩散动画

地理信息系统GIS,不免需要一些动画在地图上面展示;比方说SOS求救、事故点位置、救援点等;

核心代码
typescript 复制代码
 function handleCircleSpreadAnimation(circle) {
    // 动画步数(可以根据需要调整)
    var steps = 25;
    var radius = 20;
    var currentStep = 0;
    var total = 10;
    var animationId;
    function animate() {
        if (currentStep < steps) {
            var progress = currentStep / steps;
            var newRadius = 5000 + (5000 - radius) * progress;
            circle.setRadius(newRadius);
            currentStep++;
            animationId = requestAnimationFrame(animate);
        } else {
            if (total === 0) {
                animate = null;
                animationId = null;
                circle.setRadius(5000);
                return;
            }
            total--
            currentStep = 0;
            animate();
        }
    }
    animate();
}
如何使用
typescript 复制代码
// 创建circle
var circle =new T.Circle(new T.LngLat(116.40093, 39.90313), 5000,{color:"#C90000",weight:2,opacity:0.5,fillColor:"#FB5812",fillOpacity:0.5,lineStyle:"solid"});
// 向地图上添加circle
map.addOverLay(circle);
// 执行动画
handleCircleSpreadAnimation(circle);
相关推荐
JSON_L1 小时前
Vue rem回顾
前端·javascript·vue.js
brzhang3 小时前
颠覆你对代码的认知:当程序和数据只剩下一棵树,能读懂这篇文章的人估计全球也不到 100 个人
前端·后端·架构
斟的是酒中桃3 小时前
基于Transformer的智能对话系统:FastAPI后端与Streamlit前端实现
前端·transformer·fastapi
烛阴4 小时前
Fract - Grid
前端·webgl
JiaLin_Denny4 小时前
React 实现人员列表多选、全选与取消全选功能
前端·react.js·人员列表选择·人员选择·人员多选全选·通讯录人员选择
brzhang4 小时前
我见过了太多做智能音箱做成智障音箱的例子了,今天我就来说说如何做意图识别
前端·后端·架构
为什么名字不能重复呢?4 小时前
Day1||Vue指令学习
前端·vue.js·学习
eternalless5 小时前
【原创】中后台前端架构思路 - 组件库(1)
前端·react.js·架构
Moment5 小时前
基于 Tiptap + Yjs + Hocuspocus 的富文本协同项目,期待你的参与 😍😍😍
前端·javascript·react.js
Krorainas5 小时前
HTML 页面禁止缩放功能
前端·javascript·html