Я пытаюсь отрисовать более тысячи маркеров на реальном устройстве, но оно дает сбой .. кто-то может мне помочь? - PullRequest
2 голосов
/ 29 октября 2019

Когда я запускаю код в expo приложении, оно работает, но когда я пытаюсь загрузить его в реальное устройство, оно вылетает ... Я думаю, мне нужно создать асинхронное приложение, но я знаю, как ...

Я пытаюсь загрузить более тысячи маркеров на карту ... если я бегу в перекус, это работает ...: / кто-то может мне помочь ??

class App extends React.Component {
   state = {   
     isLoading: true,
     markers: [],
     modalVisible: false,
     locationChosen: false,
     showAlert: false,
   };
   componentDidMount() {  
return fetch('https://gist.githubusercontent.com/MatheusCbrl/bba7db1c0dbc68be2f26d5c7e15649b6/raw/0fab4ea3b493dcd15e95f172cd0a251724efbc45/teste.json')
  .then(response => response.json())
  .then(responseJson => {
    // just setState here e.g.
    this.setState({
      markers: responseJson,
      isLoading: false,
    });
  })
  .catch(error => {
    console.error(error);
  });
 }


 renderMarkers() {
return this.state.isLoading
  ? null
  : this.state.markers.map((marker, index) => {
      const coords = {
        latitude: JSON.parse(marker.latitude),
        longitude: JSON.parse(marker.longitude),
      };
      return (
        <MapView.Marker
        onPress={this.pickLocationHandler}
        ref={mark => (marker.mark = mark)}
        key={index}
        title={'Parada'}
        //description={marker.hora}
        coordinate={coords}>
        <Image
          onPress={e => this.onPressMarker(e, index)}
          source={
            this.state.selectedMarkerIndex === index
              ? markerImage2
              : markerImage2
          }
          style={styles.icon}
        />
      </MapView.Marker>

      );
    });
}
...