web-dev-qa-db-fra.com

Rendre plusieurs marqueurs dans les cartes natives réactives

Hye, Im new in react native and want to ask how do I render multiple markers in maps.

C'est mon code

à l'intérieur de la classe: -

constructor(props) {
super(props);

  this.state = {
   coordinate: ([{
     latitude: 3.148561,
     longitude: 101.652778,
     title: 'hello'
   },
   {
     latitude: 3.149771,
     longitude: 101.655449,
     title: 'hello'
   }
  ]),
 };

}

rendu intérieur: -

<MapView
        style={styles.map}
        showsUserLocation={true}
        followUserLocation={true}
        zoomEnabled={true}
        //annotations={markers}
      >  
            <MapView.Marker
              coordinate={this.state.coordinate}
              title={this.state.coordinate.title}
            />
      </MapView>

Je veux rendre ces deux marqueurs à l'intérieur des cartes et je n'ai aucune idée de comment faire une boucle pour réagir en natif. J'essaie déjà quoi dans la documentation mais ne fonctionne toujours pas.

Merci d'avance :)

12
Hazim Ali

La propriété coordinate n'est pas construite correctement. Faites quelque chose comme ça -

this.state = {
  markers: [{
    title: 'hello',
    coordinates: {
      latitude: 3.148561,
      longitude: 101.652778
    },
  },
  {
    title: 'hello',
    coordinates: {
      latitude: 3.149771,
      longitude: 101.655449
    },  
  }]
}

Rendu intérieur

<MapView 
  ....
>
  {this.state.markers.map(marker => (
    <MapView.Marker 
      coordinate={marker.coordinates}
      title={marker.title}
    />
  ))}
</MapView>
33
vinayr