If i understand you correctly, yes it is easy to re-use something complex with...functional abstraction !
This would look like :
function createMyComplexThingAt(lat, lon) {
// a circle centered where you asked the complex thing
var circle1 = L.circle([lat, lon], 8);
// a circle which is on the top left
var circle2 = L.circle([lat + 0.02, lon + 0.05], 8);
// etc...
// until
var lgroup = L.layerGroup([circle1, circle2]);
return lgroup;
}
var lgroup1 = createMyComplexThingAt(30, 44);
var lgroup2 = createMyComplexThingAt(21, 2);
var lgroup3 = createMyComplexThingAt(0.33, 5.44);
You can even give more parameters to your complex thing as a title text that would be used in popup or whatever you can think of.
L.Marker
s for those.