首页 / 浏览问题 / 三维GIS / 问题详情
webgl添加双击事件
204EXP 2017年09月15日
这个功能应该如何实现,应该看那的api

1个回答

要看的话看cesium的js哈,我这给你你找一个我们范例有的。

这个是PickPosition.html里面单击的示范:

    var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);

    //设置鼠标左键单击回调事件
    handler.setInputAction(function(e) {
        //首先移除之前添加的点
        viewer.entities.removeAll();
        //获取点击位置笛卡尔坐标
        var position = scene.pickPosition(e.position);

        //将笛卡尔坐标转化为经纬度坐标
        var cartographic = Cesium.Cartographic.fromCartesian(position);
        var longitude = Cesium.Math.toDegrees(cartographic.longitude);
        var latitude = Cesium.Math.toDegrees(cartographic.latitude);
        var height = cartographic.height;
        if(height < 0) {
            height = 0;
        }

        //创建弹出框信息
        var entity = new Cesium.Entity({
            name : "位置信息",
            description : createDescription(Cesium, [longitude, latitude, height])
        });
        viewer.selectedEntity = entity;

        //在点击位置添加对应点
        viewer.entities.add(new Cesium.Entity({
            point : new Cesium.PointGraphics({
                color : new Cesium.Color(1, 1, 0),
                pixelSize : 10,
                outlineColor : new Cesium.Color(0, 1, 1)
            }),
            position : Cesium.Cartesian3.fromDegrees(longitude, latitude , height + 0.5)
        }));
    }, Cesium.ScreenSpaceEventType.LEFT_CLICK);

以下是cesium.js的文档搜索结果(https://cesiumjs.org/refdoc/):

ScreenSpaceEventType

ScreenSpaceEventType()

Core/ScreenSpaceEventType.js 12

This enumerated type is for classifying mouse events: down, up, click, double click, move and move while a button is held down.

Members

staticconstantCesium.ScreenSpaceEventType.LEFT_CLICK : Number

Core/ScreenSpaceEventType.js 35

Represents a mouse left click event.

staticconstantCesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK : Number

Core/ScreenSpaceEventType.js 43

Represents a mouse left double click event.

staticconstantCesium.ScreenSpaceEventType.LEFT_DOWN : Number

Core/ScreenSpaceEventType.js 19

Represents a mouse left button down event.

staticconstantCesium.ScreenSpaceEventType.LEFT_UP : Number

Core/ScreenSpaceEventType.js 27

Represents a mouse left button up event.

staticconstantCesium.ScreenSpaceEventType.MIDDLE_CLICK : Number

Core/ScreenSpaceEventType.js 91

Represents a mouse middle click event.

staticconstantCesium.ScreenSpaceEventType.MIDDLE_DOWN : Number

Core/ScreenSpaceEventType.js 75

Represents a mouse middle button down event.

staticconstantCesium.ScreenSpaceEventType.MIDDLE_UP : Number

Core/ScreenSpaceEventType.js 83

Represents a mouse middle button up event.

staticconstantCesium.ScreenSpaceEventType.MOUSE_MOVE : Number

Core/ScreenSpaceEventType.js 99

Represents a mouse move event.

staticconstantCesium.ScreenSpaceEventType.PINCH_END : Number

Core/ScreenSpaceEventType.js 123

Represents the end of a two-finger event on a touch surface.

staticconstantCesium.ScreenSpaceEventType.PINCH_MOVE : Number

Core/ScreenSpaceEventType.js 131

Represents a change of a two-finger event on a touch surface.

staticconstantCesium.ScreenSpaceEventType.PINCH_START : Number

Core/ScreenSpaceEventType.js 115

Represents the start of a two-finger event on a touch surface.

staticconstantCesium.ScreenSpaceEventType.RIGHT_CLICK : Number

Core/ScreenSpaceEventType.js 67

Represents a mouse right click event.

staticconstantCesium.ScreenSpaceEventType.RIGHT_DOWN : Number

Core/ScreenSpaceEventType.js 51

Represents a mouse left button down event.

staticconstantCesium.ScreenSpaceEventType.RIGHT_UP : Number

Core/ScreenSpaceEventType.js 59

Represents a mouse right button up event.

staticconstantCesium.ScreenSpaceEventType.WHEEL : Number

3,389EXP 2017年09月15日
...