不知道为什么Mapbox GL setData导致isSourceLoaded为false

问题描述

我有一个使用MapBox GL(没有任何包装)的React应用。我还使用ChartJS显示图表。在图表上,我有一个悬停事件监听器,导致在我的一个地图源上调用setData()。但是,尽管只是一个GeoJSON点,但数据并不能快速更新(随着用户在图表上移动),而是在isSourceLoaded为false的情况下获取了数据事件。不确定是什么原因导致更新缓慢?

图表上我的悬停事件侦听器内的代码如下:

if (mapReady && activeElement.length > 0) {
  currentEl = activeElement[0]._index;
  const data = {
    type: 'Feature',properties: {},geometry: {
      type: 'Point',coordinates: workout.streams.latLng.data[activeElement[0]._index],},};
  mapRef.current.getSource('current').setData(data);
}

提供isSourceLoaded: false的事件中的example-请注意GeoJSON数据的存在方式,因此不要等待网络之类的东西。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)