svg - 如何将 SVG 图标添加到我的 Mapbox Studio 样式中

标签 svg mapbox react-map-gl

我有一个自定义 SVG 图标,想在 Mapbox map 中使用。我已成功将图标添加到 Mapbox Studio 中的样式中,并且它出现在可用图像列表中。

Images menu in Mapbox Studio showing the added 'warehouse' icon

但是当我尝试在 map 中使用它时,它没有显示。

{
    'id': 'hubs',
    'type': 'symbol',
    'paint': {
        'icon-color': "red",
        'icon-opacity': 0.8,
    },
    'layout': {
        'icon-image': 'warehouse'
    }
}

我在 map 中使用 Studio 样式:

<Map
    initialViewState={{
        longitude: -0.114835,
        latitude: 51.545553,
        zoom: 11.5
    }}
    style={{ width: "100%", height: 400 }}
    mapStyle="mapbox://styles/MY_MAPBOX_USER/MY_STYLE_ID"
    styleDiffing
    mapboxAccessToken={process.env.NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN}
    onMouseMove={onHover}
    interactiveLayerIds={interactiveLayerIds}
>
// etc.

Screenshot showing no icon

但是,当我使用内置图标时,它工作正常:

'layout': {
    'icon-image': 'airport-15'
}

Icon correctly displayed when using built-in 'airport-15' icon

我已经浏览了Troubleshooting SVG image errors in Mapbox Studio页面,但这没有帮助。

我做错了什么?

最佳答案

我已经遇到过两次这个问题了。在每种情况下,解决方案就是等待。我的猜测是,图标需要一段时间才能通过 Mapbox 的 CDN 传播。大约15分钟后,图标将开始出现并可以正常使用。

关于svg - 如何将 SVG 图标添加到我的 Mapbox Studio 样式中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76653598/

相关文章:

mapbox - 如何将托管 Mapbox 的数据源添加到 mapbox-gl-js 项目中

javascript - 评估 MapboxGLManager.mapStyles

mapbox-gl-js - 如何在 Deck.gl/react-map-gl 中显示建筑楼层

mapbox-gl-js - 是否可以动态添加到 kepler.gl 中的数据集

JavaScript、SVG、HTML 和 CSS

html - 来自外部 CSS 的彩色 SVG

ios - 未找到 map 盒。 @mapbox/react-native-mapbox-gl 不在 CircleCi 上构建 iOS 项目

reactjs - 为什么 react-map-gl Source 不使用对象?

google-chrome - SVG转换来源在Chrome中不起作用

jquery - 使用 <object> 动画 SVG