首页 > 解决方案 > 为什么 Carto 底图比 Mapbox 地图更高效?

问题描述

我正在关注 React 中 Deck.gl 的图标教程。我将 MAP_STYLE 从 Carto 底图 ,https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json换成 Mapbox 底图 , mapbox://styles/mapbox/light-v9

我省略了很多代码,但这里是返回函数供参考:

  return (
    <DeckGL
      layers={[layer]}
      views={MAP_VIEW}
      initialViewState={INITIAL_VIEW_STATE}
      controller={{ dragRotate: false }}
      onViewStateChange={hideTooltip}
      onClick={expandTooltip}
    >
      <StaticMap
        reuseMaps
        mapStyle={mapStyle}
        preventStyleDiffing={true}
        mapboxApiAccessToken={process.env.REACT_APP_MAPBOX_TOKEN}
      />
      {renderTooltip(hoverInfo)}
    </DeckGL>

当我尝试在地图上移动时出现问题。当我使用 Carto 底图时,移动非常流畅,而 Mapbox 底图有明显的滞后。以下是一些用于说明的 GIF:

卡托: 在此处输入图像描述

地图框: 在此处输入图像描述

我想使用 Mapbox,因为我发现它们的图层更美观,但我似乎无法让它像某些示例那样高效,例如这个

我可以进行任何其他优化来提高性能吗?

标签: mapboxmapbox-gl-jsmapbox-gldeck.gl

解决方案


对于遇到相同问题的任何人,似乎最简单的解决方法是从 Mapbox 样式构建器中导出样式,并将主题作为 JSON 导入 React 项目。


推荐阅读