2017-02-17 977 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