mapbox - 为什么 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,因为我发现它们的图层更美观,但我似乎无法让它像某些示例那样高效,例如这个。
我可以进行任何其他优化来提高性能吗?
解决方案
对于遇到相同问题的任何人,似乎最简单的解决方法是从 Mapbox 样式构建器中导出样式,并将主题作为 JSON 导入 React 项目。
推荐阅读
- c++ - C++ 中的短语输入
- vba - 如何将值从剪贴板粘贴到 SAP GUI
- typescript - 键入调整函数
- swift - 给estimatedRowHeight 一个指定值的目的是什么?
- angular - 默认值接口
- javascript - 尝试制作一条鱼命令 /discord.js
- objective-c - 尝试使用前向类“NSManagedObjectModel”作为 Swift 类模型的超类
- flutter - 当一切正常时出现错误
- office-js - 使用共享 JavaScript 运行时时,桌面 Excel 插件(Office 365 订阅的一部分)仍在使用 IE11 webview,为什么?
- c++ - 如何在 C++ 中的赋值中命名类标识符?