Я обновляю несколько позиций маркеров, основываясь на состоянии массива маркеров. Так что, когда я обновляю его с помощью setState, функция рендеринга запускается как обычно, и отображение карты повторяется. Так как у него есть начальный регион и регион, он автоматически фокусируется на местоположении игрока на состояние плеера (я не хочу этого, я хочу этого только при начальной загрузке.)
Как обновить позиции маркера без повторного рендеринга карты?
render() {
return (
<MapView
initialRegion={this.state.playerLocation}
region={this.state.playerLocation}
style={ styles.map }
>
{this.renderMarkers()}
</MapView>
);
}
renderMarkers =()=>{
return(
this.state.markers.map(marker=>{
return(
<Marker
coordinate = {{
latitude: marker.lat,
longitude: marker.long
}}
title={marker.id}
/>
)
})
)
}