Here are some points:
So, how to get the list of all visible markers on the current zoom level? I've searched over the internet and didn't find something useful. Some kind of what I'm trying to achieve could be found here
In Google Maps JavaScript API V3 we can use something like this:
let markers; // your markers
let map; // your map
let bounds = map.getBounds()
for (let i=0; i<markers.length; i++){
if(bounds.contains(markers[i].getPosition()) ){
// code for showing your object, associated with markers[i]
}
}