code: function MainController($timeout) {
    /**
     * @type {import("ol/Map.js").default}
     */
    this.map = new olMap({
      layers: [
        new olLayerTile({
          source: new olSourceOSM()
        })
      ],
      view: new olView({
        center: [0, 0],
        zoom: 4
      })
    });
  
    /**
     * @type {boolean}
     */
    this.open = false;
  
    // We want the sidebar to be open at application launch so we set the `open`
    // property to true at startup.
    // But we need to do it asynchronously in order to have the `resizemap`
    // directive working. If we don't, the `ng-class` directive doesn't fire the
    // animation hooks.
    const self = this;
    $timeout(() => {
      self.open = true;
    }, 0);
  }
docs: The application's main controller.
  @param {angular.ITimeoutService} $timeout Angular timeout service.
  
  @constructor
  @ngInject
  @private
  @hidden