首页 / 浏览问题 / 三维GIS / 问题详情
9D版的webgl下的点击地标物体,可以弹出气泡
10EXP 2017年12月18日

9D版的webgl下的点击地标物体,弹出气泡,在文档中没有查到有关viewer.customInfobox = infoboxContainer使用详细介绍,我的需要功能在下面的事件触发后,能在地标上弹出自定义对话框。

var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function (e) {
    var layers = scene.layers;
    var layerCount = layers._layers.length;
    console.log(layers)
    for (var i = 0; i < layerCount; i++) {
        var layer = layers.findByIndex(i);
        var id = scene.getSelectID(e.position, layer);
        if (id > 0) {
            //气泡框
        }
    }
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

1个回答

您好,弹出气泡的方法您可以参考示例代码中的【查询】-【属性查询】-【倾斜摄影属性查询】。

相关链接:

http://support.supermap.com.cn:8090/webgl/examples/examples.html#

5,560EXP 2017年12月18日
倾斜摄影属性查询中的示例需要设置查询参数和使用同的参数,不太清楚如何触发显示



            //设置属性查询参数
            layer.setQueryParameter({
               url: 'http://www.supermapol.com/realspace/services/data-jinjiang/rest/data',
                            dataSourceName: 'jinjiang',
                            dataSetName: 'test',
                            keyWord: 'SmID'
            });

             //注册鼠标点击事件
                viewer.pickEvent.addEventListener(function(feature) {
                    var title = Cesium.defaultValue(feature.NAME, '');
                    var description = Cesium.defaultValue(feature.DES, '');
                    title.innerText = title;
                    des.innerText = description;
                    myimg.src = "./images/" + title + ".jpg";
                });

---------------------------------------------------------------------------------------------
我们的气泡仅提供查询功能。您必须通过设置layer.setQueryParameter触发。

您可以在工作空间里新建一个数据源和数据集,然后再发布服务,并且发布数据服务,然后就可以触发了。
气泡显示能否通过方法或者属性可以设置隐藏?
气泡本身是一个元素,可以通过设置style="visibility:hidden"来设置隐藏。
测了一下,也是写死的。您只能通过点击非feature区域来实现气泡隐藏了。

通过提问者范例,实现场景调用  但是在点击地标物体,弹出气泡时报错,请教scene.getSelectID用法是怎样的,

...