1. 程式人生 > >openlayers4實現點的擴散效果

openlayers4實現點的擴散效果

<!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>