@sokolik1983
Начинающий верстальщик

Как забрать инфу из баллуна яндекс карт?

Доброго дня.
Задача, которую не могу решить:
Есть кусок яндекс карт на сайте, на карте есть баллун, при клике на баллун открывается инфа (динамическая).
Как забрать эту инфу и поставить в другой блок?

Вот например:
u0763918test1.isp.regruhosting.ru
Как из баллуна на карте (при клике появляется инфа 1+1=2), эту инфу отобразить в розовом блоке?
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
Вариант 1.
const box = document.querySelector('.box');

const debounce = (callback, delay) => {
	let timeout = null;

	return (...args) => {
		clearTimeout(timeout);

		timeout = setTimeout(callback, delay, ...args);
	};
};

const update = () => {
	const balloon = document.querySelector('[class$="balloon__content"]');

	if (balloon !== null) {
		box.textContent = balloon.textContent;
	}
};

const debouncedUpdate = debounce(update, 300);

window.addEventListener('click', () => {
	debouncedUpdate();
});


Вариант 2.
const box = document.querySelector('.box');

const observer = new MutationObserver(mutations => {
	for (let mutation of mutations) {
		if (mutation.target.className.includes('balloon__content')) {
			box.textContent = mutation.target.textContent;
		}
	}
});

observer.observe(document.querySelector('ymaps'), {
	childList: true,
	attributes: false,
	subtree: true
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
cr1gger
@cr1gger
Все дороги ведут в Рим — встретимся в Риме!
Через JQ
$('.ymaps-2-1-76-svg-icon').on('click', function(){
	alert($('.ymaps-2-1-76-balloon__content').children().children().html());
});

Скриншот из Console:

5e7e059331db7061261657.png
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы