在 'n' 天后删除 Google 地图上的标记以消除实时数据的拥塞
Remove markers on Google Map after 'n' days to remove congestion for real-time data
我在 Google 地图上根据 API JSON 数据的位置(纬度、经度)绘制了标记。我只想删除从当前日期起 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);
}
"current" 变量的值在开始时没有定义。如何做到这一点?
要在浏览器中保存 current
,请执行以下操作:
var current;
if (localStorage.getItem('current')) {
current = JSON.parse(localStorage.getItem('current'));
} else {
current = Date.now();
localStorage.setItem('current', JSON.stringify(current));
}
我在 Google 地图上根据 API JSON 数据的位置(纬度、经度)绘制了标记。我只想删除从当前日期起 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);
}
"current" 变量的值在开始时没有定义。如何做到这一点?
要在浏览器中保存 current
,请执行以下操作:
var current;
if (localStorage.getItem('current')) {
current = JSON.parse(localStorage.getItem('current'));
} else {
current = Date.now();
localStorage.setItem('current', JSON.stringify(current));
}