请告诉我如何在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 })}
/>
因此,在每次坐标变化时,状态将被更新。你可以在组件的任何地方访问它们。