static getImageryProviderViewModels(onChange?: (key: CesiumImageryProviders) => void) {
const imageryViewModels = [];
Object.keys(ImageryHelperService.DEFAULT_PROVIDERS).forEach(key => {
if (key in ImageryHelperService.DEFAULT_PROVIDERS) {
const provider = ImageryHelperService.DEFAULT_PROVIDERS[key];
imageryViewModels.push(new Cesium.ProviderViewModel({
name: provider.name,
iconUrl : Cesium.buildModuleUrl(provider.iconUrl),
category : provider.category,
tooltip : provider.tooltip,
creationFunction: () => {
if (onChange) { onChange(Number(key)); }
return provider.creationFunction();
}
}));
}
});
return imageryViewModels;
}