Как прослушать нажатие клавиш-модификаторов в событии щелчка на слое deck.gl? - PullRequest
0 голосов
/ 27 мая 2019

Я бы хотел послушать щелчки смены на значках в deck.gl IconLayer. Значок может иметь выбранное состояние, и при нажатии Shift я хочу выбрать несколько значков. Я использую deck.gl в сочетании с Google Maps.

Событие onClick для (Icon)Layer возвращает info и event, где event.srcEvent.wa содержит MouseEvent. Он имеет свойство shiftKey, но всегда равно false независимо от того, нажата клавиша Shift или нет.

new IconLayer({
  onClick: (info, event) => {
    console.log(
      `Shift key was ${event.srcEvent.wa.shiftKey ? '' : 'not '}pressed`,
    );
  },
});

Я ожидал, что свойство shiftKey будет отражать состояние нажатой клавиши Shift или нет. Хотя это wa свойство кажется немного странным, и все event на самом деле не документировано, насколько я видел.

1 Ответ

0 голосов
/ 28 мая 2019

Из Pessimistress на GitHub (https://github.com/uber/deck.gl/issues/3147):

event.srcEvent - это необработанное событие, генерируемое API Карт Google (map.addListener ('click', cb)). Возможно, вам потребуетсяузнайте, как Google Maps отображает состояние клавиши Shift.

Кажется, что Google Maps не очень помогают разоблачать клавиши-модификаторы. Я нашел это странное решение https://stackoverflow.com/a/47574211/11561793

...