如何通过React Ref获得React- native Maps Marker组件的坐标?



请告诉我如何在React Ref对象中获得React- native Marker组件的纬度和经度值?https://github.com/react-native-maps/react-native-maps/blob/master/docs/marker.md

在React构造函数中:

this.markerRef = React.createRef();

中的Render方法:

<Marker     
ref={this.markerRef}
coordinate={ ...some init coordinate... }
draggable
/>

我想要的,是获得标记的位置信息,但不是在标记的事件处理程序(!)

onPressMarker(e) {
const markerLoc=e.nativeEvent.coordinate
}

我知道我可以在onPress事件处理程序方法中访问坐标,但我想在其他类方法中获得位置数据。

由于您使用的是draggable Marker,因此它的初始坐标可以更新。在这种情况下,您应该将坐标存储在state中,并通过onDragEnd函数在拖动时更新它们。此行为在文档中有记录。

下面是一个简单的例子:

constructor(props) {
super(props);
this.state = {coordinate: someInitialCoordinate};
}
<Marker draggable
coordinate={this.state.coordinate}
onDragEnd={(e) => this.setState({ coordinate: e.nativeEvent.coordinate })}
/>

因此,在每次坐标变化时,状态将被更新。你可以在组件的任何地方访问它们。

相关内容

  • 没有找到相关文章

最新更新