@ivan-el

Яндекс.Карты (API v.2) — как получить данные по регионам, добавленным к карте?

Предположим, что к карте были добавлены регионы, следующим образом:
ymaps.regions.load('RU', {
    lang: 'ru',
    quality: 1
}).then(function (result) {
    var regions = result.geoObjects;
    myMap.geoObjects.add(regions);
});


Как мне после этого получить эти данные по регионам (добраться до них), уже ВНЕ этой функции? В частности, нужно обойти каждый регион в цикле:
regions.each(function (reg) {
	if (reg.properties.get('name') == 'Какой-то регион') {
		myMap.setBounds(reg.geometry.getBounds());
    ...
	}
});

Как мне получить regions? Пробовал конструкции типа myMap.geoObjects.regions, пальцем в небо.
Спасибо.
  • Вопрос задан
  • 1926 просмотров
Пригласить эксперта
Ответы на вопрос 1
Для обхода коллекции геоОбъектов используется метод
map.geoObjects.each()
Внутри метода вы уже можете проверить, является ли текущий объект регионом и выполнить желаемое действие.
Это не очень удобно, если на карте много всяких объектов.
Альтернативой может послужить добавление всех регионов на отдельный слой:
Для этого создается новый объект типа geoObjectCollection, все регионы добавляются в него.
После этого просто вызываем метод each и получаем только регионы. Информация о методе:
geoObjectCollection yandex maps api
Ответ написан
Ваш ответ на вопрос

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

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