Отвечая на мой собственный вопрос.
После небольшого исследования и поиска исходного кода библиотеки я обнаружил, что атрибут location
должен быть предоставлен в форме location: {lat, long}
.Другими словами, к нему должен иметь прямой доступ библиотека.Поэтому я извлек каждое значение из объекта JSON и присвоил его location
.
Я не уверен, насколько это эффективно, пожалуйста, добавьте свой собственный ответ, если он более элегантный и простой, чем этот:
_convertPoints(data) {
const results = {
type: 'MapCollection',
features: []
};
data.map(value => {
array = {
value,
location: {
latitude: value.location.coordinates[1],
longitude: value.location.coordinates[0]
}
};
results.features.push(array);
});
return results.features;
}
Визуализация :
render() {
const data = this._convertPoints(this.props.stations);
return (
<View style={styles.container} style={{ flex: 1 }}>
<ClusteredMapView
style={{ flex: 1 }}
data={data}
renderMarker={this.renderMarker.bind(this)}
renderCluster={this.renderCluster.bind(this)}
initialRegion={INIT_REGION}
/>
</View>
);
}
После этих манипуляций, похоже, работает.Надеюсь, когда я настрою карту, все будет хорошо :)