Как получить длинный тап, правый клик или подобные события на OpenLayers5? - PullRequest
0 голосов
/ 10 сентября 2018

Я хочу получить некоторые события указателя, такие как

  • длительное нажатие
  • щелчок правой кнопкой мыши

Есть ли примеры или документация для их архивирования?

ПРИМЕЧАНИЕ. Я задал тот же вопрос в «Географические информационные системы», но снова поставил этот вопрос в «Переполнение стека», потому что официальный GitHub Openlayers рекомендовал публиковать вопросы в Переполнение стека.

1 Ответ

0 голосов
/ 11 сентября 2018

Я нашел решение для долгого нажатия:

    var longpress = false;
    map.on("click",function(e){
        (longpress) ? alert("Long Press") : alert("Short Press");
        console.log(map.getEventCoordinate(e.pixel));
    });
    var startTime, endTime;
    map.on('pointerdown', function () {
        startTime = new Date().getTime();
    });
    map.on('pointerup', function () {
        endTime = new Date().getTime();
        console.log(endTime - startTime);
        longpress = (endTime - startTime < 500) ? false : true;
    });
...