reactjs 如何在React-Mapbox-GL中获取当前缩放比例?

ryevplcw  于 2023-01-12  发布在  React
关注(0)|答案(2)|浏览(366)

我怎样才能在react mapbox gl中得到当前Map的缩放比例?
Package :https://github.com/alex3165/react-mapbox-gl/tree/0df46b1dcf194cdf140638f653221d8a82f0b195
我试过从“如何开始”的例子来使用Map上的getZoom方法,但它不工作。我有错误,Map.getZoom不是一个函数。
编辑===========
当我尝试通过引用访问它时,我遇到了屏幕截图上的问题。如何获得这个.state.map.e,其中有我的getZoom函数?

mm5n2pyu

mm5n2pyu1#

您正在使用的Map是一个ReactMapboxGl对象,它是mapbox-gl-js的 Package 器。您希望在mapboxgl.Map对象上调用getZoom()
要使用原始Mapbox API,请使用onStyleLoad属性,回调函数将接收map对象作为第一个参数,然后您可以在react-mapbox-gl. source(https://github.com/alex3165/react-mapbox-gl/blob/master/docs/API.md)旁边添加自己的逻辑
因此,您可以从以下位置获取:

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

那么你可以在这里使用它:

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

js81xvg62#

试着这样做:

const [zoom, setZoom] = useState(15);
    
    map.current.on('zoom', () => {
      setZoom(map.current.getZoom());
    });

相关问题