OpenLayers3入门篇-点的扩散效果
来源:互联网 发布:spark submit python 编辑:程序博客网 时间:2024/05/22 10:03
点的扩散效果原理与点在线上的运动类似,先根据传入的坐标先创建一个layer,然后绑定一个addfeature的事件(flush函数),在这个事件里面随着时间的推移不断的对这个layer的style进行设置从而动态的做出扩散的效果出来
function pointLight(pointC){map.removeLayer(vector2);pointCoord = pointC;var source = new ol.source.Vector({ wrapX: false }); var vector = new ol.layer.Vector({ source: source, });vector2 = vector;map.addLayer(vector2);var geom = new ol.geom.Point(ol.proj.transform(pointCoord, 'EPSG:4326', 'EPSG:3857')); var feature = new ol.Feature(geom); source.on('addfeature', function(e) { flash(e.feature); }); source.addFeature(feature);}//扩散的加载function flash(feat){ var feature = feat; var start = new Date().getTime(); var listenerKey; function animate(event){ var vectorContext = event.vectorContext; var frameState = event.frameState; var flashGeom = feature.getGeometry().clone(); var elapsed = frameState.time - start; var elapsedRatio = elapsed / duration; var radius = ol.easing.easeOut(elapsedRatio) * 25 + 5; var opacity = ol.easing.easeOut(1 - elapsedRatio); var style = new ol.style.Style({//设置样式 image: new ol.style.Circle({ radius: radius, snapToPixel: false, stroke: new ol.style.Stroke({ color: 'rgba(255, 0, 0, ' + opacity + ')', width: 0.25 + opacity }) }) }); vectorContext.setStyle(style); vectorContext.drawGeometry(flashGeom); if (elapsed > duration) { ol.Observable.unByKey(listenerKey); map.removeLayer(vector2); pointLight(pointCoord); return; } // tell OL3 to continue postcompose animation map.render(); } //地图渲染事件 listenerKey = map.on('postcompose', animate); }
0 1
- OpenLayers3入门篇-点的扩散效果
- OpenLayers3入门篇-点在线上的运动
- OpenLayers3入门篇-创建点和线
- OpenLayers3入门篇-右键事件的绑定
- OpenLayers 3 之 动态点扩散效果
- OpenLayers3入门篇-创建地图
- OpenLayers3入门篇-单击事件
- Android 点击水波纹扩散效果( Ripple Effect )
- android 炫酷的水波扩散效果
- openlayers3画线画点
- PSF 点扩散函数
- PSF 点扩散函数
- 点击扩散效果(仿uber取消行程的动画)(ios)
- 实现支付宝的咻一咻波纹扩散效果
- 中心向周围扩散的css圆圈,动画效果
- OpenLayers3三种动态效果
- Android水波纹扩散效果
- Android 水波纹扩散效果
- 前缀和系列题目
- 利用pdf.js在手机端网页中直接打开PDF文档
- 文件操作:模拟cp复制功能源码&&文件异步读写
- 单词来了!
- 内存优化,OOM异常处理
- OpenLayers3入门篇-点的扩散效果
- 深入剖析Android音频之AudioTrack
- linux下安装protobuf教程+示例(详细)
- poj 3678 Labeling Balls
- 工厂模式之抽象工厂模式
- xmlpullparser之skip(parser)
- 【POJ】2965 - The Pilots Brothers' refrigerator(dfs & 双端队列 & 思维)
- Android View绘制流程
- web.xml