terriajs
Version:
Geospatial data visualization platform.
3,983 lines (996 loc) • 67.1 kB
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: Terria</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: Terria</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>Terria<span class="signature">(options)</span><span class="type-signature"></span></h2>
</header>
<article>
<div class="container-overview">
<h4 class="name" id="Terria"><span class="type-signature"></span>new Terria<span class="signature">(options)</span><span class="type-signature"></span></h4>
<div class="description">
<p>The overall model for TerriaJS.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>options</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last"><p>Object with the following properties:</p>
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>baseUrl</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last"><p>The base directory in which TerriaJS can find its static assets.</p></td>
</tr>
<tr>
<td class="name"><code>cesiumBaseUrl</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
'(options.baseUrl)/build/Cesium/build/'
</td>
<td class="description last"><p>The base directory in which Cesium can find its static assets.</p></td>
</tr>
<tr>
<td class="name"><code>appName</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last"><p>The name of the app.</p></td>
</tr>
<tr>
<td class="name"><code>supportEmail</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last"><p>The support email for the app.</p></td>
</tr>
<tr>
<td class="name"><code>batchGeocoder</code></td>
<td class="type">
<span class="param-type"><a href="AddressGeocoder.html">AddressGeocoder</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last"><p>Geocoder to use for geocoding addresses in CSV files.</p></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line73">line 73</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id="afterViewerChanged"><span class="type-signature"></span>afterViewerChanged<span class="type-signature"> :Event</span></h4>
<div class="description">
<p>Gets or sets the event that is raised just after switching between Cesium and Leaflet.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Event</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line197">line 197</a>
</li></ul></dd>
</dl>
<h4 class="name" id="analytics"><span class="type-signature"></span>analytics<span class="type-signature"> :ConsoleAnalytics|GoogleAnalytics</span></h4>
<div class="description">
<p>Gets or sets the instance to which to report Google Analytics-style log events.
If a global <code>ga</code> function is defined, this defaults to <code>GoogleAnalytics</code>. Otherwise, it defaults
to <code>ConsoleAnalytics</code>.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">ConsoleAnalytics</span>
|
<span class="param-type">GoogleAnalytics</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line112">line 112</a>
</li></ul></dd>
</dl>
<h4 class="name" id="appName"><span class="type-signature"></span>appName<span class="type-signature"> :String</span></h4>
<div class="description">
<p>The name of the app to be built upon Terria. This will appear in error messages to the user.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default">Default Value:</dt>
<dd class="tag-default"><ul class="dummy">
<li>"TerriaJS App"</li>
</ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line126">line 126</a>
</li></ul></dd>
</dl>
<h4 class="name" id="autoPlay"><span class="type-signature"></span>autoPlay<span class="type-signature"> :Boolean</span></h4>
<div class="description">
<p>Indicates whether time-dynamic layers should start animating immediately upon load.
If false, the user will need to press play manually before the layer starts animating.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default">Default Value:</dt>
<dd class="tag-default"><ul class="dummy">
<li>true</li>
</ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line141">line 141</a>
</li></ul></dd>
</dl>
<h4 class="name" id="baseMap"><span class="type-signature"></span>baseMap<span class="type-signature"> :<a href="ImageryLayerCatalogItem____.html">ImageryLayerCatalogItem</a></span></h4>
<div class="description">
<p>Gets or sets the current base map.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="ImageryLayerCatalogItem____.html">ImageryLayerCatalogItem</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line167">line 167</a>
</li></ul></dd>
</dl>
<h4 class="name" id="baseMapContrastColor"><span class="type-signature"></span>baseMapContrastColor<span class="type-signature"> :String</span></h4>
<div class="description">
<p>Gets or sets a color that contrasts well with the base map.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line185">line 185</a>
</li></ul></dd>
</dl>
<h4 class="name" id="baseMapName"><span class="type-signature"></span>baseMapName<span class="type-signature"> :String</span></h4>
<div class="description">
<p>Gets or sets the name of the base map to use.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line179">line 179</a>
</li></ul></dd>
</dl>
<h4 class="name" id="batchGeocoder"><span class="type-signature"></span>batchGeocoder<span class="type-signature"> :<a href="AddressGeocoder.html">AddressGeocoder</a></span></h4>
<div class="description">
<p>The geocoder to use for batch geocoding addresses in CSV files.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="AddressGeocoder.html">AddressGeocoder</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line147">line 147</a>
</li></ul></dd>
</dl>
<h4 class="name" id="beforeViewerChanged"><span class="type-signature"></span>beforeViewerChanged<span class="type-signature"> :Event</span></h4>
<div class="description">
<p>Gets or sets the event that is raised just before switching between Cesium and Leaflet.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Event</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line191">line 191</a>
</li></ul></dd>
</dl>
<h4 class="name" id="catalog"><span class="type-signature"></span>catalog<span class="type-signature"> :<a href="Catalog.html">Catalog</a></span></h4>
<div class="description">
<p>Gets or sets the catalog of geospatial data.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="Catalog.html">Catalog</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line305">line 305</a>
</li></ul></dd>
</dl>
<h4 class="name" id="cesium"><span class="type-signature"></span>cesium<span class="type-signature"> :<a href="Cesium.html">Cesium</a></span></h4>
<div class="description">
<p>Gets or sets properties related to the Cesium globe. If the application is in 2D mode, this property will be
undefined and <a href="Terria.html#leaflet">Terria#leaflet</a> will be set.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="Cesium.html">Cesium</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line245">line 245</a>
</li></ul></dd>
</dl>
<h4 class="name" id="clock"><span class="type-signature"></span>clock<span class="type-signature"> :<a href="Clock.html">Clock</a></span></h4>
<div class="description">
<p>Gets or sets the clock that controls how time-varying data items are displayed.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="Clock.html">Clock</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line209">line 209</a>
</li></ul></dd>
</dl>
<h4 class="name" id="configParameters"><span class="type-signature"></span>configParameters<span class="type-signature"> :Object</span></h4>
<div class="description">
<p>Gets or sets the configuration parameters set at startup.
Contains:</p>
<ul>
<li>regionMappingDefinitionsUrl: URL of JSON file containing region mapping definitions</li>
<li>conversionServiceBaseUrl: URL of OGR2OGR conversion service</li>
<li>proj4ServiceBaseUrl: URL of proj4def lookup service</li>
<li>corsProxyBaseUrl: URL of CORS proxy</li>
</ul>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line335">line 335</a>
</li></ul></dd>
</dl>
<h4 class="name" id="corsProxy"><span class="type-signature"></span>corsProxy<span class="type-signature"> :<a href="CorsProxy.html">CorsProxy</a></span></h4>
<div class="description">
<p>Gets or sets the this.corsProxy used to determine if a URL needs to be proxied and to proxy it if necessary.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="CorsProxy.html">CorsProxy</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line238">line 238</a>
</li></ul></dd>
</dl>
<h4 class="name" id="currentViewer"><span class="type-signature"></span>currentViewer<span class="type-signature"> :<a href="Cesium.html">Cesium</a>|<a href="Leaflet.html">Leaflet</a>|NoViewer</span></h4>
<div class="description">
<p>Gets or sets a reference to the current viewer, which is a subclass of Terria#globeOrMap -
typically <a href="Terria.html#cesium">Terria#cesium</a> or <a href="Terria.html#leaflet">Terria#leaflet</a>.
This property is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="Cesium.html">Cesium</a></span>
|
<span class="param-type"><a href="Leaflet.html">Leaflet</a></span>
|
<span class="param-type">NoViewer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line261">line 261</a>
</li></ul></dd>
</dl>
<h4 class="name" id="dataSources"><span class="type-signature"></span>dataSources<span class="type-signature"> :DataSourceCollection</span></h4>
<div class="description">
<p>Gets or sets the collection of Cesium-style data sources that are currently active on the map.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">DataSourceCollection</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line203">line 203</a>
</li></ul></dd>
</dl>
<h4 class="name" id="error"><span class="type-signature"></span>error<span class="type-signature"> :CesiumEvent</span></h4>
<div class="description">
<p>An event that is raised when a user-facing error occurs. This is especially useful for errors that happen asynchronously and so
cannot be raised as an exception because no one would be able to catch it. Subscribers are passed the <a href="TerriaError.html">TerriaError</a>
that occurred as the only function parameter.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">CesiumEvent</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line155">line 155</a>
</li></ul></dd>
</dl>
<h4 class="name" id="filterStartDataCallback"><span class="type-signature"></span>filterStartDataCallback<span class="type-signature"> :function</span></h4>
<div class="description">
<p>Gets or sets a callback function that can modify any "start data" (e.g. a share URL) before it is loaded.
The function is passed the start data and may modify it in place or return a new instance.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">function</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line382">line 382</a>
</li></ul></dd>
</dl>
<h4 class="name" id="fogSettings"><span class="type-signature"></span>fogSettings<span class="type-signature"> :Object</span></h4>
<div class="description">
<p>Gets or sets the current fog settings, used in the Cesium Scene/Fog constructor.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line173">line 173</a>
</li></ul></dd>
</dl>
<h4 class="name" id="homeView"><span class="type-signature"></span>homeView<span class="type-signature"> :<a href="CameraView.html">CameraView</a></span></h4>
<div class="description">
<p>Gets or sets the camera's home view. The home view is the one that the application
returns to when the user clicks the "Reset View" button in the Navigation widget. It is also used
as the Terria#initialView if one is not specified.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="CameraView.html">CameraView</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line224">line 224</a>
</li></ul></dd>
</dl>
<h4 class="name" id="initSources"><span class="type-signature"></span>initSources<span class="type-signature"> :Array</span></h4>
<div class="description">
<p>Gets or sets the list of sources from which the catalog was populated. A source may be a string, in which case it
is expected to be a URL of an init file (like init_nm.json), or it can be a JSON-style object literal which is
the init content itself.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line280">line 280</a>
</li></ul></dd>
</dl>
<h4 class="name" id="leaflet"><span class="type-signature"></span>leaflet<span class="type-signature"> :<a href="Leaflet.html">Leaflet</a></span></h4>
<div class="description">
<p>Gets or sets properties related to the Leaflet map. If the application is in 3D mode, this property will be
undefined and <a href="Terria.html#cesium">Terria#cesium</a> will be set.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="Leaflet.html">Leaflet</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line252">line 252</a>
</li></ul></dd>
</dl>
<h4 class="name" id="locationMarker"><span class="type-signature"></span>locationMarker<span class="type-signature"> :<a href="CustomDataSource.html">CustomDataSource</a></span></h4>
<div class="description">
<p>Gets or sets the data source that represents the location marker.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="CustomDataSource.html">CustomDataSource</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line286">line 286</a>
</li></ul></dd>
</dl>
<h4 class="name" id="mapInteractionModeStack"><span class="type-signature"></span>mapInteractionModeStack<span class="type-signature"> :Array.<<a href="MapInteractionMode.html">MapInteractionMode</a>></span></h4>
<div class="description">
<p>Gets or sets the stack of map interactions modes. The mode at the top of the stack
(highest index) handles click interactions with the map</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.<<a href="MapInteractionMode.html">MapInteractionMode</a>></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line299">line 299</a>
</li></ul></dd>
</dl>
<h4 class="name" id="nowViewing"><span class="type-signature"></span>nowViewing<span class="type-signature"> :<a href="global.html#NowViewing">NowViewing</a></span></h4>
<div class="description">
<p>Gets or sets the collection of geospatial data that is currently enabled.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="global.html#NowViewing">NowViewing</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line317">line 317</a>
</li></ul></dd>
</dl>
<h4 class="name" id="pickedFeatures"><span class="type-signature"></span>pickedFeatures<span class="type-signature"> :<a href="global.html#PickedFeatures">PickedFeatures</a></span></h4>
<div class="description">
<p>Gets or sets the features that are currently picked.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="global.html#PickedFeatures">PickedFeatures</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line292">line 292</a>
</li></ul></dd>
</dl>
<h4 class="name" id="selectBox"><span class="type-signature"></span>selectBox<span class="type-signature"> :Boolean</span></h4>
<div class="description">
<p>Gets or sets the selectBox function - set true when user requires a rectangle parameter from analytics.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line375">line 375</a>
</li></ul></dd>
</dl>
<h4 class="name" id="selectedFeature"><span class="type-signature"></span>selectedFeature<span class="type-signature"> :Entity</span></h4>
<div class="description">
<p>Gets or sets the currently-selected feature, or undefined if there is no selected feature. The selected
feature is highlighted by drawing a targetting cursor around it.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Entity</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line324">line 324</a>
</li></ul></dd>
</dl>
<h4 class="name" id="serverConfig"><span class="type-signature"></span>serverConfig<span class="type-signature"> :Object</span></h4>
<div class="description">
<p>Gets or sets the ServerConfig object representing server-side configuration.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line356">line 356</a>
</li></ul></dd>
</dl>
<h4 class="name" id="services"><span class="type-signature"></span>services<span class="type-signature"> :Services</span></h4>
<div class="description">
<p>Gets or sets the add-on services known to the application.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Services</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line311">line 311</a>
</li></ul></dd>
</dl>
<h4 class="name" id="shareDataService"><span class="type-signature"></span>shareDataService<span class="type-signature"> :Object</span></h4>
<div class="description">
<p>Gets or sets the shareDataService to be used with Terria, which can save JSON or (in future) other user-provided
data somewhere. It can be used to generate short URLs.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line350">line 350</a>
</li></ul></dd>
</dl>
<h4 class="name" id="showSplitter"><span class="type-signature"></span>showSplitter<span class="type-signature"> :Boolean</span></h4>
<div class="description">
<p>Gets or sets whether to show a splitter, if possible. Default false. This property is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line388">line 388</a>
</li></ul></dd>
</dl>
<h4 class="name" id="splitPosition"><span class="type-signature"></span>splitPosition<span class="type-signature"></span></h4>
<div class="description">
<p>Gets or sets the current position of the splitter (if <a href="Terria.html#showSplitter">Terria#showSplitter</a> is true) as a fraction of the map window.
0.0 is on the left, 0.5 is in the center, and 1.0 is on the right. This property is observable.</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line394">line 394</a>
</li></ul></dd>
</dl>
<h4 class="name" id="splitPositionVertical"><span class="type-signature"></span>splitPositionVertical<span class="type-signature"></span></h4>
<div class="description">
<p>Gets or sets the current vertical position of the splitter (if <a href="Terria.html#showSplitter">Terria#showSplitter</a> is true) as a fraction of the map window.
0.0 is on the top, 0.5 is in the center, and 1.0 is on the bottom. This property is observable.</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line399">line 399</a>
</li></ul></dd>
</dl>
<h4 class="name" id="supportEmail"><span class="type-signature"></span>supportEmail<span class="type-signature"> :String</span></h4>
<div class="description">
<p>The support email for the app to be built upon Terria. This will appear in error messages to the user.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default">Default Value:</dt>
<dd class="tag-default"><ul class="dummy">
<li>"support@terria.io"</li>
</ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line133">line 133</a>
</li></ul></dd>
</dl>
<h4 class="name" id="tileLoadProgressEvent"><span class="type-signature"></span>tileLoadProgressEvent<span class="type-signature"> :CesiumEvent</span></h4>
<div class="description">
<p>Event that tracks changes to the progress in loading new tiles from either Cesium or Leaflet - events will be
raised with the number of tiles that still need to load.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">CesiumEvent</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line364">line 364</a>
</li></ul></dd>
</dl>
<h4 class="name" id="urlShortener"><span class="type-signature"></span>urlShortener<span class="type-signature"> :Object</span></h4>
<div class="description">
<p>Gets or sets the urlShorter to be used with terria. This is currently set in the start method
to allow the urlShortener object to properly initialize. See the GoogleUrlShortener for an
example urlShortener.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line343">line 343</a>
</li></ul></dd>
</dl>
<h4 class="name" id="userProperties"><span class="type-signature"></span>userProperties<span class="type-signature"> :Object</span></h4>
<div class="description">
<p>Gets or sets the collection of user properties. User properties
can be set by specifying them in the hash portion of the URL. For example, if the application URL is
<code>http://localhost:3001/#foo=bar&someproperty=true</code>, this object will contain a property named 'foo' with the
value 'bar' and a property named 'someproperty' with the value 'true'. Currently recognised URL parameters include
'map=[2D,3D]' (choose the Leaflet or Cesium view) and <code>mode=preview</code> (suppress warnings, when used as an embedded
previewer).</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line272">line 272</a>
</li></ul></dd>
</dl>
<h4 class="name" id="viewerMode"><span class="type-signature"></span>viewerMode<span class="type-signature"> :<a href="global.html#ViewerMode">ViewerMode</a></span></h4>
<div class="description">
<p>Gets or sets the map mode.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="global.html#ViewerMode">ViewerMode</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line161">line 161</a>
</li></ul></dd>
</dl>
<h4 class="name" id="zoomWhenInitialViewChanges"><span class="type-signature"></span>zoomWhenInitialViewChanges<span class="type-signature"> :Boolean</span></h4>
<div class="description">
<p>Gets or sets a value indicating whether the application should automatically zoom to the new view when
the Terria#initialView (or <a href="Terria.html#homeView">Terria#homeView</a> if no initial view is specified).</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-default">Default Value:</dt>
<dd class="tag-default"><ul class="dummy">
<li>true</li>
</ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line232">line 232</a>
</li></ul></dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="getUserProperty"><span class="type-signature"></span>getUserProperty<span class="signature">(propertyName)</span><span class="type-signature"> → {Object}</span></h4>
<div class="description">
<p>Gets the value of a user property. If the property doesn't exist, it is created as an observable property with the
value undefined. This way, if it becomes defined in the future, anyone depending on the value will be notified.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>propertyName</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last"><p>The name of the user property for which to get the value.</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line593">line 593</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>The value of the property, or undefined if the property does not exist.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Object</span>
</dd>
</dl>
<h4 class="name" id="start"><span class="type-signature"></span>start<span class="signature">(options)</span><span class="type-signature"></span></h4>
<div class="description">
<p>Starts up Terria.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>options</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last"><p>Object with the following properties:</p>
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>applicationUrl</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last"><p>The URL of the application. Typically this is obtained from window.location. This URL, if
supplied, is parsed for startup parameters.</p></td>
</tr>
<tr>
<td class="name"><code>configUrl</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
'config.json'
</td>
<td class="description last"><p>The URL of the file containing configuration information, such as the list of domains to proxy.</p></td>
</tr>
<tr>
<td class="name"><code>urlShortener</code></td>
<td class="type">
<span class="param-type">UrlShortener</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last"><p>The URL shortener to use to expand short URLs. If this property is undefined, short URLs will not be expanded.</p></td>
</tr>
<tr>
<td class="name"><code>persistViewerMode</code></td>
<td class="type">
<span class="param-type">Boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last"><p>Whether to use the ViewerMode stored in localStorage if avaliable (this takes priority over other ViewerMode options). If not specified the stored ViewerMode will be used.</p></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line445">line 445</a>
</li></ul></dd>
</dl>
<h4 class="name" id="updateApplicationUrl"><span class="type-signature"></span>updateApplicationUrl<span class="signature">(newUrl)</span><span class="type-signature"> → {Promise}</span></h4>
<div class="description">
<p>Updates the state of the application based on the hash portion of a URL.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>newUrl</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last"><p>The new URL of the application.</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_Terria.js.html">Models/Terria.js</a>, <a href="Models_Terria.js.html#line562">line 562</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>A promise that resolves when any new init sources specified in the URL have been loaded.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise</span>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AbsCode.html">AbsCode</a></li><li><a href="AbsConcept.html">AbsConcept</a></li><li><a href="AbsDataset.html">AbsDataset</a></li><li><a href="AbsIttCatalogGroup.html">AbsIttCatalogGroup</a></li><li><a href="A