| id | layer-api |
|---|---|
| title | HTMLLayerElement |
| slug | /api/layer-api |
HTMLLayerElement.checked est une valeur booléenne de lecteur et d’écriture qui active ou désactive la couche et reproduit l’attribut vérifié (checked). L’état vérifié est reproduit dans l’interface utilisateur du contrôle de la couche sous la forme d’une case à cocher à côté du nom de cette dernière. La propriété vérifiée peut servir à effectuer un changement programmatique de l’état vérifié de la couche.
La propriété vérifiée ne peut être modifiée si l’état de la propriété est « désactivée »).
Pour activer l’état vérifié d’une couche activée :
let layer = document.querySelector('layer-');
layer.checked = true; // les valeurs valides sont true | falsePour lire l’état vérifié de la couche :
let layer = document.querySelector('layer-');
let isChecked = layer.checked;hidden
HTMLLayerElement.hidden est une valeur booléenne de lecture et d’écriture qui ne masque ou n’affiche la couche qu’au niveau du contrôle de la couche. Masquer la couche n’a aucune incidence sur la présence de son contenu sur la carte, seulement sur le contrôle de la présence de la couche.
Cela peut être utile pour gérer les couches de courte durée dans la carte, comme les résultats d’une recherche, sans que l’utilisateur soit obligé de gérer l’état de la couche, ce dont se charge votre application.
Cela est également pratique pour gérer une couche permanente sans surcharger l’interface utilisateur.
Pour définir que la couche est masquée ou la mettre à jour avec cet état :
let layer = document.querySelector('layer-');
layer.hidden = true; // les valeurs valides sont true | falsePour obtenir la valeur hidden de <layer-> :
let layer = document.querySelector('layer-');
let isHidden = layer.hidden;HTMLLayerElement.disabled donne un accès en lecture seule à l’état désactivé de la couche. Une couche est désactivée si son contenu n’est pas rendu, soit parce qu’il sort complètement de l’étendue de la carte affichée ou parce qu’une erreur est associée au traitement de la couche, par exemple lorsque celle-ci se trouve dans un projection incompatible avec celle de la carte. Lorsqu’une couche est désactivée, l’utilisateur ne peut interagir avec elle au niveau du contrôle de la couche, et elle n’est pas visible dans la fenêtre d’affichage de la carte. Si la couche devient activée, par exemple à la suite d’une manipulation de la carte, l’utilisateur peut interagir avec elle au niveau du contrôle de la couche, et elle est visible dans la fenêtre d’affichage de la carte.
HTMLLayerElement.label reflète l'attribut de contenu label, et spécifie un
nom accessible de repli pour la couche, si le nom accessible n'est pas fourni par un
élément local <map-title> enfant de l'élément <layer->, ou dans l'élément
<map-head> d'un document MapML chargé via la valeur URL dans l'attribut src,
respectivement.
Pour définir la label de <layer-> ou mettre à jour celle-ci :
let layer = document.querySelector('layer-');
layer.label = "Nouveau titre";Pour obtenir la valeur de la label de <layer-> :
let layer = document.querySelector('layer-');
let label = layer.label;HTMLLayerElement.src reproduit l’attribut HTML src et précise l’adresse URL du document MapML de la couche. La propriété src peut ne pas être définie si la couche contient du contenu en ligne. Si la propriété src retourne une valeur, tout contenu en ligne est omis.
Pour définir ou mettre à jour la src de <layer-> :
let layer = document.querySelector('layer-');
layer.src = "https://example.org";Pour obtenir la valeur (adresse URL) de la src de <layer-> :
let layer = document.querySelector('layer-');
let url = layer.src;HTMLLayerElement.opacity donne accès en lecture ou en écriture à la valeur d’opacity, qui correspond dans le contrôle de couche pour chaque couche, sous "Opacité".
Pour définir ou mettre à jour l’opacité de <layer-> :
let layer = document.querySelector('layer-');
layer.opacity = 0.5; // les valeurs valides vont de 0.0 à 1.0Pour obtenir la valeur de l’opacité de <layer-> :
let layer = document.querySelector('layer-');
let opacity = layer.opacity;HTMLLayerElement.zoomTo() Zoom sur l'étendue de la couche dans la carte,
au niveau de zoom maximum dans lequel l'étendue s'inscrit complètement.
let layer = document.querySelector('layer-');
layer.zoomTo();| Fonction | Retours | Description |
|---|---|---|
mapml2geojson(<Object> options) |
Objet de collection de caractéristiques JavaScript (GeoJSON) | Cette fonction transforme l’élément- enfant <feature> d’un élément <layer-> en un objet GeoJSON FeatureCollection. Vous fournissez les options pour contrôler la transformation. Cette fonction doit servir dans un événement windows.onload. |
:::caution
mapml2geojson doit être appelé dans un événement windows.onload pour fonctionner correctement, comme suit :
window.onload = (event) => {
let layer = document.querySelector('layer-');
layer.mapml2geojson();
};:::
| Paramètre | Description |
|---|---|
| Élément <HTMLLayerElement> | Élément <layer-> |
| <Object> options | Vous fournissez des paramètres au moyen d’un objet d’options avec des noms d’option prédéfinis. |
<Object> Ensemble de paires de clés ou de valeurs qui personnalise l’objet de sortie GeoJSON. Toutes les options sont facultatives et décrites ci-après.
| Option | Type | Défaut | Description |
|---|---|---|---|
propertyFunction |
<Function> | n/a | Fonction que vous fournissez et qui mappe l’élément <map-properties> de la caractéristique à un membre GeoJSON "properties", puisque qu’il n’y a que vous qui connaît la conception du balisage dans votre valeur <map-properties>. Si vous ne fournissez pas cette option, une fonction par défaut essaiera de renverser un élément-enfant <table> de <map-properties>, comme si ce tableau était généré par la fonction d’option de propriétés par défaut de geojson2mapml. |
transform |
<Boolean> | true |
Transforme des valeurs <map-coordinates> en valeurs gcrs (longitude, latitude), si elles ne le sont pas déjà. GeoJSON recommande d’utiliser les coordonnées de longitude et de latitude WGS 84, il s’agit donc là du comportement par défaut. |
Au besoin, mapml2geojson transforme des coordonnées en gcrs par défaut avant la sérialisation. Prenez note que toutes les projections géographiques CRS (système de référence des coordonnées) ne sont pas équivalentes, et que l’interprétation de telles coordonnées n’est pas garantie conforme aux coordonnées WGS 84 ou GPS, et que, par conséquent, elles ne suivent pas nécessairement la recommandation GeoJSON, qui requiert des coordonnées de longitude et de latitude codées conformément au système géodésique WGS 84. Le moteur de projection utilisé pour mettre en œuvre cette conversion est incapable de transformer des coordonnées d’un ellipsoïde à un autre. Par conséquent, le JSON résultant DOIT (d’une manière qui reste à déterminer) être étiqueté avec la donnée qu’utilise la projection de la couche.
| Nom de l’événement | Description |
|---|---|
| changestyle | Déclenché avant que la couche ne change de src parce que l’utilisateur a sélectionné un autre style au niveau du contrôle de la couche |
| extentload | Déclenché lorsque les métadonnées d’une couche ont été chargées, mais avant le chargement des pavés, des caractéristiques et de tout autre contenu |
Exemple montrant la sortie GeoJSON par défaut lorsqu’aucune option n’est fournie.
<layer- label="Géometrie du point" checked="">
<map-meta name="extent" content="top-left-longitude=-75.916809, top-left-latitude=45.886964, bottom-right-longitude=-75.516809,bottom-right-latitude=45.26964"></map-meta>
<map-meta name="projection" content="OSMTILE"></map-meta>
<map-meta name="cs" content="gcrs"></map-meta>
<map-feature>
<map-featurecaption>Géometrie du point</map-featurecaption>
<map-geometry>
<map-point>
<map-coordinates>-75.6916809 45.4186964</map-coordinates>
</map-point>
</map-geometry>
<map-properties>
<table>
<thead>
<tr>
<th role="columnheader" scope="col">Nom de la propriété </th>
<th role="columnheader" scope="col">Nom de la propriété</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">prop0</th>
<td itemprop="prop0">Ceci est un point</td>
</tr>
</tbody>
</table>
</map-properties>
</map-feature>
</layer->
<script>
window.onload = (event) => {
let layer = document.querySelector('layer-');
let output = layer.mapml2geojson();
};
</script>Cliquez pour afficher la sortie GeoJSON
{
"title": "Géométrie du point",
"bbox": [-75.916809, 45.886964, -75.516809, 45.26964],
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-75.6916809, 45.4186964]
},
"properties": {
"prop0": "Ceci est un point"
}
}]
}| Spécification |
|---|
| HTMLLayerElement |
Signaler les problèmes liés à ces exigences sur GitHub
exigence amélioration peu pratique indécis en cours de discussion
| Spec | Viewer | API | |
|---|---|---|---|
| Properties | complet | complet | complet |
| Methods | complet | complet | complet |