Клуб API Карт

Дублирование положения второй карты при перемещении первой

sgidlev
3 августа 2015, 10:35

Приветствую!

 

Прошу помощи в решении следующей задачи:

На странице имеется маленький блок с картой. При клике на этот блок, должна открываться карта на весь экран с текущим положением курсора и масштаба. Как будто, маленький блок становится большой картой. 


Пробовал следующие идеи:

1. Карта на подслое, по умолчанию не отображается.

Отслеживал координаты при перемещении карты и каждый раз создавал новую большую карту. Не решил проблему со смещением и медленной работой. От сдвига карты до перерисовки большой карты проходит 3-5 секунд.

 2. Пробовал решить с помощью обычных скриншотов. Не получилось, т.к. проблема с разными разрешениями на экране.


Буду рад любому совету или подходящему примеру.

8 комментариев
Подписаться на комментарии к посту

Есть ссылка?

Конечно. http://badm-nnov.ru/map

 

Карта на подслое в начале верстки с ИД YMapsID.

 

Лично мое мнение – нужно обновить версию АПИ до 2.1 в которой есть fullscreenControl и блок "показать на карте" – можно выкинуть ссылку "крупная схема"

И не делать никаких синхронизаций.

 

Если всё же делать синхронизацию, то конечно создавать каждый раз карту не надо. Достаточно менять ей центр

Ок, попробую. А как поменять центр, не перерисовывая карту.

 

Разобрался со смещением:

var position = myMap2.getGlobalPixelCenter();

myMap2.setGlobalPixelCenter([position[0] - left, position[1] + top]);

setCenter или лучше setBounds

setGlobalPixelCenter тут не нужен

Вроде работает, большое спасибо, вы помогли. Только смущает небольшое размытие. Подскажите, как отследить событие, когда пользователь перетащил карту и отпустил курсор?

Ок, еще раз спасибо.