cesium左侧列表定位目标

cesium左侧列表定位目标

功能:根据左侧列表经纬度等信息的值,进行搜索定位。

列表:

 

 

1  点击清除按钮可以清空所有input的值

2  点击查找可以定位到位置,如果输入的值不在范围内,会有弹出框提示。

3   每个值,输入错误都有个弹出框,提示你。

记得在合适的位置调用这个locationClick()这个函数哦~~;页面就是普通的页面;自己写就行。如有疑问,请加群讨论

下面上代码

 // 左侧定位查找
    function locationClick() {
        locationLon = $("#location_lon").val();
        locationLat = $("#location_lat").val();
        locationHeight = $("#location_height").val();
        locationCenter = Cesium.Cartesian3.fromDegrees(Number(locationLon), Number(locationLat), Number(locationHeight));

        locationHeading = Cesium.Math.toRadians($("#location_heading").val());
        locationPitch = Cesium.Math.toRadians($("#location_pitch").val());
        locationRange = $("#location_range").val();
 
        if (locationLon) {
            locationLon = Number(locationLon);
        }

        if (locationLat) {
            locationLat = Number(locationLat);
        }
        if (locationHeight) {
            locationHeight = Number(locationHeight);
        } else {
            locationHeight = Number(0);
        }

        if (locationHeading) {
            locationHeading = Number(locationHeading);
        } else {
            locationHeading = Number(0);
        }

        if (locationPitch) {
            locationPitch = Number(locationPitch);
        } else {
            locationPitch = Number(0);
        }

        if (locationRange) {
            locationRange = Number(locationRange);
        } else {
            locationRange = Number(0);
        }

        if (locationLon && locationLat) {
            locationLat = Number(locationLat);
            locationLon = Number(locationLon);
            $(".reminder_lat").hide();
        } else {
            alert("经纬度为必填项");
        }
 
        // 控制输入值的范围
        if (locationLon > 180 || locationLon < -180) {
            alert("经度,请输入请输入(-180,180)的值");
        }
        if (locationLat > 90 || locationLat < -90) {
            alert("纬度,请输入请输入(-90,90)的值");
        }
        if (locationHeight < 0 || locationHeight > 100000) {
            alert("高度,请输入请输入(0,100000)的值");
        }
        if (locationHeading < 0 || locationHeading > 360) {
            alert("朝向角,请输入请输入(0,360)的值");
        }
        if (locationPitch < -90 || locationPitch > 90) {
            alert("俯仰角,请输入请输入(-90,90)的值");
        }
        if (locationRange > 10000000 || locationRange < 0) {
            alert("距离,请输入请输入(30000,10000000)的值");
        }
        viewer.camera.lookAt(locationCenternew Cesium.HeadingPitchRange(Number(locationHeading), Number(locationPitch), Number(locationRange)));
    }

    // 定位数据清除
    $(function () {
        $('#location_clear').click(function () {
            $("#location_lon").val("");
            $("#location_lat").val("");
            $("#location_height").val("");
            $("#location_heading").val("");
            $("#location_pitch").val("");
            $("#location_range").val("");
        });
    });
 

 

 

转载于:https://www.cnblogs.com/yaosusu/p/11561476.html

### 回答1: 要在Cesium定位Geometry,您需要使用Cesium的实体(Entity)对象。实体对象能够让您在3D场景中创建和管理几何图形对象,例如点、线、面等。 要创建一个实体对象并定位Geometry,您可以按照以下步骤进行操作: 1. 创建一个实体对象:使用Cesium.Entity()构造函数创建一个实体对象。 2. 设置实体的位置:使用实体对象的position属性设置位置。位置可以是一个经纬度坐标,也可以是一个笛卡尔坐标。 3. 创建Geometry对象:使用Cesium.Geometry()构造函数创建一个几何图形对象。您可以选择使用Cesium提供的几何图形对象,也可以自己创建一个几何图形对象。 4. 创建Appearance对象:使用Cesium.Appearance()构造函数创建一个外观对象。外观对象定义几何图形的材质、颜色等属性。 5. 将Geometry和Appearance对象附加到实体对象中:使用实体对象的geometry和appearance属性将几何图形对象和外观对象附加到实体对象中。 6. 将实体对象添加到场景中:使用Cesium的实体管理器将实体对象添加到场景中。 下面是一个示例代码,展示如何在Cesium定位一个圆形几何对象: ```javascript var viewer = new Cesium.Viewer('cesiumContainer'); // 创建一个实体对象 var entity = new Cesium.Entity(); // 设置实体的位置 entity.position = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883); // 创建Geometry对象 var circleGeometry = new Cesium.CircleGeometry({ center: Cesium.Cartesian3.ZERO, radius: 100000 }); // 创建Appearance对象 var circleAppearance = new Cesium.MaterialAppearance({ material: Cesium.Material.fromType('Color', { color: Cesium.Color.RED }) }); // 将Geometry和Appearance对象附加到实体对象中 entity.geometry = circleGeometry; entity.appearance = circleAppearance; // 将实体对象添加到场景中 viewer.entities.add(entity); ``` ### 回答2: Cesium是一种广泛应用于地理信息系统(GIS)和虚拟地球领域的开源JavaScript库。它提供了一个强大的地理可视化引擎,可以在网页浏览器中实时展示和交互式探索地球表面的各种地理数据。 Cesium定位geometry是Cesium中的一个功能,用于定义和处理地理空间中的几何形状。几何形状可以是点、线、面或体,它们分别代表地球上的某个位置、路径、多边形或体积。 通过Cesium定位geometry,用户可以创建和编辑各种几何形状,并将其与其他地理数据进行关联。例如,可以使用Cesium定位geometry在地球表面上标记特定的位置,将不同位置连接起来形成路径,或者定义某个区域的边界。 除了创建和编辑几何形状,Cesium定位geometry还支持与其他功能和数据进行集成。例如,可以将几何形状与地图、卫星图像或其他地理数据集进行叠加显示。用户还可以通过鼠标或触摸屏等交互方式来操纵几何形状,例如平移、缩放或旋转等操作。 通过Cesium定位geometry,用户可以实现对地理数据实时的可视化和交互式探索。无论是在GIS应用中还是虚拟地球环境下,它都提供了一个强大而灵活的工具,可以帮助用户更好地理解和分析地球上的空间信息。 ### 回答3: Cesium定位geometry是一种开源的JavaScript库,用于在Cesium地理空间可视化平台上进行几何定位。它提供了丰富的功能和工具,可以处理二维和三维几何对象,并允许用户在地球表面或其他地理空间上进行定位和分析。 Cesium定位geometry支持多种几何对象,包括点、线、多段线、面和体积。用户可以通过指定坐标、属性和样式信息来创建这些对象,并将其添加到Cesium地球模型中进行显示。几何对象可以具有不同的颜色、大小和形状,以满足用户的需求。 该库还提供了一系列的几何操作和分析工具,可以对几何对象进行编辑、转换和查询。用户可以通过移动、旋转和缩放几何对象来修改其位置和形状。同时,用户可以利用空间分析工具来计算几何对象之间的距离、面积和体积等参数。 Cesium定位geometry还支持基于地理信息系统(GIS)数据的几何定位。用户可以将GIS数据导入到Cesium平台中,并将其转换为几何对象进行显示和分析。这样,用户可以在地球上展示各种地理信息,如道路、建筑物、水域等,并进行进一步的定位和分析。 总的来说,Cesium定位geometry是一个功能强大的几何定位库,它为用户提供了丰富的几何对象和操作工具,帮助他们在地理空间上进行准确的定位和分析。无论是进行数据可视化、地理信息系统开发还是地理空间分析,Cesium定位geometry都能够为用户提供高效便捷的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值