首页 / 浏览问题 / 三维GIS / 问题详情
定位到模型某个位置高亮显示
7EXP 2019年07月02日

//我应该怎么去设置呢 我在9D工作空间的模型上随意找的坐标点
 

$("tbody tr").click(flyToById);
      function flyToById() {
         if (this.id === "1tr") {
           camera.flyTo({
              destination: Cesium.Cartesian3.fromDegrees(104.108731004938, 30.6327799673306, 50)
               });
            }
        if (this.id === "2tr") {
             camera.flyTo({
                destination: Cesium.Cartesian3.fromDegrees(104.107875292321, 30.6329697083708, 50)
             });
           }
        if (this.id === "3tr") {
           camera.flyTo({
              destination: Cesium.Cartesian3.fromDegrees(104.107703205713, 30.632860166637, 50)
             });
         }
    }

2 个回答

可以添加实体面 看下官网的demo 动态单体化 主要就是用到了viewer.entities

http://supermap.com:8090/iserver/iClient/for3D/webgl/zh/examples/editor.html#dynamicDTH

545EXP 2019年07月02日
那个setobjcolor(ids,color)中的 idhi怎么取的  取哪一个

示例里面没有setobjcolor方法啊

你那个ids应该就是获取模型的id数组吧

可以通过点击或者是查询获取

查询就是直接查模型生成的rest图层

点击的话就可以看这个示例

http://supermap.com:8090/iserver/iClient/for3D/webgl/zh/examples/editor.html#pickPosition

我现在不需要再获取坐标,只是想点击tr 对应的坐标点模型添加个颜色或者高亮
您是说相机视角飞到某个模型后,然后该模型高亮显示吗?

如果是这样的话,您可以使用lookat方法:

具体流程

通过模型id来查询对应 经纬度,高度等信息,使用lookat方法将相机定位过去。然后再通过id实现模型高亮的效果
6,215EXP 2019年07月02日
那个setobjcolor(ids,color)中的 ids怎么取的  取哪一个
您好 就我目前代码里面 点击tr  对应的坐标点的模型添加颜色或者高亮  我应该怎么实现呢

参考SQL查询,查询数据服务。然后获取到你要查询模型的ID,然后通过id实现模型高亮

SQL查询示例http://supermap.com:8090/iserver/iClient/for3D/webgl/zh/examples/editor.html#getFeatureByGeometry

...