Клуб API Карт

Нажатие на кнопку fullscreenControl

Пост в архиве.

Нажатие на кнопку fullscreenControl - вызывает дополнительное нажатие под картой. Как избавиться от этого?

10 комментариев
Всеволод Шмыров
28 января 2016, 00:07
Доброе утро!
Могли бы вы дать ссылку на страницу ?
Я проверил в jsfiddle - событие не доходит до карты через кнопку. http://jsfiddle.net/zeLwn/3/
Всеволод Шмыров
28 января 2016, 00:07
Элементу, который находится за картой событие тоже не поступает
http://jsfiddle.net/zeLwn/4/
В каком браузере вы смотрите?
(ړײ) Игорь Чепур ღ
28 января 2016, 00:07

Это проиходит на планшете, в Хроме. Когда карта разворачивается на весь экран, сайт остается снизу, и за ним соответственно разные кнопки и активные области.

Вот ссылка - http://xn----8sbe7afghfbz8m.xn--p1ai/firms.php?view=podcategory&id=64 - только эта проблема на планшетах

 

событие поступает, получается карта сворачивается и одновременно кликается какая-то кнопка и загружается другая страница.

Всеволод Шмыров
28 января 2016, 00:07
Можете более подробно описать действия для воспроизведения бага. Я посмотрел на ipad 3 iOS7.0.4. Пытался через карту попасть по логотипу "Вся Коломна", по пунктам меню и по "Добавить организацию" - безрезультатно.
(ړײ) Игорь Чепур ღ
28 января 2016, 00:07

Вот залил видео http://youtu.be/MYiHbTGoefk

На нем видно как после сворачивания карты, нажалась кнопка КОНТАКТЫ

Всеволод Шмыров
28 января 2016, 00:07
Спасибо за сообщение! В будущем релизе мы исправим этот баг.  Пока как временное решение вы можете поставить этот код.

map.controls.get('fullscreenControl').events.add('click', function (event) {
    event.callMethod('preventDefault');
});
(ړײ) Игорь Чепур ღ
28 января 2016, 00:07

Спасибо!

(ړײ) Игорь Чепур ღ
28 января 2016, 00:07

карта не хочет теперь загружаться...

все равно все по прежнему!

    var fullscreenControl = new ymaps.control.FullscreenControl({options: {float: 'none', position: {right: 10, top: 10}}});

    myMap.controls.add(fullscreenControl);

    myMap.controls.get('fullscreenControl').events.add('click', function (event) {event.callMethod('preventDefault');

Всеволод Шмыров
28 января 2016, 00:07
Вы скопировали только первые две строчки и не закрыли функцию

myMap.controls.get('fullscreenControl').events.add('click', function (event) {event.callMethod('preventDefault');

да и в вашем кейсе уже есть ссылка на контрол. правильней будет написать

fullscreenControl.events.add('click', function (event) { event.callMethod('preventDefault'); });
(ړײ) Игорь Чепур ღ
28 января 2016, 00:07

Да, действительно, не заметил.

Все заработало как надо!

Спасибо еще раз.