2017-02-17 973 views
1

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

<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'),但它不显示。没有图像我试图把它放在显示器上,所以它肯定是铯的问题。

回答

0

我不知道为什么这个固定它,因为我已经受够了工作没有这个说法,但在观众的变量声明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 
     }); 
+0

既然你”重新手动控制图像层,关闭'baseLayerPicker'似乎是正确的做法。否则,您自己的代码将与UI小部件争夺控制显示的图像层。 – emackey