Небольшой дисклеймер
Я понимаю, что грузить всю карту по аяксу - плохо, и что лучше бы грузить её отдельно, а потом подгружать только информацию о метках и балунах, которые нужно разместить. Но условия, в которые я поставлен (а в частности необходимость реализовать выбор аутпостов в битриксовом sale.order.ajax), очень часто исключают возможность "хороших" решений, и необходимость учитывать текущую архитектуру системы.
Всем привет!
Столкнулся с необходимостью грузить всю карту по ajax'у. Подскажите пожалуйста, каким образом это возможно сделать, на что обратить внимание. Сейчас по AJAX'у приходит HTML, содрежащий:
- скрипт подключения библиотеки яндекс.карт
- скрипт инициализации карты: определение картовой переменной + init-функция
- тег самой карты <div id="map" style="width:500px; height:350px; "></div>
При таком раскладе, карта "полуинициализируется" - т.е. в теге можно обнаружить часть кода карты, но
- размеры карты (первого тега внутри контейнера) 0 на 0, z-index 0
- при расширении "руками" в инспекторе - имеем просто логотип и "серую" карту без всего
- никакие контроллы на серую карту соответственно не добавляются, в т.ч. zoom
Надумано было ещё такое извращение "решение": прятать карту в не-ajax'овый скрытый слой, а после чего при завершении загрузки "подсосвывать" это в необходимый контейнер. Однако при таком раскладе, имеем такую же "серую" карту, которую не перерендерить никак, разве что на ней есть контролл zoom'а.
Каким образом правильно решить данную задачу: подгрузка через AJAX всей карты? Очень нужен совет.
Спасибо!