自定义标注后,点击怎么获取到它的值,大佬们知道吗

Cesium源码 · devhu · 于 5年前 发布 · 7317 次阅读

自定义标注后,点击怎么获取到它的值,大佬们知道吗

共收到 3 条回复
godlike#15年前 0 个赞

自定义的想怎么取都可以啊 你自己的东西,你自己控制啊

devhu#25年前 0 个赞

自定义标签不是在viewer.entities.add里面添加嘛,然后我点击事件要怎么获取到它的值,比如获取它的ID

jiwenqiang#35年前 1 个赞
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas)
var scene = viewer.scene
var billboard
handler.setInputAction(function(click){
    var cartesian = viewer.camera.pickEllipsoid(click.position, viewer.scene.globe.ellipsoid)
    if(cartesian){
        var pickdObject = scene.pick(click.position)
        var position = viewer.camera.pickEllipsoid(click.position)
        if(Cesium.defined(pickdObject)){
			//根据点击对象的id删除该对象
            viewer.entities.getById(pickdObject.id._id).show = false //隐藏标记
        }else{
            var cartographic = viewer.scene.globe.ellipsoid.cartesianToCartographic(position)
            var lng = Cesium.Math.toDegrees(cartographic.longitude).toFixed(4) //经纬度
            var lat = Cesium.Math.toDegrees(cartographic.latitude).toFixed(4)
            billboard = viewer.entities.add({
                position: Cesium.Cartesian3.fromDegrees(lng, lat),
                billboard: {
                    image: "img/placeMarker.png",
                    pixelOffset: new Cesium.Cartesian2(0, 0),
                    eyeOffset: new Cesium.Cartesian3(0.0, 0.0, 0.0),
                    horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
                    verticalOrigin: Cesium.VerticalOrigin.BOTTOM
                }
            });
        }
    }

},Cesium.ScreenSpaceEventType.LEFT_CLICK)
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics