У меня проблемы с маркерами карты, которые я извлекаю из файла json. У меня могут быть пользовательские маркеры, если я импортирую их из файла, но мне нужно импортировать координаты из json. Я получаю свое текущее местоположение из setState в componentDidMount без проблем, но кажется, что он не работает так же, как с маркерами. Я тестирую с журналированием, и кажется, что первые два раунда рендеринга массив пуст, но так как я устанавливаю initialRegion в том же месте, я не понимаю проблему?
Вот (некоторые) из моих componentDidMount:
return fetch('https://url.json')
.then((response) => response.json())
.then((responseJson) => {
this.setState({
data : responseJson,
});
})
.catch((error) =>{
console.error(error);
});
и вот часть моего MapView:
<MapView style={styles.map}
initialRegion={{
latitude:this.state.latitude,
longitude:this.state.longitude,
latitudeDelta: 0.043,
longitudeDelta: 0.034
}}
ref={c => this.mapView = c}
onPress={this.onMapPress}
loadingEnabled={true}
>
{this.state.data.map(marker => (
<MapView.Marker
key={marker.name}
coordinate={{
latitude: marker.lat,
longitude: marker.lng,
}}
image={img}
title={marker.title}
description={marker.description}
/>
))}