Aller au contenu principal

<map-extent>

L’élément <map-extent> est un contrôle hypertexte associé au rectangle de la fenêtre d’affichage de la carte, rectangle qu’il représente aux yeux de l’utilisateur. Les auteurs de cartes l’utilisent pour rédiger des requêtes destinées aux serveurs dans le but d’obtenir le contenu d’une couche. Les requêtes sont créées au moyen de modèles d’adresse URL que traite le navigateur alors que la carte bouge et a besoin d’un nouveau contenu à afficher. Les modèles d’adresse URL contiennent chacun une ou plusieurs références de variable, chacune étant indiquée par le nom de la variable entre accolades {}.

Les variables sont créées par l’auteur de la carte au moyen de l’élément <map-input>. Il dispose de plusieurs types d’éléments <map-input>, ce qui lui permet de référencer les coins, la largeur, la hauteur et le niveau de zoom de l’étendue.

Exemple d’un élément <map-extent> servant à charger des pavés d’images avec un seul modèle d’adresse URL.

<mapml-viewer projection="OSMTILE" lat="10" lon="0" zoom="1">
<layer- label="OpenStreetMap" checked>
<map-extent units="OSMTILE" checked hidden>
<map-input name="z" type="zoom" value="18" min="0" max="18"></map-input>
<map-input name="x" type="location" units="tilematrix" axis="column" min="0" max="262144"></map-input>
<map-input name="y" type="location" units="tilematrix" axis="row" min="0" max="262144"></map-input>
<map-link rel="tile" tref="https://tile.openstreetmap.org/{z}/{x}/{y}.png"></map-link>
</map-extent>
</layer->
</mapml-viewer>

Attributes

units

Spécifie la projection des tuiles et autres contenus attendus du serveur. Si la valeur de units est une correspondance insensible à la casse de l'attribut projection de <mapml-viewer>, l'étendue sera désactivée dans le contrôle de couche, et ne sera pas affichée sur la carte, ni le contenu récupéré du serveur.

Les valeurs d’units définies comprennent :

ProjectionDescription
OSMTILEWeb Mercator, avec des pavés de 256 pixels par 256 pixels, définis de façon récursive et délimités dans un carré à un niveau de zoom = 0
WGS84Pseudo-plate carrée, avec des pavés de 256 pixels par 256 pixels. Un niveau de zoom égal à 0 contient deux pavés dans deux colonnes, avec vcmme origine -180,90. Les valeurs fictives d’abscisse et d’ordonnée (pcrs) à l’intérieur des limites de la projection correspondent respectivement à la longitude et à la latitude.
CBMTILEConique conforme de Lambert, avec des pavés de 256 pixels par 256 pixels. Les niveaux de zoom étant choisis par le dénominateur d’échelle, les pavés ne sont pas imbriqués.

L’auteur peut définir la valeur d’units à l’aide de l’Custom projections API

L'attribut units est obligatoire et ne peut être modifié.


label

Spécifie un label pour une étendue qui est affichée dans le contrôle de couche. Si aucune valeur label n'est fournie, la valeur label prend par défaut la valeur 'Sous-couche' dans le contrôle de couche.


checked

L'attribut et la propriété checked sont des booléens. Lorsqu'il est présent, la valeur de la propriété checked est "true" ; lorsqu'il n'est pas présent, la valeur de la propriété est "false". Le contenu du map-extent sera récupéré et rendu en fonction de l'état checked. Attention, c'est la présence de l'attribut qui fait qu'il est vrai, et non la valeur de l'attribut. Par exemple, l'attribut checked="false" s'avère en fait être checké, comme décrit par les docs Web du MDN.


hidden

L'attribut et la propriété hidden est un booléen. Lorsqu'il est présent, l'étendue est cachée (non présente) dans le contrôle de couche. Indépendamment de l'état hidden, la couche est rendue ou non en fonction de l'état de l'attribut checked.


opacity

L'attribut opacity est utilisé pour définir l'opacité initiale de l'élément <map-extent>. Les valeurs d'opacité valides vont de "0.0" à "1.0" avec strictement une décimale et sont reflétées dans les paramètres d'étendue. opacity input slider control. Lorsque l'attribut opacity n'est pas présent, l'opacité est fixée à "1.0" par défaut.


Exemples

Étendues multiples

L’exemple ci-dessous montre plusieurs éléments <map-extent> dans un couche. Chacun d’eux peut être sélectionné en cliquant sur les points de suspension (…) du menu de la couche de la carte de base.

<mapml-viewer projection="OSMTILE" zoom="2" lat="53.331" lon="-91.667" controls>
<!—Modifier la carte de base en cliquant sur les points de suspension (…) de la couche de la carte de base -->
<layer- label="Carte de base" checked="">
<!—Cette étendue est masquée au niveau du contrôle de la couche, puisqu’aucune étiquette n’est fournie -->
<map-extent units="OSMTILE" checked>
<map-input name="TileMatrix" type="zoom" value="18" min="0" max="18"></map-input>
<map-input name="TileCol" type="location" units="tilematrix" axis="column" min="0" max="262144"></map-input>
<map-input name="TileRow" type="location" units="tilematrix" axis="row" min="0" max="262144"></map-input>
<map-link rel="tile" tref="https://server.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS/tile/1.0.0/World_Imagery/default/default028mm/{TileMatrix}/{TileRow}/{TileCol}.jpg"></map-link>
</map-extent>
<map-extent label="Nat Geo" units="OSMTILE" checked>
<map-input name="TileMatrix" type="zoom" value="18" min="0" max="18"></map-input>
<map-input name="TileCol" type="location" units="tilematrix" axis="column" min="0" max="262144"></map-input>
<map-input name="TileRow" type="location" units="tilematrix" axis="row" min="0" max="262144"></map-input>
<map-link rel="tile" tref="https://server.arcgisonline.com/arcgis/rest/services/NatGeo_World_Map/MapServer/WMTS/tile/1.0.0/NatGeo_World_Map/default/default028mm/{TileMatrix}/{TileRow}/{TileCol}.jpg"></map-link>
</map-extent>
<map-extent label="Imagery" units="OSMTILE" checked>
<map-input name="TileMatrix" type="zoom" value="18" min="0" max="18"></map-input>
<map-input name="TileCol" type="location" units="tilematrix" axis="column" min="0" max="262144"></map-input>
<map-input name="TileRow" type="location" units="tilematrix" axis="row" min="0" max="262144"></map-input>
<map-link rel="tile" tref="https://server.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS/tile/1.0.0/World_Imagery/default/default028mm/{TileMatrix}/{TileRow}/{TileCol}.jpg"></map-link>
<map-link rel="tile" tref="https://services.arcgisonline.com/arcgis/rest/services/Reference/World_Boundaries_and_Places/MapServer/WMTS/tile/1.0.0/Reference_World_Boundaries_and_Places/default/default028mm/{TileMatrix}/{TileRow}/{TileCol}.png"></map-link>
</map-extent>
</layer->
</mapml-viewer>

WMS Request

L’exemple ci-dessous montre une demande de service de carte en ligne utilisant l’élément <map-link> pour demander des images de la carte.

<mapml-viewer projection="OSMTILE" zoom="4" lat="53.331" lon="-91.667" controls>
<layer- label="Toporama" checked="">
<map-extent xmlns="http://www.w3.org/1999/xhtml" units="OSMTILE" checked>
<!—Paramètres URL de la demande de service de carte en ligne -->
<map-input name="z" type="zoom" value="18" min="4" max="18"></map-input>
<map-input name="w" type="width"></map-input>
<map-input name="h" type="height"></map-input>
<map-input name="xmin" type="location" units="pcrs" position="top-left" axis="easting" min="-2.003750834E7" max="2.003750834E7"></map-input>
<map-input name="ymin" type="location" units="pcrs" position="bottom-left" axis="northing" min="-2.003750834E7" max="2.003750834E7"></map-input>
<map-input name="xmax" type="location" units="pcrs" position="top-right" axis="easting" min="-2.003750834E7" max="2.003750834E7"></map-input>
<map-input name="ymax" type="location" units="pcrs" position="top-left" axis="northing" min="-2.003750834E7" max="2.003750834E7"></map-input>
<!-- Web Map Service requesting image -->
<map-link rel="image" tref="http://wms.ess-ws.nrcan.gc.ca/wms/toporama_en?SERVICE=WMS&amp;REQUEST=GetMap&amp;FORMAT=image/jpeg&amp;TRANSPARENT=FALSE&amp;STYLES=&amp;VERSION=1.3.0&amp;LAYERS=WMS-Toporama&amp;WIDTH={w}&amp;HEIGHT={h}&amp;CRS=EPSG:3857&amp;BBOX={xmin},{ymin},{xmax},{ymax}&amp;m4h=t"></map-link>
</map-extent>
</layer->
</mapml-viewer>

Spécifications

Spécification
Élément extent de MapML

Exigences

Signalez tout problème avec ces exigences sur GitHub

exigenceaméliorationinefficaceincertainen discussion

SpécVisionneuseAPI
Rendu des couches de base (5.1)
Afficher une carte avec les données de pavés obtenues du service de carte en ligne précisé par l’auteur (5.1.4)
fullfull
Navigation de l’utilisateur (panoramique et zoom) (5.4)
Charger d’autres pavés de carte pour que le mouvement panoramique les affiche (5.4.3)
fullfull
Charger dynamiquement des pavés de carte à différentes résolutions lorsqu’on effectue un zoom (5.4.6)
fullfull