【问题标题】:CesiumJS not displaying globe with imageCesiumJS没有用图像显示地球
【发布时间】:2017-02-17 04:02:55
【问题描述】:

我正在尝试在 Cesium 中显示地球上的热图,但地球甚至没有出现在屏幕上,只有背景。我查看了谷歌浏览器的网络部分,它显示了我需要从服务器加载的实际图像。

<script>
        var count=0;
        var viewer = new Cesium.CesiumWidget('cesiumContainer');
        var layers = viewer.scene.imageryLayers;
        var imageArray = <?php echo json_encode($images) ?>// PARSING PHP ARRAY INTO JAVASCIPT
        alert(imageArray[0]);
        var date;var name='HeatMap-2006-01-16.png'; //FOR INITAL PAGE LOAD

        loadCesium();

        function loadCesium()
        {
            //Cesium Active Window
            layers.addImageryProvider(new Cesium.SingleTileImageryProvider({
                url : 'images/'.concat(name),
                rectangle : Cesium.Rectangle.fromDegrees(-180.0, -90.0, 180.0, 90.0)
            }));
        }
        function overlayChange()
        {
            name = imageArray[count];
            for (i = 0; i < name.length; i++)
            {
                if(name.charAt(i)=="-")
                {
                    date = name.substring(i);
                    break;
                }
            }
            loadCesium();
            count = count + 1;
        }
        function overlayChangeBack()
        {
            if(count == 0)
            {
                count = 39;
                name = 'HeatMap';
                name = name.concat(count.toString());

                loadCesium();
            }
            else
            {
                name = 'HeatMap';
                count=count-1;
                name = name.concat(count.toString());

                loadCesium();
            }
        }
    </script>

现在我只是想显示初始图像的名称变量('HeatMap-2006-01-16.png'),但它没有显示。我尝试放置的图像也没有显示,所以这绝对是铯的问题。

【问题讨论】:

    标签: cesium


    【解决方案1】:

    我不确定为什么要修复它,因为我已经让它在没有此语句的情况下工作,但是在变量查看器中声明 cesiumContainer 时,您必须将其设置为:

                var viewer = new Cesium.CesiumWidget('cesiumContainer', {
                imageryProvider : new Cesium.ArcGisMapServerImageryProvider({
                    url : 'http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer'
                }),
                baseLayerPicker : false
            });
    

    【讨论】:

    • 由于您手动控制图像层,关闭baseLayerPicker 似乎是正确的做法。否则,您自己的代码将与 UI 小部件争夺对显示图像层的控制。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多