Javascript 在';n';消除实时数据拥塞的天数

Javascript 在';n';消除实时数据拥塞的天数,javascript,google-maps,date,google-maps-markers,Javascript,Google Maps,Date,Google Maps Markers,我在谷歌地图上根据API JSON数据中的位置(lat、lng)绘制了标记。我只想删除那些在当前日期30天前绘制在地图上的标记,这样当我继续填充我的地图时,这些标记会自动删除,并且看起来整洁无阻塞 我在JavaScript中尝试了如下内容: var today = new Date(); //current date var expire = new Date(current + (30 * 24 * 60 * 60 * 1000)); //expire after 30 days if

我在谷歌地图上根据API JSON数据中的位置(lat、lng)绘制了标记。我只想删除那些在当前日期30天前绘制在地图上的标记,这样当我继续填充我的地图时,这些标记会自动删除,并且看起来整洁无阻塞

我在JavaScript中尝试了如下内容:

var today = new Date(); //current date
var expire = new Date(current + (30 * 24 * 60 * 60 * 1000)); //expire after 30 days




if(today == expire){
  current = Date.now();
  setTimeout(function(){
      for(i=0; i<gmarkers.length; i++){
          gmarkers[i].setMap(null);
      }       
   }, 2000);
}
var today=新日期()//当前日期
var expire=新日期(当前+(30*24*60*60*1000))//30天后到期
如果(今天==到期){
当前=日期。现在();
setTimeout(函数(){

对于(i=0;i要在浏览器中保存当前代码,请执行以下操作:

var current;
if (localStorage.getItem('current')) {
    current = JSON.parse(localStorage.getItem('current'));
} else {
    current = Date.now();
    localStorage.setItem('current', JSON.stringify(current));
}

如果我在开头执行var current=Date.now(),我的“current”将在每次调用函数时得到更新,对吗?它不应该被更改。@RagapriyaSivakumar,如果它在函数块内,则是。您需要将它设置在每次调用的函数之外。每次加载网页时都会执行我的脚本函数。用户可以随时重新加载我的网页并查看e地图上的实时标记。因此您的解决方案不可行。“当前”每次都会更改。使用浏览器缓存是个明智的主意!谢谢Marcus。@charlietfl“过期”将是一个固定日期,比开始日期提前30天。假设某个特定标记的开始日期是4月21日,则过期日期将是5月21日。“今天”将不断更新到4月22日、23日等。一旦它成为5月21日(到期日),我希望特定的标记消失。我使用“今天”用于查找更新的日期。我错了吗?我的观点是,您定义了
今天
,并且在可以在下一行中使用时不要使用它。所以看不到数据首先是如何在地图上显示的。在添加标记之前过滤数据。如果我在下一行中使用它,则expire的值将发生更改。expire应在30天内保持不变。
var expire=new Date(today.getTime()+(…)
…还要注意,比较两个不同的对象并不能达到预期的效果