День добрый.
В произвольных полях к записи хранятся координаты. На странице записи при нажатии на кнопку выходит модальное окно с Яндекс Картами. 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);
}