使用React Native的MapView,我如何确定何时到达最终拖动目的地?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用React Native的MapView,我如何确定何时到达最终拖动目的地?相关的知识,希望对你有一定的参考价值。

我有一个地图,其中一个图钉位于地图的中心。当我拖动地图时,坐标会更新,但问题是这会在移动过程的每一步触发。

相反,我希望它能够检测到地图移动何时停止然后返回地址。

我一直在尝试使用onDragStart / onDragEnd,但到目前为止还没有奏效。

<MapView
    style={{ alignSelf: 'stretch', height: 250 }}
    region={this.state.mapRegion}
    onRegionChange={this._handleMapRegionChange}
    draggable
    onSelect={() => console.log('onSelect', arguments)}
    onDrag={() => console.log('onDrag', arguments)}
    onDragStart={() => console.log('onDragStart', arguments)}

>
    <MapView.Marker
        coordinate={
            this.state.mapRegion
        }
    />

</MapView>

我已尝试将拖动操作放在MapView.Marker组件上,但控制台日志不会触发任何一种方式。

是否有“最佳实践”方法?我正在进行谷歌地图API调用以对地址进行地理编码,我不希望它触发位置更改的每一步。

答案

你可以使用onRegionChangeComplete的回调道具doc MapView events

以上是关于使用React Native的MapView,我如何确定何时到达最终拖动目的地?的主要内容,如果未能解决你的问题,请参考以下文章

React-native:如何在 MapView 组件中获取可见区域的坐标和增量

React Native - MapView 是不是只接受显式标记?

React Native Expo MapView - 将标记详细信息传递给扩展的底部视图

从 Expo.MapView React-native 将 fitToSuppiedMarkers 应用到我的地图的正确方法是啥?

使用 react-native-maps 未显示谷歌地图/空白

类型“MapView”上不存在属性“地图”