如何在React Native Map中获得缩放级别

时间:2019-08-31 10:51:43

标签: javascript reactjs react-native react-native-maps

我正在尝试计算用户放大或缩小时的缩放级别,
我发现React本机地图具有onRegionChange,该字段具有经度,纬度,经度增量和纬度增量(我想)可能是用于计算缩放级别
从这个response中我尝试过这种方式:

 Math.round(Math.log(360 / this.state.longitudeDelta) / Math.LN2);

但它返回一个很大的数字(不是缩放级别)。

2 个答案:

答案 0 :(得分:1)

在react-native-map的onRegionChangeComplete属性中编写如下函数

changeRegion = debounce(async region => {
    console.log(
    Math.log2(360 * (metrics.screenWidth / 256 / region.longitudeDelta)) + 1
    );
  }, 1000);

或者具体地说,Math.log2(360 * (metrics.screenWidth / 256 / region.longitudeDelta)) + 1);发挥了魔力。

答案 1 :(得分:0)

log2(360 * ((screenWidth/256) / region.longitudeDelta)) + 1