在react-native-maps中渲染多个标记

时间:2016-11-11 04:25:44

标签: javascript react-native google-maps-markers react-native-android react-native-ios

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>

我想在地图中渲染这两个标记,我不知道如何在本地生成循环来渲染它。我已经尝试了文档中的内容但仍无效。

提前谢谢你:)

1 个答案:

答案 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>