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