Я знаю, что вы хотели API V2, но мне пришлось исправить некоторые вещи, которые я видел в ответе @ bruha для V3, на случай, если кто-то придет их искать:
var markers; // your markers
var map; // your map
for(var i = markers.length, bounds = map.getBounds(); i--;) {
if( bounds.contains(markers[i].getPosition()) ){
// code for showing your object
}
}
при обратном перемещении по массиву этот путь проходит через массив маркеров быстрее, плюс мы устанавливаем границы в переменную перед входом в цикл, поэтому мы не запрашиваем его каждый раз, когда выполняем цикл, и единственный запрос мы должны сделать, если конкретный маркер находится внутри границ.
РЕДАКТИРОВАТЬ: тупой мой декремент
РЕДАКТИРОВАТЬ: map.getBounds () должно быть, было map.getBounds