Пользовательский маркер React Native Maps нельзя трогать после изменения региона

Я использую пользовательские маркеры с 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 a немного больше, похоже, что область, которую showCallout можно вызвать касанием, является единственной частью, которая сжимается. Эта доступная для прикосновения область сжимается только при использовании специального маркера.


person Phil Mok    schedule 12.11.2016    source источник


Ответы (1)


Вы пробовали использовать опору onSelect вместо опоры onPress?

person danielbh    schedule 26.11.2016