外观
单坐标点状对象
1139字约4分钟
2024-10-08
拖拽 div,编辑的小提示框有点偏远
避免遮挡了实际位置,所以故意偏移的。同时留点空隙方便看拖动的位置;
DivGraphic div 矢量加载在本地没有样式
样式是另外的文件,需要单独引入下
FrustumPrimitive 四凌锥怎么实现贴地,像右侧图一样
FrustumPrimitive 是 ceisum 默认对象,是不支持。
所以我们才自定义写了 space 插件下的几个对象。
PlanePrimitive 如何使用 modelMatrix
主要需要通过 modelMatrix 解析为 plane 对应的相关参数(如 plan 参数 Cesium.Plane)再传给 PlanePrimitive
具体来源为gitee 提问
popup 对象加载其他 UI,如全景图、视频、表格等
popup 就是个 html 页面,正常开发其他官方的组件;
也可以将 popup 转成组件,更方便加载和使用,参考示例代码 src\widgets\basic\query-poi\query-popup.vue
转为组件如果需要使用自身项目中的 UI 组件,需要在 vue 页面中单独引入下
viewShed 可视域分析
如何获取到分析区域的相关信息
比如说分析区域的坐标或者面积等
目前不支持,仅 webgl 层面的渲染效果。
如何排除区域内的其他矢量,如 gltf 小模型
可视域分析是后处理对象,目前无法干预排除不覆盖部分对象。
不在视域内的如何进行分析
webgl 分析需要在可视内才行,目前不支持非视域内的分析。非可视内的分析需要另写“离屏渲染”相关分析算法。
label 文本
放大视角,label 文本重叠
目前还没有实现矢量避让功能,可以超过一定高度后不显示;
字体怎么弄的清晰点
2 个方式都一起加看看
- 对地图 scene 添加参数
export const mapOptions = {
scene: {
resolutionScale: 2.0, // 可以提高文字清晰度
},
};
- 对矢量添加参数
billboard 图标点
图标点的附加矢量 point,设置贴地时图标不出现
问题现象:这两个贴地参数打开其中一个都会导致图标不显示
解决办法:
估计 cesium 内这个合并一起的 entity 有问题(当前写法是一个 entity)
可根据自身需求选择:
自行计算贴地高度,赋值给坐标,不设置贴地参数;
拆开用 2 个 graphic 对象分别控制
图标有中空透明部分,无法点击
png 图片重新处理下,中空部分用白色,透明 0.01
图标能不能像小模型那样高亮有轮廓色设置
目前不支持,边缘高亮需要 highlight 配置个高亮图片(另作一个图片)
model 小模型
小模型缩放时,怎么控制文本一直在头上
像图标点(BillboardEntity)的文本缩放就一直在上面,小模型的文本缩放后就不在模型上面;
model 与 Billboard 的机制不一样,Billboard 是固定的像素图片。
像素或实际的米数,不能共存,建议都按米数来,参考代码
function addDemoGraphic3(graphicLayer) {
const graphic = new mars3d.graphic.ModelEntity({
name: "汽车",
position: [116.349194, 30.864603, 376],
style: {
url: "//data.mars3d.cn/gltf/mars/qiche.gltf",
scale: 0.5,
// minimumPixelSize: 50,
silhouette: false,
label: {
text: "皖A12345",
font_size: 18,
color: "#ffffff",
addHeight: 25,
// pixelOffsetY: -50,
scaleByDistance: new Cesium.NearFarScalar(100, 1.0, 10000, 0.2),
distanceDisplayCondition: true,
distanceDisplayCondition_far: 10000,
distanceDisplayCondition_near: 0,
},
},
attr: { remark: "示例3" },
});
graphicLayer.addGraphic(graphic);
}
小模型手动开启动画
ModelPrimitive 编辑时 scaleX 缩放参数无效
编辑时切换到了 ModelEntity;scaleX 缩放参数无法传递给 ModelEntity(因为 ModelEntity 不支持 scaleX)
待后续研究解决方式,目前无法实现。
小模型中的附加矢量 distanceDisplayBillboard 修改图标
graphic.czmObject.billboard.image = xxxx;
小模型的构件处理
比如说想控制小模型的其中某个部位隐藏
暂未找到合适接口,用于 gltf 模型的构件处理,建议尝试 3dtiles 模型 + style 样式显示隐藏构件
小模型的加载后,如何获取范围?
模型再系统里按点范围确定位置的,你说的范围可能是指包围盒大小包,但也不是准确数字,无法代码自动判断范围。
圆形矢量
circleEntity 加载后二维场景中显示的是椭圆
这是正常的,没有问题,在南北极会更加变形,这是投影坐标系知识。