对 React-Native-Maps 实现手势处理“合作”(两指平移)

efw*_*mes 6 react-native-maps

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

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

小智 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>
Run Code Online (Sandbox Code Playgroud)

请注意,要完成此操作,如何与两根手指交互非常重要。例如,如果您水平放置两根手指并开始向上/向下移动(没有任何俯仰),它就会开始改变地图视角,而不是平移。

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