设置贴地、贴模型操作

9/10/2024

# 如何设置贴地、贴模型

按需进行选择:

  1. 设置贴地参数 clampToGround 为 true,需查看对应 api,存在该参数才可以设置;

该版本及以上将同时支持贴模型和地形,HeightReference 单独控制;

image

点对象不支持贴模型,设置参数无效,需要单独计算高度值

该参数会影响效率,大数据或者军事标绘时不建议使用

  1. 计算高度值 (opens new window)后,赋值坐标

  2. 在对应的矢量 Api 页面中,查看是否有 autoSurfaceHeight 方法,可直接调用;

例如 fixedRoute 对象;可在功能示例代码中全局搜索查看;

image

对 GraphiLayer 图层也可使用该方法,具体的可参考示例代码;

# 对于墙这类矢量,没有贴地参数,如何让下面贴地?

这类是需要通过计算,可查看 api求路线的贴地线坐标(插值) (opens new window), 具体用法可以查看示例行政区突出展示 (opens new window)

# 贴模型时,如何让矢量排除部分模型不进行计算

  1. 对矢量设置 objectsToExclude 参数;
// graphic是加载的矢量;arrModel是被排除的模型
graphic.objectsToExclude = arrModel;
1
2
  1. 在计算时设置 objectsToExclude 参数;

image

# 矢量设置 clampToGround 参数后,popup 弹出的位置有所偏差

popupOptions 中的参数,也需要同时设置贴地参数;

# 矢量设置 clampToGround 参数后,拾取与点击获取的对象不一致

cesium 本身问题,entity 贴地面对象存在拾取异常的问题。可换成 primitive 或 Combine 对象;

# DivGraphic 矢量设置贴地后,感觉未贴地

DivGraphic 矢量不仅与坐标有关,与 css 样式也有关系; 可打开 testPoint 测试点,调整下 css

// 打开测试点,与DIV点进行对比位置调整css
descGraphic.testPoint = true;
1
2
最后更新: 9/11/2024, 4:26:23 PM