2gis-maps
Version:
Interactive 2GIS maps API, based on Leaflet
258 lines (236 loc) • 8.72 kB
Markdown
## Meta Layers
Allows you to create additional layers of meta information and add them to the map.
{toc}
### DG.Meta.layer
Inherits from <a href="/doc/maps/en/manual/base-classes#dglayer"><code>DG.Layer</code></a>.
#### Creation
<table>
<thead>
<tr>
<th>Factory</th>
<th>Usage</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code><b>DG.Meta.layer</b>(
<nobr><String> <i>source</i>,</nobr>
<nobr><<a href="#options">DG.Meta.layer options</a>> <i>options?</i> )</nobr>
</code></td>
<td><code>DG.Meta.layer(…)</code></td>
<td>Creates additional layer with meta-information. Takes the source URL as a parameter
with which the tiles of an additional layer are available.</td>
</tr>
</tbody>
</table>
#### Options
<table>
<thead>
<tr>
<th>Option</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code><b>tileSize</b></code></td>
<td><code>Number</code></td>
<td><code>256</code></td>
<td>The tile size (width and height in pixels, it is assumed that the tile is square).</td>
</tr>
<tr>
<td><code><b>minZoom</b></code></td>
<td><code>Number</code></td>
<td><code>0</code></td>
<td>The minimum zoom level.</td>
</tr>
<tr>
<td><code><b>maxZoom</b></code></td>
<td><code>Number</code></td>
<td><code>18</code></td>
<td>The maximum zoom level.</td>
</tr>
<tr>
<td><code><b>zoomOffset</b></code></td>
<td><code>Number</code></td>
<td><code>0</code></td>
<td>Value which will shift the zoom level in the tile's address.</td>
</tr>
<tr>
<td><code><b>eventBubbling</b></code></td>
<td><code>String</code></td>
<td><code><span class="string">'transparent'</span>||<span class="string">'layer'</span></td>
<td>The way in which meta-layer handles events. Accepts values <b>layer</b>
or <b>transparent</b> (default):<ul><li>transparent — meta-layer receives all of the events
and carry them to the map</li><li>layer — meta-layer receives all of the events and stops
them after processing</li></ul></td>
</tr>
</tbody>
</table>
#### Events
You can subscribe to the following events using
<a href="/doc/maps/en/manual/base-classes#dgevented">these</a> methods.
<table>
<thead>
<tr>
<th>Event</th>
<th>Data</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code><b>mouseover</b></code></td>
<td><code><a href="/doc/maps/en/manual/base-classes#metaevent">MetaEvent</a></code>
<td>Called when you hover the mouse over the additional layer object.</td>
</tr>
<tr>
<td><code><b>mouseout</b></code></td>
<td><code><a href="/doc/maps/en/manual/base-classes#metaevent">MetaEvent</a></code>
<td>Called when the mouse cursor leaves the bounds of an additional layer object.</td>
</tr>
<tr>
<td><code><b>mousemove</b></code></td>
<td><code><a href="/doc/maps/en/manual/base-classes#metaevent">MetaEvent</a></code></td>
<td>Called when the mouse cursor moves over an additional layer object.</td>
</tr>
<tr>
<td><code><b>click</b></code></td>
<td><code><a href="/doc/maps/en/manual/base-classes#metaevent">MetaEvent</a></code></td>
<td>Called when the mouse click in the additional layer.</td>
</tr>
<tr>
<td><code><b>dblclick</b></code></td>
<td><code><a href="/doc/maps/en/manual/base-classes#metaevent">MetaEvent</a></code></td>
<td>Called when the mouse double-click in the additional layer.</td>
</tr>
<tr>
<td><code><b>mousedown</b></code></td>
<td><code><a href="/doc/maps/en/manual/base-classes#metaevent">MetaEvent</a></code></td>
<td>Called when the mouse button is pressed while the cursor is over the additional layer.</td>
</tr>
<tr>
<td><code><b>contextmenu</b></code></td>
<td><code><a href="/doc/maps/en/manual/base-classes#metaevent">MetaEvent</a></code></td>
<td>Called when you click the right mouse button in the additional layer.</td>
</tr>
</tbody>
</table>
#### Methods
<table>
<thead>
<tr>
<th>Method</th>
<th>Returns</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code><b>getOrigin</b>()</code></td>
<td><code>Object</code></td>
<td>Returns origin-instance of additional layer.</td>
</tr>
</tbody>
</table>
### DG.Meta.origin
Works with the meta data of a layer, inherits from <a href="/doc/maps/en/manual/base-classes#dgclass"><code>DG.Class</code></a>.
#### Creation
<table>
<thead>
<tr>
<th>Factory</th>
<th>Usage</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code><b>DG.Meta.origin</b>(
<nobr><String> <i>source</i>,</nobr>
<nobr><DG.Meta.layer options> <i>options?</i> )</nobr>
</code></td>
<td><code>DG.Meta.origin(…)</code></td>
<td>Creates an instance for work with the meta layer data. Takes the source URL as a parameter
with which the tiles of an additional layer are available.</td>
</tr>
</tbody>
</table>
#### Options
<table>
<thead>
<tr>
<th>Option</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code><b>subdomains</b></code></td>
<td><code>String</code> или <code>String[]</code></td>
<td><code>'0123'</code></td>
<td>Tile service subdomains. Can be sent as one string (where each letter —
is a subdomain name) or as an array of strings.</td>
</tr>
<tr>
<td><code><b>dataFilter</b></code></td>
<td><code>Function</code></td>
<td><code>null</code></td>
<td>Optional parameter, which takes a function to filter or convert the meta data
received from the server.</td>
</tr>
</tbody>
</table>
#### Methods
<table>
<thead>
<tr>
<th>Method</th>
<th>Returns</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code><b>getTileData</b>(
<nobr><Object> <i>coord</i>)</nobr>
</code>
<td><code>Object</code></td>
<td>Returns the metadata of the meta layer for the specified tile.</td>
</tr>
<tr>
<td><code><b>setTileData</b>(
<nobr><String>/<Object> <i>coord</i>,</nobr>
<nobr><Object> <i>data</i>)</nobr>
</code>
<td><code>this</code></td>
<td>Assigns data for the tile with the coord key.</td>
</tr>
<tr>
<td><code><b>flush</b>()</code></td>
<td><code>this</code></td>
<td>Clear cached data for all tiles.</td>
</tr>
<tr>
<td><code><b>setURL</b>(
<nobr><String> <i>url</i>,</nobr>
<nobr><Boolean> <i>flush?</i>)</nobr>
</code>
<td><code>this</code></td>
<td>Sets the url used to get the meta data. If the parameter flush=true,
the cached data will be cleared.</td>
</tr>
<tr>
<td><code><b>getTileKey</b>(
<nobr><Object> <i>coord</i>)</nobr>
</code>
<td><code>String</code></td>
<td>Returns the key of the tile as a string.</td>
</tr>
</tbody>
</table>