Клуб API Карт

Как создать метку на карте по зажатию кнопки.

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

Нужно создать метку на карте по зажатию левой кнопки мышки. Я сделал так:

 

myMap.events.add('mousedown', function (e) {
   clickTimer = setTimeout(function(){
       //И тут я аяксом отправляю данные на сервер записываю в бд и потом обычным способом добавляю метку
   }, 2000);
});
myMap.events.add('mouseup', function (e) {
   if(typeof(clickTimer) != 'undefined'){
      clearTimeout(clickTimer);
   }
});
myMap.events.add('mousemove', function (e) {
   if(typeof(clickTimer) != 'undefined'){
      clearTimeout(clickTimer);
   }
});



Но когда я щелкаю на метку и не смещаю мышку то событие всё равно срабатывает. Как такое можно сделать может уже есть событие типа longclick?

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

При малейшем сдвиге курсора у вас будет "mousemove".

Используйте "клик" или "contextmenu" (right button click) и не занимайтесь ерундой

Вячеслав Шевченко
27 января 2016, 23:29
Мне нужно именно по зажатию в ТЗ так.

замените тогда его на "boundschange".