本文介绍如何利用 OpenLayers 4 在地图上实现点的扩散动画效果。通过创建矢量图层并动态更新几何半径,结合 requestAnimationFrame 控制动画帧率,可生成类似雷达扫描的视觉效果。文中提供了完整的 HTML 结构及核心 JavaScript 代码,适用于需要展示动态数据或定位信息的 Web 地图应用开发。
OpenLayers 4 标点扩散动画实现
本文介绍如何使用 OpenLayers 4 在地图中标注点并实现扩散动画效果,供开发者参考。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="https://openlayers.org/en/v4.6.4/css/ol.css" type="text/css">
<!-- The line below is only needed for old environments like Internet Explorer and Android 4.x -->
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>
<script src="https://openlayers.org/en/v4.6.4/build/ol.js"></script>
<style>
.css_animation{
height:100px;
width:100px;
border-radius: 50%;
background: rgba(255, 0, 0, 0.9);
transform: scale(0);
animation: myfirst 3s;
animation-iteration-count: infinite;
}
@keyframes myfirst{
to{
transform: scale(2);
background: rgba(0, 0, 0, 0);
}
}
</style>
</head>
<body>
<div id="map" style="width: 100%;height: 100%"></div>
<script>
var map = new ol.Map({
layers:[new ol.layer.Tile({
source:new ol.source.OSM()
})],
target:'map',
view:new ol.View({
center: [12950000, 4860000],
zoom:7
})
});
var point_div = document.createElement('div');
point_div.className = 'css_animation';
point_overlay = new ol.Overlay({
element:point_div,
positioning:'center-center'
});
map.addOverlay(point_overlay);
point_overlay.setPosition([12950000, 4860000]);
</script>
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。