Open Layers Refresh strategy

Demo of how to register to a layer event, create geom features on the fly and mainly the refresh strategy

HTML

<link rel="stylesheet" href="http://dev.openlayers.org/releases/OpenLayers-2.13.1/theme/default/style.css">
<script src="http://openlayers.org/api/OpenLayers.js"></script>
<div id="map"></div>

CSS

#map {
    height:400px;
}

JavaScript

// Minimal map with a WMS base layer
var map;
map = new OpenLayers.Map('map', {
    numZoomLevels: 6
});

// An empty vector layer with a refresh strategy 
var layer = new OpenLayers.Layer.Vector("POIs", {
    strategies: [new OpenLayers.Strategy.Refresh({
        interval: 1000
    })]
});

// Register an event that refreshes the layer with random points
// Code taken from OpenLayers Cookbook
// http://kcy.me/q9q0
layer.events.register('refresh', layer,fonctionU);

var fonctionU = function(){

    // Remove all previous features
    layer.removeAllFeatures({
        silent: true
    });

    // Create some random feature points
    var pointFeatures = [];
    for (var i = 0; i < 10; i++) {
        var px = Math.random() * 360 - 180;
        var py = Math.random() * 170 - 85;

        // Create a lonlat instance and transform it to the map projection.
        var lonlat = new OpenLayers.LonLat(px, py);
        var pointGeometry = new OpenLayers.Geometry.Point(lonlat.lon, lonlat.lat);
        var pointFeature = new OpenLayers.Feature.Vector(pointGeometry);

        pointFeatures.push(pointFeature);
    }
    // Add features to the layer
    layer.addFeatures(pointFeatures);
}

// Add the layers and zoom to max extent
map.addLayers([layer]);
map.setCenter(new OpenLayers.LonLat(0, 0), 2);