Hye,我是新手,想要在地图中如何渲染多个标记。
这是我的代码
课内: -
constructor(props) {
super(props);
this.state = {
coordinate: ([{
latitude: 3.148561,
longitude: 101.652778,
title: 'hello'
},
{
latitude: 3.149771,
longitude: 101.655449,
title: 'hello'
}
]),
};
}
内部渲染: -
<MapView
style={styles.map}
showsUserLocation={true}
followUserLocation={true}
zoomEnabled={true}
//annotations={markers}
>
<MapView.Marker
coordinate={this.state.coordinate}
title={this.state.coordinate.title}
/>
</MapView>
我想在地图中渲染这两个标记,我不知道如何在本地生成循环来渲染它。我已经尝试了文档中的内容但仍无效。
提前谢谢你:)
答案 0 :(得分:30)
coordinate
属性构造不正确。做这样的事情 -
this.state = {
markers: [{
title: 'hello',
coordinates: {
latitude: 3.148561,
longitude: 101.652778
},
},
{
title: 'hello',
coordinates: {
latitude: 3.149771,
longitude: 101.655449
},
}]
}
内部渲染
<MapView
....
>
{this.state.markers.map(marker => (
<MapView.Marker
coordinate={marker.coordinates}
title={marker.title}
/>
))}
</MapView>