实现gestureHandling“合作”(两个手指平移)到React-Native-Maps

时间:2018-06-13 15:27:45

标签: react-native-maps

我如何实现一个功能,用户必须使用两根手指来使用react-native-maps平移地图?看起来他们没有将gestureHandling作为功能。我不一定需要一个完整的答案,只是一些想法指出我正确的方向。除了基本的onPress之外,我也没有看到非常全面的手势库。

https://github.com/react-community/react-native-maps/blob/master/docs/mapview.md

1 个答案:

答案 0 :(得分:0)

我遇到了我想要的相同问题:

  • 在地图上禁用单指平移
  • 在地图上启用双指平移/缩放

为此,您可以使用此配置:

<MapboxGL.MapView
        style={[styles.map, style]}
        styleURL={styleURL}
        logoEnabled={false}
        attributionEnabled={false}
        scrollEnabled={false} // <-- Disables one-finger panning
        pitchEnabled={false} // <--- Enable two-finger zooming + panning
        rotateEnabled={false}

      >
// ....
</MapboxGL.MapView>

请注意,要使这项工作发挥作用,您如何与两个手指进行交互很重要。例如,如果您将两个手指水平放置并开始向上/向下移动(没有任何俯仰),它会开始改变地图视角,而不是平移。

因此,请确保在放入两个手指后,立即开始一点音调(=缩放),然后在手指周围移动以产生平移效果。