Mapbox -如何停止填充模式从放大/分割SVG图像



我现在正在演播室摆弄设置。我将一个图层设置为带有svg的填充模式,但它没有选项来更改填充模式的逻辑,只能在缩放级别上更改图像(这可能是一个非常愚蠢的解决方案)。

问题是,我不希望我的图像在放大时倍增-我希望它在放大时放大或保持不变,而不是分割成相同大小的多个图像。我相信我可以在SVG本身中设置模式逻辑,但是我认为mapbox在如何根据缩放级别平铺图像方面有自己的逻辑——这会覆盖它吗?或者我可以导出样式并手动更改填充属性为无图案吗?如果是这种情况,我可以设置它的正确值是多少?

我导出了我的样式,所以我可以手动修改它。我基本上只是改变了"油漆";symbol" 来自:

"overrides": {
"land-and-water": {
"landuse": {
"paint": {
"fill-opacity": [
"interpolate",
["linear"],
["zoom"],
5,
0,
6,
[
"match",
["get", "class"],
["agriculture", "wood", "grass", "scrub"],
0,
"glacier",
0.5,
1
],
15,
[
"match",
["get", "class"],
"agriculture",
0.75,
["wood", "glacier"],
0.5,
"grass",
0.4,
"scrub",
0.2,
1
]
],
"fill-antialias": [
"step",
["zoom"],
true,
22,
true
],
"fill-pattern": [
"step",
["zoom"],
"hjtd5vuLcK%20(1)%20(2)",
22,
"hjtd5vuLcK%20(1)%20(2)"
],
"fill-translate": [
"interpolate",
["linear"],
["zoom"],
7,
["literal", [0, 0]],
22,
["literal", [0, 0]]
]
}
}
}
},

:

"overrides": {
"land-and-water": {
"landuse": {
"type": "symbol",
"source": "composite",
"source-layer": "WCities",
"layout": {
"text-size": 8,
"icon-size": 0.25,
"icon-allow-overlap": true,
"icon-padding": [
"interpolate",
["linear"],
["zoom"],
0,
2,
22,
2
],
"icon-image": "hjtd5vuLcK%20(1)%20(2)"
},

}
}
},

我相信我可以在SVG本身内设置模式逻辑,但我认为mapbox有自己的逻辑,如何根据缩放级别平贴图像

Mapbox GL JS不显示svg。它导入svg,然后对它们进行栅格化处理。它不支持大多数SVG特性。

我不太清楚你想做什么,但答案可能是"你不能"。

有关增强的讨论请参阅此票据。

最新更新