Showing blue screen while changing base layer

215 views
Skip to first unread message

kirankum...@gmail.com

unread,
Nov 29, 2018, 8:43:19 PM11/29/18
to cesium-dev
1. A concise explanation of the problem you're experiencing.

Adding custom base layer picker, on load base layer displaying. When trying to change the selection of base layer removing old base layer and showing blue screen, new base layer not adding on the map. I am using typescript.


2. A minimal code example. If you've found a bug, this helps us reproduce and repair it.


public crearteViewer(htmlElement: any, mapType: number = 0) {
var imageryViewModels = [];
imageryViewModels.push(new Cesium.ProviderViewModel({
name : 'Open\u00adStreet\u00adMap',
iconUrl : Cesium.buildModuleUrl('Widgets/Images/ImageryProviders/openStreetMap.png'),
tooltip : 'OpenStreetMap (OSM) is a collaborative project to create a free editable \
map of the world.\nhttp://www.openstreetmap.org',
creationFunction : function() {
return Cesium.createOpenStreetMapImageryProvider({
url : 'https://a.tile.openstreetmap.org/'
});
}
}));

imageryViewModels.push(new Cesium.ProviderViewModel({
name : 'Open\u00adStreet\u00adMap',
iconUrl : Cesium.buildModuleUrl('Widgets/Images/ImageryProviders/openStreetMap.png'),
tooltip : 'OpenStreetMap (OSM) is a collaborative project to create a free editable \
map of the world.\nhttp://www.openstreetmap.org',
creationFunction : function() {
return Cesium.createOpenStreetMapImageryProvider({
url : 'https://a.tile.openstreetmap.org/'
});
}
}));

console.log(imageryViewModels);
//Create a CesiumWidget without imagery, if you haven't already done so.
var cesiumWidget = new Cesium.Viewer(htmlElement, {
imageryProvider: false,
baseLayerPicker: false,
});
//Finally, create the baseLayerPicker widget using our view models.
this.baseLayerPicker = new Cesium.BaseLayerPicker('baseLayerPickerContainer', {
globe: cesiumWidget.scene.globe,
imageryProviderViewModels: imageryViewModels,
selectedImageryProviderViewModel: imageryViewModels[mapType]
});
}

3. Context. Why do you need to do this? We might know a better way to accomplish your goal.

4. The Cesium version you're using, your operating system and browser.

1.51, Windows 7 Professional, Chrome Browser

Omar Shehata

unread,
Dec 3, 2018, 12:33:29 PM12/3/18
to cesium-dev
How are you hiding/switching the layers?

One thing you can do instead of completely removing it is just setting alpha = 0 to hide a layer and alpha = 1 to show it. See the docs for a full list of properties:


This will make the layers switch immediately, but the downside is Cesium will always be loading both at all times. You can also try the `show` property.

Let me know if that helps.
Reply all
Reply to author
Forward
0 new messages