2016-10-25 2 views
2

세슘을 사용 중이며 누를 때마다 이미지가 변경되는 버튼이 있습니다. Cesium은 자바 스크립트에서 실행되지만 이미지 파일의 이름이 포함 된 변수가 변경 될 때마다 이미지는 변경되지 않습니다.Javascript가 업데이트되지 않습니다. img

var iName = "HeatMap"; var count=1; 
name=iName.concat(count.toString()); 
var viewer = new Cesium.CesiumWidget('cesiumContainer'); 
var layers = viewer.scene.imageryLayers; 

//Cesium Active Window 
layers.addImageryProvider(new Cesium.SingleTileImageryProvider({ 
    url : 'images/'.concat(name.concat('.png')), 
    rectangle : Cesium.Rectangle.fromDegrees(-180.0, -90.0, 180.0, 90.0), 
    opacity:.3 
})); 

function buttonPressCount() 
{ 
    name='HeatMap'; 
    count=count+1; 
    name = name.concat(count.toString()); 
    document.getElementById('counter').innerHTML = name; 
} 

document.getElementById는 디버깅 목적으로 사용되므로 실제로 이름이 변경된 것입니다.

답변

1

그것은 당신이 기능 buttonPressCount에서

layers.addImageryProvider(new Cesium.SingleTileImageryProvider({ 
    url : 'images/'.concat(name.concat('.png')), 
    rectangle : Cesium.Rectangle.fromDegrees(-180.0, -90.0, 180.0, 90.0), 
    opacity:.3})); 

뭔가를 호출해야합니다 날 것으로 보인다.

+0

예, 그렇지만 기존의 imageryProvider (또는 모든 imageryProviders)도 제거해야만 전체 이미지 스택을 얻을 수 있습니다. – emackey

+0

감사합니다. 완벽하게 작동했습니다. 방금 reloadCesium()이라는 함수에 코드 블록을 넣고 필요할 때 호출합니다. 무리 감사. –

관련 문제