Skip to content
目录

城市植被

为了增强场景的真实感我们可以在场景里实现城市级别的的植被效果。

需要的数据:

  • 植被/树木的点位数据
  • 树木模型数据

V1oDIjptVIUkBOqbEOWY4.webp

WARNING

因为数据量和演示的关系,本例子里使用了GeoJSONVectorTileLayer图层,如果你的数量比较大,请将植被的数据进行 切片处理,使用VectorTileLayer来加载,GeoJSONVectorTileLayer 是VectorTileLayer 的子类,使用方式是相同的

矢量切片配置模型标注

maptalks里针对Point类型的数据,除了基本的渲染方式:

  • icon
  • text
  • native-point

还支持使用模型来标注点位数据:

  • gltf-lit
  • gltf-phong

使用起来也很简单,配置模型的地址即可

js
const style = {
    style: [
        {
            filter: true,
            renderPlugin: {
                type: "gltf-lit",
                dataConfig: {
                    type: "native-point",
                },
                sceneConfig: {
                    minZoom: 17,
                    gltfAnimation: {
                        enable: true,
                    },
                },
            },
            symbol: {
                // markerFill: "#0f0",
                // markerRotationAlignment: "line",
                url: "./../assets/data/tree/tree.gltf",
                // markerPlacement: "vertex-last",
                // rotationZ: 90,
                // anchorZ: "middle",
                // translationX: -120,
                scaleX: 0.5,
                scaleY: 0.5,
                scaleZ: 0.6,
            },
        },
    ],
};

WARNING

和建筑物一样,当地图放大后我们才显示植被,所以配置下minZoom参数,否则当地图缩小时,导致当前视野内的数据太多太集中 会有性能问题

为什么不用 GLTFLayer

因为植被数据比较大且是静态展示,这时就非常适合用矢量切片了

GLTFLayer 适合小数据量,适合精细化管理的业务需求

VectorTileLayer + gltf-lit 适合大规模的静态数据展示

This document is generated by mdpress