【问题标题】:Drawing polygons like triangles and squares on layers instead of circles in MapBox GL JS在 MapBox GL JS 中的图层而不是圆形上绘制三角形和正方形等多边形
【发布时间】:2019-09-17 17:26:14
【问题描述】:

我正在使用“mapbox-gl”:“^1.3.0”

所以,在 mapbox GL JS 中, 我想知道是否有办法在图层上绘制三角形和正方形等多边形。

但问题是我必须在 geoJson 类型的坐标中执行此操作:点而不是多边形。

{"type":"Point","coordinates":[307170.943,6679032.568]}

文档中有一个示例可以在使用“type”时执行此操作:“Polygon”。 https://docs.mapbox.com/mapbox-gl-js/example/fill-pattern/

但我想用 Points 来做,就像我们如何使用绘制圆圈一样

{
'type': 'circle'
}

代替点。

注意:我尝试添加一个精灵并使用“icon-image”绘制一个图标,如下所示:

"layout": {
        "icon-image":"airport-15" ,
        "icon-size": 1
        }

但问题是我有超过 10 万个这样的点。因此,渲染这么多图像会导致地图滞后太多。当我使用圆圈时不会发生这种情况,因为我相信绘图比使用图像更平滑。 任何帮助将不胜感激。

【问题讨论】:

    标签: javascript mapbox mapbox-gl-js mapbox-marker


    【解决方案1】:

    使用符号可能是最好的。如果您要避免重叠,则可能会出现滞后。查看样式规范并更改属性以允许重叠应该加快速度。确保您只有一个来源和一层。

    【讨论】:

    • 感谢您的建议值得一试。即使使用 {"icon-allow-overlap":true},性能似乎也保持不变
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多