code: function(terria) {
    ImageryLayerCatalogItem.call(this, terria);
  
    /**
     * Gets or sets the file extension used to retrieve Open Street Map data
     * This property is observable.
     * @type {String}
     */
    this.fileExtension = "png";
  
    /**
     * Gets or sets the maximum tile level to retrieve from Open Street Map data
     * This property is observable.
     * @type {String}
     */
    this.maximumLevel = 25;
  
    /**
     * Gets or sets the attribution to display with the data
     * This property is observable.
     * @type {String}
     */
    this.attribution = undefined;
  
    /**
     * Gets or sets the array of subdomains, one of which will be prepended to each tile URL.
     * This property is observable.
     * @type {Array}
     */
    this.subdomains = undefined;
  
    knockout.track(this, ["fileExtension", "maximumLevel", "attribution"]);
  }
docs: A {@link ImageryLayerCatalogItem} representing a layer from the Open Street Map server.
  
  @alias OpenStreetMapCatalogItem
  @constructor
  @extends ImageryLayerCatalogItem
  
  @param {Terria} terria The Terria instance.