I must use javascript for a project but I don't know anything about javascript. In the js file I use jVectorMap to display a world map which is "updated" every 5 seconds. When I open the web page using this javascript file in my web client and wait for some hours my computer runs out of RAM. I use chrome dev console and profile tool to identify the part of the code producing this issue. When I remove this part there is no memory usage issue.
The part of the code is :
function ui_geo_map(countriesCount) {
    $('#geo-world-map').empty();
    $('#geo-world-map').vectorMap({
        map: 'world_mill_en',
        series: {
            regions: [{
                values: countriesCount,
                scale: ['#2ecc71', '#c0392b'],
                normalizeFunction: 'polynomial',
                legend: {vertical: true}
            }]
        },
        onRegionTipShow: function(e, el, code){
            el.html(el.html() + ' (' + countriesCount[code] + ' - servers)');
        }
    });
};
function ui_geo() {
    console.debug('Redrawing the geo map');
    $('.pywos-geo').remove();
    $.getJSON('/get/geo/all', function(data){
        $.each(data, function(key, val){
            countriesCount[val.country_code] = val.count;
        });
        ui_geo_map(countriesCount);
    });
};
I know the empty followed by vectorMap is certainly not the right way to do it but if I remove $('#geo-world-map').empty(); the map is not replaced, instead it is displayed under the previous one which is not what I want.
Can someone help me find the right way to do it without any memory leaks ?
 
     
    