Eliminar marcadores de folleto en tiempo real

Tengo un mapa de folleto que rastrea datos en tiempo real y actualmente lo tengo actualizando las posiciones correctamente cada x segundos, pero los marcadores antiguos no se eliminan. Estoy en el punto de que simplemente eliminaré todos los marcadores y los volveré a agregar. Creo que esto también está afectando la memoria de la página, porque los valores aumentan en 166 cada vez

Tengo que estar pasando por alto algo realmente tonto.

Mi json es como:

{"_items": [{"uniqueID": "a123", "isMoving": false, "bearing": 231, "longitude": -xx.xxxxx, "latitude": xx.xxxxx}]}

Y aquí está el código que agrega los marcadores

var marker = new Array();
for(i=0;i<myjson._items.length;i++){
    var LamMarker = new L.marker([myjson._items[i].latitude, myjson._items[i].longitude],{
       icon: autotop
    });
    console.log(myjson._items[i].latitude)
    marker.push(LamMarker);
    map.addLayer(marker[i]);
    }
}

He estado intentando algo en la línea de

if (map.hasLayer(marker)) {
  for(i=0;i<marker.length;i++) {
map.removeLayer(marker[i])
   }
  }

antes de que mi función se active.

Cualquier ayuda sería genial.

Respuestas a la pregunta(1)

Su respuesta a la pregunta