我正在尝试在React应用程序中使用带有Deck.GL (@deck.gl/react)的CARTO底图(@deck.gl/carto)。为了渲染一个地图层,文档使用了来自react-map-gl的Mapbox的<StaticMap/>组件。
但是,当我将CARTO的免费底图BASEMAP.VOYAGER作为属性传递给<StaticMap组件时,它拒绝显示地图,因为我没有Mapbox访问令牌。
因此,我注册并获得了一个Mapbox令牌,它工作得很好,如下所示:
<DeckGL
style={{
position: "relative",
width: "100%",
height: "600px",
}}
initialViewState={initViewState}
controller={true}
layers={layers}
onClick={(evt) => console.log(JSON.stringify(evt.coordinate))}
getTooltip={({ object }) =>
object &&
object.coordinates && {
text: `Longitude: ${object.coordinates[0]}\nLatitude: ${object.coordinates[1]}\nCost: ${object.cost}`,
}
}
>
<StaticMap
mapStyle={BASEMAP.DARK_MATTER}
mapboxApiAccessToken={process.env.NEXT_PUBLIC_MAPBOX_TOKEN}
/>
</DeckGL>但是我想使用CARTO底图而不使用Mapbox。这有可能吗?似乎我可以获得CARTO底图的唯一方法是通过他们的网站上的map Builder工具构建地图,发布它,然后使用由此生成的链接来使用它。但我不能创建一个底图,直到我链接数据集到地图(即.csv,网址,数据库,arcGIS等)。现在,我什么都没有。
因此,我对如何在不使用Mapbox的情况下实际访问和使用CARTO底图感到困惑。任何提示或建议都是非常感谢的!
发布于 2021-04-02 20:16:38
解决方法是安装5.3.11版本,这样您的应用程序将不需要Mapbox令牌that's due to internal use of Mapbox v2.0
yarn add react-map-gl@5.3.11https://stackoverflow.com/questions/66895504
复制相似问题