GIS Cesium 点击获取位置(经纬度高度)

 function getMapClickPosition() {
            if (!window.SuperMap3D) SuperMap3D = Cesium
            var HoldMap = viewer

            var handler = new SuperMap3D.ScreenSpaceEventHandler(HoldMap.scene.canvas);
            handler.setInputAction(function (e) {
                //首先移除之前添加的点
                HoldMap.entities.removeAll();
                //获取点击位置笛卡尔坐标
                HoldMap.scene.pickPositionAsync(e.position).then((position) => {
                    //将笛卡尔坐标转化为经纬度坐标
                    var cartographic = SuperMap3D.Cartographic.fromCartesian(position);
                    var longitude = SuperMap3D.Math.toDegrees(cartographic.longitude);
                    var latitude = SuperMap3D.Math.toDegrees(cartographic.latitude);
                    var height = cartographic.height;
                    var pos = {
                        longitude,
                        latitude,
                        height,
                    }
                    console.log(pos);
                    if (height < 0) {
                        height = 0;
                    }
                    //在点击位置添加对应点
                    HoldMap.entities.add(new SuperMap3D.Entity({
                        point: new SuperMap3D.PointGraphics({
                            color: new SuperMap3D.Color(1, 1, 0),
                            pixelSize: 10,
                            outlineColor: new SuperMap3D.Color(0, 1, 1)
                        }),
                        position: SuperMap3D.Cartesian3.fromDegrees(longitude, latitude, height + 0.5)
                    }));

                })
            }, SuperMap3D.ScreenSpaceEventType.LEFT_CLICK);

        }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值