思路:分割线段后 利用定时器控制gif图片的位置import Overlay from 'ol/Overlay';
import Feature from 'ol/Feature';
import {LineString} from 'ol/geom.js';
import Style from 'ol/style/Style';
import Stroke from 'ol/style/Stroke';
import Point from 'ol/geom/Point';
/*** 直升机取水* coord : 起点* targetCoord : 终点* */
export function showQuShui(map,coord,targetCoord){targetCoord =  targetCoord || [115.83137799360136, 40.43483229118801];//创建直升机divlet div = document.createElement("div");div.className = "mhzsj";let span = document.createElement("span");span.className = "mhzsj-title";span.innerHTML = "灭火直升机"div.appendChild(span);let mhzsjOverLay = new Overlay({className : "mhzsj-div",element : div,insertFirst : false,stopEvent : false,positioning: 'center-center'});div.onclick = function(){console.log("点击灭火取水直升机")}map.addOverlay(mhzsjOverLay);let zjsPath = new Feature({geometry:new LineString([coord,targetCoord],"XY")});let distance = zjsPath.getGeometry().getLength();let pathCoords = [];for(let i= 0; i< distance; i+= 0.0001){let  c =zjsPath.getGeometry().getCoordinateAt(i/distance);pathCoords.push(c);}mhzsjOverLay.setPosition(pathCoords[0]);let length = pathCoords.length;let idx = 0;//直升机状态 1:前往取水途中 2:取水中  3:返程  4:放水灭火中let zStatus = 1;let timer = setInterval(()=>{quShuiTimer();},1000/60);function quShuiTimer(){mhzsjOverLay.setPosition(pathCoords[idx]);if(zStatus === 1){idx ++ ;if(idx === length){zStatus = 2;//终点取水中span.innerHTML = "取水中";clearInterval(timer);setTimeout(()=>{zStatus = 3;//取水完毕 返程span.innerHTML = "灭火直升机";timer =  setInterval(()=>{quShuiTimer();},1000/60)},3000)}}else if(zStatus === 3){idx --;if(idx === 0){zStatus = 4;//起点灭火中span.innerHTML = "灭火中";clearInterval(timer);setTimeout(()=>{zStatus = 1;//洒水完毕 继续取水span.innerHTML = "灭火直升机";timer =  setInterval(()=>{quShuiTimer();},1000/60)},3000)}}}
}

openlayer 利用overlay实现动画效果相关推荐

  1. Android利用SVG实现动画效果

    系列文章目录 Android利用SVG实现动画效果 老规矩,文中/文末会放置源码 文章目录 系列文章目录 前言 一.先看看Android中一个简单的SVG图 二.pathdata中参数的定义(三角形是 ...

  2. 如何在html网页中利用css实现动画效果

    animation动画 1.@keyframes 定义关键帧动画 以百分比来规定改变发生的时间,或者通过关键词 "from" 和 "to",等价于 0% 和 1 ...

  3. android联动动画,利用 CollapsingToolbarLayout 完成联动的动画效果

    最近项目中需要实现个动画效果,研究了下这里做下简单的分享. 效果图如下: 示例.gif 最初的想法是自己去利用 Android 的嵌套滚动机制,去实现上面的嵌套滚动效果.但最后为了开发效率直接利用了 ...

  4. android动画效果 translate,Android利用translate、scale、alpha、rotate实现动画效果

    Android利用translate.scale.alpha.rotate实现动画效果 在Android中可以用animation实现动画效果,Android中的animation由四种类型组成: a ...

  5. 我的Android进阶之旅------Android利用温度传感器实现带动画效果的电子温度计

    要想实现带动画效果的电子温度计,需要以下几个知识点: 1.温度传感器相关知识. 2.ScaleAnimation动画相关知识,来进行水印刻度的缩放效果. 3.android:layout_weight ...

  6. Android利用温度传感器实现带动画效果的电子温度计

    概述 Android利用温度传感器实现带动画效果的电子温度计. 详细 一.准备工作 需要准备一部带有温度传感器的安卓手机,或者使用有温度传感器的模拟器. 二.程序实现 1.需要截图程序结构 2.实现思 ...

  7. html的动画效果实现无限轮播,利用 CSS3 实现的无缝轮播功能代码

    无缝轮播的原理图 1 . html的架构 : JavaScript: /*轮播图*/ function banner() { var banner = document.querySelector(' ...

  8. android js 开屏动画,利用Flutter实现“孔雀开屏”的动画效果

    前言 今天分享一个类似"孔雀开屏"的动画效果,打开新的页面时,新的页面从屏幕右上角以圆形逐渐打开到全屏. 先来看下具体的效果 不知道这种效果大家叫什么名字?如果有更合适的名字可以在 ...

  9. Visual C# 2005 - 利用程序代码制作简单动画效果

    一般的 Windows Form 通常是运用各种控件来显示数据,然而如果您希望在窗体中加入特殊效果来凸显数据内容,那么图形与动画将是非常不错的选择. 一般来说,我们会使用 .Net Framework ...

最新文章

  1. TCP/UDP 常用端口列表汇总
  2. SQL2005 express升级到2008企业版解决4096限制问题
  3. 离散中多重组合是指_数学系离散数学的几大核心领域
  4. Ssm手机电脑自适应新闻博客系统实战开发
  5. 利用条件运算符的嵌套来完成此题:学习成绩 =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。...
  6. webpack——快速入门【一】
  7. Cordova 插件详解
  8. VOC2007数据集的下载和解压
  9. 计算机cpu任务管理器,任务管理器里CPU使用率过高问题
  10. 初识C语言及开始跨考计算机的心路历程
  11. 华为大数据云管理平台实测
  12. 技巧分享:简单的流程图怎么作?
  13. 上位机使用C++通过ADS协议与倍福PLC通信例程-布尔变量的读取
  14. Oracle11g在虚拟机win7上的详细安装过程(包括win7在虚拟机上的安装)
  15. Repo:Deep Learning with Differential Privacy
  16. 【论文翻译】(UAI 2018)使用感知预测网络进行潜在物理属性的无监督学习
  17. 解析LDO的基本原理与主要参数
  18. 高蛋白过敏我们该如何缓解?教你几招远离过敏吃喝无忌
  19. 网络设备配置与管理————11、配置主机名、时钟、IP地址
  20. USACO January 2014 Bronze Level

热门文章

  1. spring boot+mybatis框架环境搭建
  2. 苹果病毒如何攻击中国用户?
  3. Android - EventBus
  4. 九宫格摆法_《合战忍者村物语》九宫格布局摆法
  5. TechSmith Camtasia2023屏幕录像和编辑软件更新介绍
  6. java递归函数例子_Java递归函数详解附案例
  7. ab测试工具使用详情
  8. AcWing第 71 场周赛题解
  9. 实用又简单,做自媒体30天8502,分享几个常用的素材工具
  10. 讯为开发板移植linux,迅为I.MX6ULL开发板移植Linux5.4内核教程