首页 / 浏览问题 / 三维GIS / 问题详情
在三维地图上加载gltf模型,数组定位不显示
8EXP 2022年08月18日

使用产品:iserver 8c 810 操作系统:win10 x64
数据类型: gltf 经纬度数组
问题详细描述:单个点位可以显示模型,当定位改为数组时不显示模型,请问当加载gltf模型是不支持数组定位吗?模型是一段管道

//叠加模型
addGltf(){
  viewer.entities.add({
    name: "gltf",
    /*position: new Cesium.Cartesian3.fromDegrees(
        Number(117.03392029),
        Number(31.82579435),
        Number(0.8)
    ),*/
    position: new Cesium.Cartesian3.fromDegreesArray([
      117.03392029,31.82579435,
      117.03392029,31.81952246,
      117.04456329,31.81835555,
      117.06001282,31.81252077,
      117.06069946,31.80260081,
      117.09262848,31.78742704,
      117.09640503,31.77750438,
      117.10567474,31.76787255,
      117.12421417,31.76291031
    ]),
    model: {
      uri: '../../../static/model/1.gltf',
      scale: 1.0, // 缩放比例
      minimumPixelSize: 128, 
      maximumScale: 20000
    }
  });
},

3 个回答

兄弟你这个写得就不对呀,model这块只能传一个点位进行定位  如果要添加多个gltf的话就得遍历数组去添加实体
271EXP 2022年08月18日
这不是定位。。。。那玩意是把你的模型放在哪个位置上。得for循环传坐标才能加呢。
330EXP 2022年08月18日
我的管道模型放在地图上至少有几公里还有拐点,难道要把管道分成一截一截再用for循环对接上去?
按理说可以,不过听起来还挺费劲。你给搞成一个gltf不就好了。然后再调整模型的角度。
管道需要根据地形调整角度,不仅仅是视角的调整,你说的调整角度是API里的哪个方法,可以分享下吗?谢谢
根据地形调整角度那就不知道了。实体本身自带调整角度的方法。用这个orientation去调整不就得了。
您好,

您的这个fromDegrees的方法的意思是, 将以度为单位的经、纬度数值转换为笛卡尔坐标。

而fromDegreesArray是给定经纬度数组坐标,返回一个笛卡尔3位置数组。

这个不是定位,而是一个坐标的转换方法。您使用错误了呢。

一个模型通常是以中心点来进行定位的。
4,151EXP 2022年08月18日
谢谢,明白了,那我如何实现在三维地图的地面上叠加长度很长,有拐点管道模型呢或者说是实现线型模型的定位?目前管道模型是由Blender导出的gltf文件,有没有可参考的案例或者文档?

gltf文件可以直接通过接口添加。

正常添加即可,具体示例可以查看http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#KML_edit

包括在前端通过代码的方式来调整gltf的方向

...