小编Pri*_*tos的帖子

获取Cesium地图中心

我需要知道Cesium Map的当前中心是什么.

我尝试使用,viewer.camera.position但它总是给出相同的z值(x:16921255.101297915,y:5578093.302269477,z:12756274),我不确定x和y值.它们是米吗?

非常感谢!

编辑:解决方案

在我得到的所有帮助下(谢谢!)我把它放在一起:

getPosition(){
    if (viewer.scene.mode == 3) {
        var windowPosition = new Cesium.Cartesian2(viewer.container.clientWidth / 2, viewer.container.clientHeight / 2);
        var pickRay = viewer.scene.camera.getPickRay(windowPosition);
        var pickPosition = viewer.scene.globe.pick(pickRay, viewer.scene);
        var pickPositionCartographic = viewer.scene.globe.ellipsoid.cartesianToCartographic(pickPosition);
        console.log(pickPositionCartographic.longitude * (180 / Math.PI));
        console.log(pickPositionCartographic.latitude * (180 / Math.PI));
    } else if (viewer.scene.mode == 2) {
        var camPos = viewer.camera.positionCartographic;
        console.log(camPos.longitude * (180 / Math.PI));
        console.log(camPos.latitude * (180 / Math.PI));
    }
};
Run Code Online (Sandbox Code Playgroud)

此函数以度为单位给出经度/纬度坐标.

gis cesium

7
推荐指数
1
解决办法
2204
查看次数

铯标签模糊

我使用以下代码创建了一个Cesium标签:

        var label: Cesium.LabelGraphics = new Cesium.LabelGraphics({
            text : lab,
            verticalOrigin: Cesium.VerticalOrigin.TOP,
            horizontalOrigin: Cesium.HorizontalOrigin.RIGHT,
            font: '15px Helvetica',
            fillColor: Cesium.Color.WHITE,
            outlineWidth: 2,
            style: Cesium.LabelStyle.FILL,
            pixelOffset: new Cesium.Cartesian2(20, 20)
        });
Run Code Online (Sandbox Code Playgroud)

但它很模糊......

我想有一个更清晰的标签.这个图像是否可以在红色矩形内看到真实标签.在蓝色矩形中是带有放大的标签.在绿色矩形是我希望它是如何. 在此输入图像描述

有没有办法让标签更清晰?

谢谢!

cesium

7
推荐指数
2
解决办法
2132
查看次数

获取铯的当前缩放比例

我需要setZoom()在 Cesium 中创建一个函数。为此,我相信我需要评估当前的缩放比例,以便我可以决定是否必须使用zoomInzoomOut来显示用户要求的内容。

有谁知道在使用 Cesium 时是否可以从地图中获取缩放级别?或任何其他解决方案......非常欢迎任何提示。

该功能是否有效getMagnitude()

谢谢!

解决方案:

我把 emackey 给我的所有提示放在一起,得到了以下代码:

var iniPos = new Cesium.Cartesian3();
iniPos = this.viewer.camera.position;
var cartographic = new Cesium.Cartographic();
cartographic.height = zoom * 1000;
cartographic.longitude = iniPos.x;
cartographic.latitude = iniPos.y;
var newPos = new Cesium.Cartesian3();
Cesium.Ellipsoid.WGS84.cartographicToCartesian(cartographic, newPos);
this.viewer.camera.setView({
    position: newPos
});
Run Code Online (Sandbox Code Playgroud)

这样我就可以将相机的高度定义为用户定义的缩放参数。

cesium

6
推荐指数
1
解决办法
8694
查看次数

Cesium Viewer与Cesium Widget.我应该使用哪一个?

我在我的应用程序中使用Cesium.我的应用程序在地图上显示广告牌,并显示收到的位置.

我想知道的区别Cesium.ViewerCesium.CesiumWidget.是否可以使用Cesium Widget创建实体?使用有什么好处Cesium.CesiumWidget?它是否给了我相同的功能,Cesium.Viewer但没有所有额外的小部件(如时间轴)?

cesium

6
推荐指数
1
解决办法
1509
查看次数

标签 统计

cesium ×4

gis ×1