3

我正在使用带有 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可以通过触摸调用的区域是唯一缩小的部分。仅当使用自定义标记时,此可触摸区域才会缩小。

4

1 回答 1

0

您是否尝试过使用 onSelect 道具而不是 onPress 道具?

于 2016-11-26T18:22:19.720 回答