Определяет, когда источник формы завершил загрузку своих данных GeoJSON url в react-native

#react-native #mapbox-gl-js #mapbox-android #mapbox-ios

#react-native #mapbox-gl-js #mapbox-android #mapbox-ios

Вопрос:

Я использую библиотеку react-native-mapbox-gl / maps в своем приложении react-native, и я пытаюсь показать <MapboxGL.ShapeSource , что загружает источник GeoJSON, вот так.

У меня есть этот код, который работает, однако, поскольку для завершения загрузки данных GeoJSON требуется некоторое время, я не смог найти способ показать пользователю, загружаются ли данные или они готовы, например, с помощью счетчика.

Мой вопрос: есть ли способ определить, когда MapboxGL.ShapeSource завершается загрузка его данных или когда MapboxGL.FillLayer они видны на карте?

 import React from 'react';
import MapboxGL from '@react-native-mapbox-gl/maps';

const DemographicsMapLayer = () => {  

  const dataSourceUri = 'https://gist.githubusercontent.com/victor0402/dc3b40195a55ed998a45189b7fb4939b/raw/d7021c29637621e07a82e771d89ea278de48fb99/demographics.json'

  return (
    <MapboxGL.ShapeSource id={'demographicSourceID'} url={dataSourceUri}>}
         <MapboxGL.FillLayer
            id={'Millenials'}
            key={'Millenials'}
            sourceID={'demographicSourceID'}
            filter={['==', '$type', 'Polygon']}
            style={{ fillOpacity: 0.4 }}
            onLayout={e => console.log('[FillLayer] onLayout', e)}
          />
    </MapboxGL.ShapeSource>

 

Версия библиотеки в моем package.json файле:

   "@react-native-mapbox-gl/maps": "^8.1.0-rc.9",
 

Я пытался использовать onLayout событие как в FillLayer, так и в ShapeSource, но не смог получить полезную информацию, возможно, я что-то не то ищу.