Клуб API Карт

Как получить properties меток?

Алексей Шеменев
19 ноября 2016, 22:30

Здравствуйте! Передо мной стоит следующая задача: получить информацию о видимых объектах на карте. 

Использую следующий код:

var arr = objectManager.objects.overlays.getAll();
$.each(arr, function(){
	var objectId = objectManager.objects.overlays.getId(this);
	var objectState = objectManager.getObjectState(objectId);
	if (objectState.found && objectState.isShown) {
		// Как здесь получить следующую информацию
		// 1. balloonContent
		// 2. hintContent
	}
});

Нужно получить "balloonContent" и "hintContent", как это сделать?

4 комментария
Подписаться на комментарии к посту
Зачем тут использовать оверлеи?


objectManager.objects.each(function (obj) {
var objectState = objectManager.getObjectState(obj.id);


if (...) {
  console.log(obj.properties)
}
});
Алексей Шеменев
20 ноября 2016, 16:53
dimik,
Я так понял в оверлей хранятся только данные которые в текущий момент отрисованы на карте. Тем самым нам не придется проходить весь массив из 1000 элементов. Отсюда и возник вопрос как получить properties в моем варианте кода?
Алексей Шеменев,
Вы неправильно поняли оверлеи создаются и для объектов вне зоны видимости. Цикл по 1000 элементов это ниочем. Нет смыла городить эти микрооптимизации
Алексей Шеменев
21 ноября 2016, 17:48
dimik,
Благодарю за ответ!