如何知道用户何时在 react-native-maps 中缩放 in/out 地图?

How to know when user zooming in/out of the map in react-native-maps?

有什么方法可以知道用户在 react-native-maps 中是放大还是缩小地图?

如何获取缩放级别或更新的 latitudeDelta?

要了解用户何时缩放(或更改区域的任何部分),您可以添加回调以侦听区域更改 (onRegionChange)。在回调中您可以访问新区域的数据:

latitude: number;
longitude: number;
latitudeDelta: number;
longitudeDelta: number;

要确定用户是否缩放,我们只需查看 latitudeDelta 或 longitudeDelta 并将其与之前的值进行比较。

回调可以如下实现:

在渲染函数中

  <MapView
    onRegionChange={this.onRegionChange}
  />

在class

  onRegionChange = region => {
    if(region.latitudeDelta !== this.state.latitudeDelta){
      //user zoomed
      this.setState({latitudeDelta: region.latitudeDelta});
    }
  }