如何在 React-Mapbox-GL 中获得当前缩放?

IT技术 javascript reactjs zooming mapbox
2021-05-14 00:18:39

如何在 react mapbox gl 中获取当前地图的缩放比例?

包:https : //github.com/alex3165/react-mapbox-gl/tree/0df46b1dcf194cdf140638f653221d8a82f0b195

我已经尝试过“如何开始”中的示例来使用getZoom方法,Map但它不起作用。我有错误 Map.getZoom 不是函数。

编辑 ================

当我尝试通过 refs 访问它时,我遇到了类似屏幕截图的问题。如何获得具有我的 getZoom 功能的 .state.map.e? 控制台日志

1个回答

Map您使用的是一个ReactMapboxGl对象,它是mapbox-GL-JS的包装。您想调用getZoom()mapboxgl.Map对象。

要使用原始的 Mapbox API useonStyleLoad属性,回调函数将接收地图对象作为第一个参数,然后您可以在 react-mapbox-gl 旁边添加自己的逻辑。[来源]

所以你可以从:

<ReactMapboxGl onStyleLoad={ el => this.map = el } />

然后你可以在这里使用它:

componentDidMount() {
    const currentZoom = this.map.getZoom();
}