我正在使用带有 React Native Maps 的自定义标记。在初始加载时,触摸标记将显示标记的标注(标题和描述)。但是,将地图拖到新区域后,标记不再可触摸。要在更改区域后显示标记的标题和描述,用户必须准确点击标记坐标。
拖动地图时,标记图像会闪烁。我认为这可能与他们变得不可接触有关。我怎样才能防止这种情况?
<MapView
style={styles.homeMapView}
region={this.state.currentLocation}
onRegionChange={this.onRegionChange}
showsUserLocation={true}
onPress={(evt) => console.log(evt.nativeEvent.coordinate)}
>
{this.state.nearbyLocations.map((marker, key) => (
<MapView.Marker
key={marker.id}
coordinate={marker.coordinate}
title={marker.title}
description={marker.description}
onPress={(evt) => console.log('pressed ', evt)}
image={require('../Public/existingPins.png')}
centerOffset={{x: 0, y: -20}}
/>
))}
</MapView>
编辑
更改地图区域后,标记实际上仍然可以触摸。onPress
即使地图区域发生变化,每次触摸标记时,标记的功能仍会记录控制台日志。在阅读React Native Maps 文档多一点之后,看起来showCallout
可以通过触摸调用的区域是唯一缩小的部分。仅当使用自定义标记时,此可触摸区域才会缩小。