我在mapbox studio 中创建了一些自定义样式。它们本质上只是 Mapbox Outdoor 风格和 Mabpox Satellite 风格,每种风格都是定制的,每种风格分为 2 种风格:根本没有标签的底图,以及只有没有底图的标签。我想让用户能够打开和关闭图层,或设置透明度。您可以在这里看到图层:
在mapbox studio中,图块在没有道路/标签/等的地方显示透明度。这是我所期望的。然后我在传单中使用这些图层,如下所示:
var mapBoxOutdoorsLabels = L.tileLayer(
'https://api.mapbox.com/styles/v1/slutske22/ck87tp2fq0rq41iqox69g4ko5/tiles/256/{z}/{x}/{y}@2x?access_token={accessToken}',
{ accessToken ,maxZoom: 18, pane: 'labels'})
.addTo(map1)
var mapBoxSatelliteLabels = L.tileLayer(
'https://api.mapbox.com/styles/v1/slutske22/ck8i7fv4h0h771ipc6mwzwmp4/tiles/256/{z}/{x}/{y}@2x?access_token={accessToken}',
{ accessToken ,maxZoom: 18, pane: 'labels'})
.addTo(map2)
据我所知,导入这两个层的方式是相同的。但由于某种原因,我的户外标签图层显示正确(具有透明背景),而我的卫星标签图层显示为全黑色背景,并且您无法看到底图。右边的地图就是问题所在:
我不确定我在 Mapbox Studio 或传单导入中做错了什么,以便用黑色而不是透明生成图块。至少据我所知,我构建这两张地图的方式是相同的。有什么想法吗?
感谢您的阅读。
标签mapbox样式中的背景图层不透明。
这是一个代码笔,其中包含您的样式副本,并且背景已固定
我做了什么:
从样式 URL 中删除
/tiles/{x}/{y}/{z}/
部分并在浏览器中运行它会从 Mapbox 返回 json。
在那里我看到你的背景图层颜色缺少 Alpha 通道值。
"layers": [
{
"id": "background",
"type": "background",
"layout": {
"visibility": "none"
},
"paint": {
"background-color": "hsl(222, 56%, 4%)" <= SHOULD BE (222, 56%, 4%, 0)
},
我也遇到同样的问题。无论我做什么,Alpha 通道总是显示为黑色。 Alpha 通道在所有其他地图平台上都经过验证是透明的,但 Mapbox 每次都显示黑色。如果有人提供有关如何解决此问题的意见,我们将不胜感激。