Клуб API Карт

Перенести карту из одного dom дерева в другое

Пост в архиве.
BlackByte
1 декабря 2013, 00:06

подскажите пожалуйста

сейчас на сайте работает таким образом, что есть карта на странице, небольшой размера и по нажатия на ссылку открывается вторая карта в попапе, размера по больше, но это две независимые карты

 

стала идея оптимизировать, и сделать, что бы это была одна карта

потому что в определенный момент времени видна только одна карта

скажите есть примере, где можно было бы посмотреть на подобную реализацию

есть карта, по нажатию, карта из одного места, уходит в другое... при этом продолжает быть работоспособной

на карте много элементов, скажем 2000, меток, и когда есть две карты, то лишняя нагрузка на клиента

 

буду благодарен за любые советы

 

Пока нашел только такое решение, возможно этого будет достаточно:

mapSmallToLarge: function() {
    $('#mapl').append($('#map'));
},
mapLargeToSmall: function() {
    $('#map-container').append($('#map'));
},

 

2 комментария

Да - так можно делать.

Не забудьте вызвать метод map.container.fitToViewport(), чтобы карта обновила свои размеры.

С этим были небольшие проблемы. Размер ведь тоже нужно было поменять. Пока разобрался в какой последовательности нужно вызывать данный метод.

Остановился на вот таком варианте. Вызов fitToViewport сразу после изменения размеров. А только потом append

 

 

// Изменим размеры контейнера карты$('#' + mapId).width($('#mapl').width()).height($('#mapl').height());// Инициируем пересчет размеровthis.map.container.fitToViewport();this.map.controls.add('typeSelector').add('zoomControl').add('mapTools');$('#mapl').append($('#' + mapId));