根据上次加载的时间戳从数据库中连续加载标记



我在数据库中保存了带有lat、lng、type和时间戳的标记位置。我当前的代码加载所有标记(根据它们的类型显示不同的图标),但当我使用setInterval函数时,它们都会重新加载。向我建议的一个解决方案是添加一个变量,该变量在第一次成功加载时检查时间戳,并每次更新,因此当再次触发该函数时,它将只加载在该时间之后添加的标记。然而,我不确定如何将其添加到我当前的代码中。如有任何帮助/建议,我们将不胜感激。感谢

setInterval(function(){   
//Load Markers from the XML File
$.get("json-data-locations_2.php", function(data) {
    $(data).find("marker").each(function() {
        var type = $(this).attr('type');
        var point = new google.maps.LatLng(parseFloat($(this).attr('lat')), parseFloat($(this).attr('lng')));
        var icons; 
        if (type === 'Drink') {
            icons = 'NewMarkers/Blue.png';
        }
        else if (type === 'Food') {
            icons = 'NewMarkers/Orange.png';
        }
        else {
            icons = 'NewMarkers/Purple.png';
        }
        create_marker(point, type, "", false, false, false, icons);
    });
});
}, 8000);

另一种方法可能是这种方法。只调用一次您已经准备好的函数,然后对一个新的相同函数使用setInterval,只将您请求数据的.php文件更改为一个新文件,该文件会返回基于时间戳的最新标记,并使用以下查询:

SELECT MAX(timestamp) AS timestamp FROM mytable

最新更新