【问题标题】:I need a fixed-size icon that doesn't scale for zoom in/zoom out [MapBox]我需要一个固定大小的图标,它不会因放大/缩小而缩放 [MapBox]
【发布时间】:2023-01-09 22:59:44
【问题描述】:

例如,如果你想象一张地图上有一个车辆图标,当你缩小时,你可能不想要一个扩展到城市大小的车辆,你想要保留一些继续占据相同大小的东西道路上的空间量。

看这个例子:

https://drive.google.com/file/d/1UC4lsJa7_Xct7-bWuU0fRwH0eyqf1EUe/view?usp=sharing

【问题讨论】:

  • 如果它是 svg 图标,你只需将宽度和高度以像素为单位放在 svg 中
  • 这个方法不行,我想固定大小,这样缩小时图标的大小变小。

标签: javascript mapbox mapbox-gl-js


【解决方案1】:

您可以在样式层定义中使用表达式,它可能看起来像这样:

{
    id: "locations",
    type: "symbol",
    layout: {
        "icon-image": "information",
        "icon-allow-overlap": true,
        "icon-size": [
            "interpolate",
            ["linear"],
            ["zoom"],
            2,
            0.1,
            16,
            1,
            22,
            3,
        ],
    }
};

基本上是图标大小部分是您要添加的内容。您可以在文档中阅读更多关于 icon-size 的信息。

【讨论】:

猜你喜欢
  • 2013-10-04
  • 1970-01-01
  • 1970-01-01
  • 2020-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-04
  • 1970-01-01
相关资源
最近更新 更多