Mapping 铯等矩形投影包裹问题

Mapping 铯等矩形投影包裹问题,mapping,cesium,Mapping,Cesium,我正在尝试创建带有标签的标记,这些标签只在铯中的某些缩放级别上出现。使用三维视图时,一切正常。但是,当切换到2D(等矩形)投影时,我遇到了一些与反子午线(180度经度)相关的问题: 标记跨越反经络时被切断 当反子午线在屏幕上可见时,distanceDisplayCondition显示奇怪的行为,这取决于一个点是落在“大”侧(反子午线一侧的一部分占宽度的50%以上)还是落在“小”侧(反子午线一侧的一部分占宽度的50%以下)。在这两种情况下,当反子午线可见时,似乎铯进行的距离计算没有正确进行。

我正在尝试创建带有标签的标记,这些标签只在铯中的某些缩放级别上出现。使用三维视图时,一切正常。但是,当切换到2D(等矩形)投影时,我遇到了一些与反子午线(180度经度)相关的问题:

  • 标记跨越反经络时被切断
  • 当反子午线在屏幕上可见时,distanceDisplayCondition显示奇怪的行为,这取决于一个点是落在“大”侧(反子午线一侧的一部分占宽度的50%以上)还是落在“小”侧(反子午线一侧的一部分占宽度的50%以下)。在这两种情况下,当反子午线可见时,似乎铯进行的距离计算没有正确进行。
    • 小:在“大”面上的标记变为可见之前,此面上的标记是可见的
    • 大:在应该显示标记之前,此侧的标记稍微可见。复制步骤:放大地图中不可见反子午线的部分。看到标记后,缩小一个步骤。现在平移地图,直到反子午线可见,并且大约10%进入屏幕空间。“大”侧的标记将突然出现
下图说明了这些错误。第一个显示了铯的放大级别,在画面中几乎看不到反子午线。第二个显示了完全相同的场景,在相同的缩放级别,向左移动了大约4个像素。如果将场景向左移动足够远,反子午线靠近屏幕左边缘,则反子午线右侧的标记将消失,而左侧的标记将保留在屏幕上。两幅图像都显示了标记是如何在反子午线处被切断的,在这两种情况下,标记都不应可见。

在Sandcastle中复制此内容所需的JavaScript为:

var viewer = new Cesium.Viewer('cesiumContainer', {timeline : false, animation : false});

for (var i = 0; i < 1000; ++i) {
    viewer.entities.add({
        position: Cesium.Cartesian3.fromRadians(
            Math.random() * 2 * Math.PI, Math.asin(2 * Math.random() - 1)),
        point   : {
            color: Cesium.Color.RED,
            pixelSize: 36,
            distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000)
        },
        label: {
            text: '222',
            font: '16px Monospace',
            eyeOffset: new Cesium.Cartesian3(0, 0, -100),
            style: Cesium.LabelStyle.FILL_AND_OUTLINE
        }
    });
}
var-viewer=new Cesium.viewer('cesiumContainer',{timeline:false,animation:false});
对于(变量i=0;i<1000;++i){
viewer.entities.add({
位置:铯。笛卡尔西安3。弧度(
Math.random()*2*Math.PI,Math.asin(2*Math.random()-1)),
要点:{
颜色:铯,颜色,红色,
像素大小:36,
distanceDisplayCondition:新铯。distanceDisplayCondition(0,10000000)
},
标签:{
正文:“222”,
字体:“16px单空格”,
眼偏移量:新的铯.碳三氮(0,0,-100),
样式:铯.标签样式.填充和轮廓
}
});
}
有人知道解决铯细菌的方法吗