<a name="Panoramax.utils.SemanticsMapProtocol"></a>

## Panoramax.utils.SemanticsMapProtocol
**Kind**: static class of <code>Panoramax.utils</code>  

* [.SemanticsMapProtocol](#Panoramax.utils.SemanticsMapProtocol)
    * [new SemanticsMapProtocol(api)](#new_Panoramax.utils.SemanticsMapProtocol_new)
    * [.tile(params, abort)](#Panoramax.utils.SemanticsMapProtocol+tile) ⇒ <code>object</code>

<a name="new_Panoramax.utils.SemanticsMapProtocol_new"></a>

### new SemanticsMapProtocol(api)
Semantics Map Protocol adds a new URI scheme "sem://" to MapLibre.
It allows loading tile per tile metadata from semantics API, seamlessly.
You can use them with URI like:
- `sem://"semantics.osm|traffic_sign" IS NOT NULL/{z}/{x}/{y}`
- `sem://"semantics.osm|traffic_sign"='yes'/{z}/{x}/{y}`


| Param | Type | Description |
| --- | --- | --- |
| api | [<code>API</code>](API.md/#Panoramax.utils.API) | The API |

<a name="Panoramax.utils.SemanticsMapProtocol+tile"></a>

### semMapProtocol.tile(params, abort) ⇒ <code>object</code>
Get a single tile

**Kind**: instance method of [<code>SemanticsMapProtocol</code>](#Panoramax.utils.SemanticsMapProtocol)  
**Returns**: <code>object</code> - The tile, as expected by MapLibre  

| Param | Type | Description |
| --- | --- | --- |
| params | <code>object</code> | MapLibre parameters |
| abort | <code>AbortController</code> | The abort signal handler |

