Damaks
@Damaks

Как передать значение в модальное окно Bootstrap?

День добрый.

В произвольных полях к записи хранятся координаты. На странице записи при нажатии на кнопку выходит модальное окно с Яндекс Картами. API грузится ещё на странице, в окне создаётся карта.

Собственно вопрос: каким образом передать координаты в модальное окно? На php напрямую к записи-родителю обратиться не получится, нужно как-то передать уже полученные координаты. В Bootstrap такая возможность предусмотрена. Но в связке с Яндекс Картами это не работает. Т.е. при первом открытии модального окна координаты не передаются, хотя карта пытается отрисоваться. Если закрыть окно и открыть его повторно без перезагрузки страницы, то всё отображается как надо.

Как я понимаю, карта прорисовывается раньше, чем мы получаем координаты. Как правильно это реализовать?

Код примерно следующий:
var map, placemark, coord;
$('#modal').on('show.bs.modal', function (event) {
	var button = $(event.relatedTarget);
	coord = button.data('whatever');
})

ymaps.ready(init);

function init() {
	map = new ymaps.Map('YMapsID', {
		center: coord
	});
	placemark = new ymaps.Placemark(coord, {}, {});
	map.geoObjects.add(placemark);
}
  • Вопрос задан
  • 687 просмотров
Пригласить эксперта
Ответы на вопрос 1
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
Где поточнее хранятся координаты? На той же странице или бд?
Если на такой же по щелчку мышки берете поле в переменную и вставляете в код где идет вызов карты далее.
Если координаты храните на сервере, генерируйте скрипт на сервере вставляя в него координаты из бд.
Ответ написан
Ваш ответ на вопрос

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

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