城市植被
为了增强场景的真实感我们可以在场景里实现城市级别的的植被效果。
需要的数据:
- 植被/树木的点位数据
- 树木模型数据
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 适合大规模的静态数据展示