自定义状体实现了之后,发现点击marker显示自定义状体之后,再点击就不消失了。解决这个问题,就要使用active属性,他是个布尔值,
true显示,false不显示,多个只会一个显示。控制它就行了。在state设置一个变量showMapDialog,marker添加一个onPress监听来改变这个变量。就行了。
<MapView.Marker
active={this.state.showMapDialog}
key={index}
title={soil.deviceName}
onPress={() => {
this.setState({
showMapDialog: !this.state.showMapDialog
})
}}
coordinate={soil.coordinate2}>
{this.getMapDialog(soil)}
</MapView.Marker>