Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在React Mapbox GL中获取当前缩放?_Javascript_Reactjs_Zooming_Mapbox - Fatal编程技术网

Javascript 如何在React Mapbox GL中获取当前缩放?

Javascript 如何在React Mapbox GL中获取当前缩放?,javascript,reactjs,zooming,mapbox,Javascript,Reactjs,Zooming,Mapbox,如何在react mapbox gl中获取地图的当前缩放 包装: 我尝试了一个例子,从“如何开始”到在Map上使用getZoom方法,但它不起作用。我有一个错误,Map.getZoom不是一个函数 编辑================ 当我试图通过裁判访问它时,我遇到了屏幕截图上的问题。如何获取具有getZoom功能的.state.map.e? 您正在使用的Map是一个ReactMapboxGl对象,它是mapbox gl js的包装器。您想调用mapboxgl.Map对象 要使用原始Mapbo

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

包装:

我尝试了一个例子,从“如何开始”到在
Map
上使用
getZoom
方法,但它不起作用。我有一个错误,Map.getZoom不是一个函数

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

当我试图通过裁判访问它时,我遇到了屏幕截图上的问题。如何获取具有getZoom功能的.state.map.e?

您正在使用的
Map
是一个
ReactMapboxGl
对象,它是mapbox gl js的包装器。您想调用
mapboxgl.Map
对象

要使用原始Mapbox API use
onStyleLoad
属性,回调函数将接收map对象作为第一个参数,然后您可以在react Mapbox gl旁边添加自己的逻辑

因此,您可以通过以下方式获得:

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

如果我渲染该组件而不是导出它会怎么样?@skylnr我不确定您想做什么,但有一个“onZoom”事件,您可以收听,以跟踪缩放更改。当我像您所展示的那样执行时,我会收到“this.map.getZoom不是一个函数。当我控制台记录this.map时,我收到了整个ReactMapboxGl对象,在那里我看到了.state.map.e,但当我尝试访问它时,它是未定义的,我已经使用map组件的onRender函数完成了。在那里,我得到缩放并将其设置为组件状态。但我不确定这是否是一个好的解决方案。但它是有效的:D@SkylinR很高兴知道它有效!我刚刚在API文档中看到,他们实际上使用
onStyleLoad
来获取map对象。我已经相应地更新了答案。
componentDidMount() {
    const currentZoom = this.map.getZoom();
}