ReactMapGl无法点击指定的图层



我在Mapbox Studio中设置了一个地图样式。此样式包含一个带有标记的图层。我希望能够在我的React项目中使用React map gl点击这一层。

在任何其他情况下,我都会做一些类似的事情

map.on('click', 'needed-layer', () => {this.dostuff()});

这在ReactMapGL中似乎不起作用。

我引用了这样的地图:

<ReactMapGL
ref={this.mapRef}
...
/>
this.mapRef = React.createRef();
this.map = this.mapRef.current.getMap();

如果我记录这个.map,我会得到一个map对象,这很好,但我认为下面的代码会检测到预定义层上的点击:

this.map.on('click', 'needed-layer', () => {this.dostuff()});

但事实并非如此。关于如何点击Mapbox Studio中预定义的标记层,有什么想法吗?

默认Map(以前的ReactMapGL/MapGL(组件下有一个onClick事件

您需要指定interactiveLayerIds属性,使其在特定图层上工作。

请参阅最新react-map-gl文档中的onClick事件部分。

最新更新