如何侦听deck.gl图层上的单击事件中按下的修饰键?

时间:2019-05-27 11:36:42

标签: javascript typescript google-maps deck.gl

我想听一下deck.gl IconLayer中的图标的Shift-点击。一个图标可以处于选定状态,并且通过按住Shift并单击我希望能够选择多个图标。我正在将deck.gl与Google地图结合使用。

onClick的{​​{1}}事件返回(Icon)Layerinfo,其中event包含event.srcEvent.wa。它具有MouseEvent属性,但无论是否按下Shift键,始终为shiftKey

false

我希望new IconLayer({ onClick: (info, event) => { console.log( `Shift key was ${event.srcEvent.wa.shiftKey ? '' : 'not '}pressed`, ); }, }); 属性反映出是否按下Shift键的状态。尽管这个shiftKey属性似乎有点怪异,而且据我所知,实际上整个wa都没有记录。

1 个答案:

答案 0 :(得分:0)

从GitHub上的Pessimistress(https://github.com/uber/deck.gl/issues/3147):

  

event.srcEvent是Google Maps API生成的原始事件(map.addListener('click',cb))。您可能需要了解Google Maps如何公开Shift键状态。

Google Maps在公开修饰键方面似乎并不是很有用。我发现了这个古怪的解决方案https://stackoverflow.com/a/47574211/11561793