Как получить id видимых точек яндекс карт?

каким образом при драге/зуме карты получить id точек которые попали в область видимости?
var placemark = [];

$.getJSON(document.location.pathname+"results.json", function(data) {
for (var i in data) {
var company = data[i];
placemark[company.id] = new ymaps.Placemark(company['tv.coords'].split(','), {
preset: 'islands#redIcon'
}
);
clusterer.add(placemark[company.id]);
}
});
map.geoObjects.add(clusterer);

таким образом генерируются точки. placemark[company.id] к примеру 55я точка.

и заодно интересно, возможно ли получить точки которые скрылись?
  • Вопрос задан
  • 1004 просмотра
Пригласить эксперта
Ответы на вопрос 1
hOtRush
@hOtRush
насколько я знаю - нельзя. нужно явным образом перебирать точки и сопоставлять координаты с границами карты. хотя как по мне метод весьма востребован и странно что его нет в апи
this.checkVisibleOrCenter = function(placemark) {

        var placeMarkCoordinates = placemark.geometry.getCoordinates(),
            mapBounds = this.mapObject.getBounds(),
            mapBotLeft = mapBounds[0],
            mapTopRight = mapBounds[1];

        if (
            placeMarkCoordinates[0] < mapBotLeft[0]
            ||
            placeMarkCoordinates[0] > mapTopRight[0]
            ||
            placeMarkCoordinates[1] < mapBotLeft[1]
            ||
            placeMarkCoordinates[1] > mapTopRight[1]
        ) {

            // placemark not visible, set map center to it

            this.mapObject.setCenter(placeMarkCoordinates);

        }

    };
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы