Клуб API Карт

Ошибка в работе объектов карты

D.Abramov8
2 ноября 2016, 10:46

Добрый день!

На сайте отдыхвгорах.рф перестал правильно работать сервис, а именно: не закрывается баллун, не работает драг карты, не работает зум.

Просьба к Вам подсказать в чем здесь дело!

Заранее спасибо,

Дмитрий А.

10 комментариев
в map.js используется jQuery, при этом $ === undefined
Спасибо за ответ.
Но дело в том, что все работало и вдруг резко прекратило.
А в этом коде есть ошибка :?
ymaps.domEvent.manager
.add(oper, 'click', function (event) {
map.behaviors.disable('drag');
console.log(event.get('type'));
})
.add(oper, 'mousedown', function (event) {
map.behaviors.enable('drag');
console.log(event.get('type'));
});


т.к. событие mousedown происходит? а drag не включается!

обернул код (function ($){})(jQuery);


Заработало все, кроме драга карты при зуме..?
abramov.d@kcaavto.com
3 ноября 2016, 16:43
Почему же здесь drag не включается?:


ymaps.domEvent.manager
.add(oper, 'click', function (event) {
map.behaviors.disable('drag');
console.log(event.get('type'));
})
.add(oper, 'mousedown', function (event) {
map.behaviors.enable('drag');
console.log(event.get('type'));
});
abramov.d@kcaavto.com,
Похоже, что глупость написана. Mousedown и клик срабатывают вместе друг за другом
dimik,
а разве при нажатии клавиши mousedown срабатывает сразу, а клик после того как отпустили клавишу? т.е. если клавиша зажата, то клик не происходит! или не так? тогда почему возникает такой глюк? - ..если правой кнопкой нажать на карте при увеличенном зуме, то драг включается? и уже работает и при зажатии левой кнопки....?
dimik,
если уйти от этого кода...как сделать, чтобы на мобильном устройстве можно было прокрутить страницу нажав на карту и в тоже время при необходимости сделать драг карты?
D.Abramov8,
Тогда уж лучше использовать mousedown/mouseup. Но это все равно не будет работать. Вы включаете поведение когда уже произошел mousedown, а поведение его только начинает слушать.


Я бы рассмотрел такие варианты:
1. Включать drag при первом boundschange
2. Включать drag по отдельной кнопке
3. Включать drag в полноэкранном режиме
dimik,
 а ведь так долгое время работало! т.е. после обновлений в апи могут возникать ситуации?


"boundschange - Изменение координат географической области, охватывающей коллекцию и ее дочерние геообъекты. Экземпляр класса Event." - применительно к моему случаю это будет увеличение зума? ИЛИ КОГДА ЕЩЕ ИЗМЕНЯТСЯ КООРДИНАТЫ?
D.Abramov8,
Песенку про "все работало, ничего не трогали, и вдруг сломалось" я слышу регулярно. И всегда дело конечно в АПИ, ну а в чем же ещё?
Правда потом выясняется, что jQuery пропал или данные стали не консистентыми или трогали, но забыли


Если есть подозрение, что в АПИ ошибка - собирайте минимальный тест-кейс.
Заниматься копанием в чужих проектах в поисках чужих косяков у меня нет времени