Créer des cartes OpenLayers à partir d'objets de spécification de style mapbox.
Obtenez une impression de ce que fait cette bibliothèque en explorant les exemples en direct.
Pour utiliser la bibliothèque dans une application avec un environnement de développement basé sur le NPM, installez-le avec
npm install ol-mapbox-style
Lorsqu'il est installé de cette façon, importez simplement le module de style OL-Mapbox, comme dans l'exemple d'utilisation ci-dessous. Pour utiliser une construction autonome de style OL-Mapbox, incluez simplement «dist / olms.js» sur votre page HTML et accéder aux fonctions exportées à partir de l'objet global olms
(par exemple olms.apply()
, olms.applyBackground()
) . Notez que la construction autonome dépend de la version complète d'OpenLayers.
OL-MAPBOX-style> = V9 nécessite une version OpenLayers> = 7 .
V8 de style OL-Mapbox nécessite une version OpenLayers> = 6.13.0 <7 .
Voir la section API pour la documentation complète.
Le code ci-dessous crée une carte OpenLayers à partir du style V9 brillant de Mapbox, en utilisant un https://
url:
import { apply } from 'ol-mapbox-style' ;
apply ( 'map' , 'https://api.mapbox.com/styles/v1/mapbox/bright-v9?access_token=YOUR_MAPBOX_TOKEN' ) ;
Pour attribuer un style et une source à une couche uniquement, utilisez applyStyle()
. mapbox://
Les URL sont également prises en charge:
import { applyStyle } from 'ol-mapbox-style' ;
import VectorTileLayer from 'ol/layer/VectorTile.js'
const layer = new VectorTileLayer ( { declutter : true } ) ;
applyStyle ( layer , 'mapbox://styles/mapbox/bright-v9' , { accessToken : 'YOUR_MAPBOX_TOKEN' } ) ;
Pour appliquer les propriétés de la couche background
du style mapbox à la carte ou à une couche VectorTile
, utilisez la fonction applyBackground()
.
Il existe également une API de bas niveau disponible. Pour créer une fonction de style pour les couches Vector OpenLayers ou Vector Tile, utilisez le module stylefunction
:
import { stylefunction } from 'ol-mapbox-style' ;
import VectorLayer from 'ol/layer/Vector.js' ;
import VectorSource from 'ol/source/Vector.js' ;
import GeoJSON from 'ol/format/GeoJSON.js' ;
const layer = new VectorLayer ( {
source : new VectorSource ( {
format : new GeoJSON ( ) ,
url : 'data/states.geojson'
} )
} ) ;
fetch ( 'data/states.json' ) . then ( function ( response ) {
response . json ( ) . then ( function ( glStyle ) {
stylefunction ( layer , glStyle , 'states' ) ;
} ) ;
} ) ;
Notez que cette API de bas niveau ne crée pas de source pour la couche, et un travail supplémentaire est nécessaire pour configurer la manipulation de sprite pour les styles qui utilisent des icônes.
ol-mapbox-style
ne peut pas utiliser les glyphes PBF / SDF pour la propriété de mise en page text-font
, tel que défini dans la spécification de style Mapbox. Au lieu de cela, il s'appuie sur des polices Web. Une propriété de métadonnées ol:webfonts
peut être définie sur la racine de l'objet de style pour spécifier un emplacement pour Webfonts, par exemple
{
"version" : 8 ,
"metadata" : {
"ol:webfonts" : "https://my.server/fonts/{font-family}/{fontweight}{-fontstyle}.css"
}
// ...
}
En tant qu'alternative, l'option webfonts
des fonctions apply()
ou applyStyle()
peut être utilisée.
Les espaces réservés suivants peuvent être utilisés dans l'URL du modèle:
{font-family}
: Famille de police CSS convertie en minuscules, les blancs remplacés par -, par exemple noto-Sans{Font+Family}
: Famille de police CSS Dans le cas d'origine, les blancs remplacés par +, par exemple Noto + Sans{fontweight}
: poids de police CSS (numérique), par exemple 400, 700{fontstyle}
: style de police CSS, par exemple normal, italique{-fontstyle}
: style de police CSS autre que normal, par exemple -itale ou vide pour normale Si aucune propriété metadata['ol:webfonts']
n'est disponible sur l'objet de style, les polices FONTSource seront utilisées. Il est également possible pour l'application de charger d'autres polices, en utilisant CSS. Si une police est déjà disponible dans le navigateur, ol-mapbox-style
ne le chargera pas.
En raison de cette différence, la pile de police est traitée un peu différente de celle définie dans le style Spec: le style et le poids sont tirés de la police primaire (c'est-à-dire le premier dans la pile de polices). Les polices ultérieures dans la pile de police ne sont utilisées que si la police primaire n'est pas disponible / chargée, et ils seront utilisés avec le style et le poids de la police primaire.
npm run build
Les fichiers de distribution résultants seront dans le dossier dist/
. Pour voir la bibliothèque en action, accédez à dist/index.html
.
Pour exécuter le test localement, exécutez
npm test
Pour les tests de débogage dans le navigateur, exécutez
npm run karma
et ouvrez un navigateur sur l'hôte et le port indiqués dans la sortie de la console (généralement http: // localhost: 9876 /) et cliquez sur le bouton «débogage» pour accéder à l'environnement de débogage.
style OL-Mapbox • Docs
style OL-Mapbox • Docs
couches :
string
[]
Couches. Si aucune source n'est fournie, les couches avec les ID fournies seront utilisées à partir du tableau layers
du style. Toutes les couches doivent utiliser la même source.
Source :
string
Source. La valeur par défaut est ''
, ce qui entraîne l'utilisation de la première source du style.
Mises à
boolean
Mettre à jour ou créer une source de couche vectorielle (carreau) avec des paramètres spécifiés pour la source dans la définition de style mapbox.
style OL-Mapbox • Docs
ID :
string
|number
L'ID de fonctionnalité.
Source :
string
L'ID source.
style OL-Mapbox • Docs
AccessToken :
string
Le jeton d'accès pour votre style Mapbox. Cela doit être fourni pour les URL de style mapbox://
. Pour https://
et autres URL, toute clé d'accès doit être le dernier paramètre de requête de l'URL de style.
Contexte :
false
|BackgroundColor
Couleur d'arrière-plan pour le calque. S'il n'est pas spécifié, l'arrière-plan de l'objet de style Mapbox sera utilisé. Défini sur false
pour empêcher l'utilisation de l'arrière-plan du style Mapbox.
ClassName :
string
Un nom de classe CSS pour définir l'élément de calque.
désencombrement :
boolean
Images et texte de désencombrement. Le désencombrement est appliqué à tous les styles d'image et de texte de tous les couches vectorielles et vectortiles qui ont défini ceci sur true
. La priorité est définie par l'index z de la couche, le zIndex
du style et l'ordre des fonctionnalités de rendu. L'index Z plus élevé signifie une priorité plus élevée. Dans le même indice Z, une fonctionnalité rendue avant une autre a une priorité plus élevée.
Au fur et à mesure qu'une optimisation désentente les caractéristiques des couches avec le même className
sont rendues au-dessus des styles de remplissage et de trait de toutes ces couches, quel que soit le Z-Index. Pour vous retirer de ce comportement et placer les fonctionnalités de dénoncement avec leur propre couche, configurez le calque avec un className
autre que ol-layer
.
Étendue :
Extent
L'étendue limite pour le rendu de la couche. La couche ne sera pas rendue en dehors de cette étendue.
couches :
string
[]
Limiter le rendu à la liste des couches incluses. Toutes les couches doivent partager la même source vectorielle. Si votre style utilise plus d'une source, vous devez utiliser la propriété source
ou la propriété layers
pour limiter le rendu à une seule source vectorielle.
Carte :
Map
Définit le calque sous forme de superposition sur une carte. La carte ne gérera pas cette couche dans sa collection de couches, et la couche sera rendue sur le dessus. Ceci est utile pour les couches temporaires. La façon standard d'ajouter une couche à une carte et de le faire gérer par la carte est d'utiliser map.addLayer()
.
MAXRESOBLE :
number
La résolution maximale (exclusive) en dessous de laquelle cette couche sera visible. Si ni maxResolution
ni minZoom
ne sont définis, la maxResolution
du calque correspondra au minzoom
de la source de style.
Maxzoom :
number
Le niveau de zoom de vue maximale (inclus) auquel cette couche sera visible.
minResolution :
number
La résolution minimale (inclusive) à laquelle cette couche sera visible.
Minzoom :
number
Le niveau de zoom de vue minimale (exclusif) au-dessus de laquelle cette couche sera visible. Si ni maxResolution
ni minZoom
ne sont définies, le minZoom
du calque correspondra au minzoom
de la source de style.
Opacité :
number
Opacité (0, 1).
Précharge :
number
Précharge. Chargez des carreaux à basse résolution jusqu'aux niveaux preload
. 0
signifie aucune précharge.
Propriétés :
object
Propriétés observables arbitraires. Peut être accessible avec #get()
et #set()
.
RenderBuffer :
number
Le tampon dans les pixels autour de l'étendue des carreaux utilisés par le rendu lorsqu'il obtient des fonctionnalités de la tuile vectorielle pour le rendu ou la détection de hit. Valeur recommandée: les carreaux vectoriels sont généralement générés avec un tampon, donc cette valeur doit correspondre au plus grand tampon possible des carreaux utilisés. Il doit être au moins la taille du plus grand symbole de point ou de la largeur de ligne.
Rendermode :
VectorTileRenderType
Mode de rendu pour les tuiles vectorielles:
'hybrid'
: les éléments de polygone et de ligne sont rendus sous forme d'images, donc les pixels sont mis à l'échelle pendant les animations de zoom. Les symboles ponctuels et les textes sont rendus avec précision en tant que vecteurs et peuvent rester verticaux sur des vues tournées.'vector'
: Tout est rendu en tant que vecteurs. Utilisez ce mode pour améliorer les performances sur les couches de tuiles vectorielles avec seulement quelques fonctionnalités rendues (par exemple pour mettre en évidence un sous-ensemble de fonctionnalités d'une autre couche avec la même source). Render Ordre :
OrderFunction
Render l'ordre. Fonction à utiliser lors du tri des fonctionnalités avant le rendu. Par défaut, les fonctionnalités sont dessinées dans l'ordre où ils sont créés. Utilisez null
pour éviter le tri, mais obtenez un ordre de tirage non défini.
Source :
string
Si votre style utilise plus d'une source, vous devez utiliser la propriété source
ou la propriété layers
pour limiter le rendu à une seule source vectorielle. La propriété source
correspond à l'ID d'une source vectorielle dans votre style Mapbox.
styleurl :
string
L'URL de l'objet de style mapbox à utiliser pour ce calque. Pour un style créé avec Mapbox Studio et hébergé sur Mapbox, cela ressemblera à «Mapbox: // Styles / You / Your-Style».
Mise à jour whileanimation :
boolean
Lorsqu'ils sont définis sur true
, les lots de fonctions seront recréés lors des animations. Cela signifie qu'aucun vecteur ne sera affiché, mais le paramètre aura un impact sur les performances pour de grandes quantités de données vectorielles. Lorsqu'il est réglé sur false
, les lots seront recréés lorsqu'aucune animation n'est active.
Mise à jour pendant l'interaction :
boolean
Lorsqu'ils sont définis sur true
, les lots de fonctions seront recréés lors des interactions. Voir aussi updateWhileAnimating
.
use InterimtilesonError :
boolean
Utilisez des carreaux provisoires sur l'erreur.
Visible :
boolean
Visibilité.
zindex :
number
L'indice Z pour le rendu de couche. Au moment de rendu, les couches seront commandées, d'abord par Z-Index puis par position. Lorsqu'il undefined
, un zIndex
de 0 est supposé pour les couches qui sont ajoutées à la collection layers
de la carte, ou Infinity
lorsque la méthode setMap()
de la couche a été utilisée.
style OL-Mapbox • Docs
AccessToken :
string
Token d'accès pour les URL «Mapbox: //».
AccessTokenParam :
string
Param de jeton d'accès. Pour une utilisation interne.
getImage : (
arg0
,arg1
) =>string
|HTMLCanvasElement
|HTMLImageElement
Fonction qui renvoie une image pour un nom d'icône. Si le résultat est un HTMLIMageElement, il doit déjà être chargé. La couche peut être utilisée pour appeler la couche.changed () lorsque le chargement et le traitement de l'image ont terminé. Cette fonction est utilisée pour les icônes non dans le sprite ou pour remplacer les icônes de sprite.
VectorSource
Arg0 any
VectorLayer
any
VectorTileLayer
< VectorTile
any
, any
>
• Arg1 : string
string
| HTMLCanvasElement
| HTMLImageElement
projection :
string
Uniquement utile lorsque vous travaillez avec des projections non standard. Code d'une projection enregistrée auprès d'OpenLayers. Toutes les sources du style doivent être fournies dans cette projection. La projection doit également avoir une étendue valide définie, qui sera utilisée pour déterminer l'origine et les résolutions de la grille de carreaux pour toutes les sources carrelées du style. Lorsqu'elle est fournie, le Box Payholder dans les URL des carreaux et Geojson change: la valeur par défaut est {bbox-epsg-3857}
, lorsque la projection est définie sur EPSG:4326
, le Box Payholder sera {bbox-epsg-4326}
.
Résolutions :
number
[]
Uniquement utile lorsque vous travaillez avec des projections non standard. Résolutions pour le mappage de la résolution du zoom
utilisé dans le style Mapbox.
styleurl :
string
URL du style Mapbox GL. Requis pour les styles fournis comme objet, lorsqu'ils contiennent une URL de sprite relative, ou des sources faisant référence aux données par URL relative.
TransformRequest : (
arg0
,arg1
) =>string
|void
|Request
|Promise
<string
|Request
>
Fonction pour contrôler comment ol-mapbox-style
ressources. Peut être utilisé pour modifier l'URL, l'ajout d'en-têtes ou définir des options d'identification. Appelé avec l'URL et le type de ressource comme arguments, cette fonction est censée renvoyer une Request
ou une string
d'URL, ou une promesse tehereof. Sans valeur de retour, la demande d'origine ne sera pas modifiée.
• Arg0 : string
• Arg1 : ResourceType
string
| void
| Request
| Promise
< string
| Request
>
webfonts :
string
Modèle pour résoudre les webfonts. Peut être utilisé pour spécifier où récupérer les polices Web lorsqu'aucune métadonnée ol:webfonts
est définie dans l'objet de style. Voir getFonts()
et la section "Gestion des polices" dans README.md
pour plus de détails.
style OL-Mapbox • Docs
ResourceType <>:
"Style"
|"Source"
|"Sprite"
|"SpriteImage"
|"Tiles"
|"GeoJSON"
style OL-Mapbox • Docs
Les renommés et les réexports s'appliquent
style OL-Mapbox • Docs
import { MapboxVectorLayer } from 'ol-mapbox-style' ;
Une couche de tuile vectorielle basée sur un style de mapbox qui utilise une seule source vectorielle. Configurez le calque avec le styleUrl
et accessToken
illustré dans le panneau de partage de Mapbox Studio. Si le style utilise plus d'une source, utilisez la propriété source
pour choisir une seule source vectorielle. Si vous souhaitez rendre un sous-ensemble des couches dans le style, utilisez la propriété layers
(toutes les couches doivent partager la même source vectorielle). Voir les options de constructeur pour plus de détails.
const map = new Map({
view: new View({
center: [0, 0],
zoom: 1,
}),
layers: [
new MapboxVectorLayer({
styleUrl: 'mapbox://styles/mapbox/bright-v9',
accessToken: 'your-mapbox-access-token-here',
}),
],
target: 'map',
});
Lors de l'erreur de configuration ou de chargement, le calque déclenchera un événement 'error'
. Les auditeurs recevront un objet avec une propriété error
qui peut être utilisée pour diagnostiquer le problème.
Remarque pour les utilisateurs de la version complète : le MapboxVectorLayer
nécessite également la bibliothèque de style OL-Mapbox.
Options.
Module: OL / Événements / événement ~ Baseevent # Event: Erreur
VectorTileLayer
Nouveau MapBoxVectorLayer (
options
):MapboxVectorLayer
• Options : Options
Options de calque. Au minimum, styleUrl
et accessToken
doivent être fournis.
MapboxVectorLayer
VectorTileLayer.constructor
AccessToken :
string
style OL-Mapbox • Docs
addmapboxlayer (
mapOrGroup
,mapboxLayer
,beforeLayerId
?):Promise
void
Ajoutez un nouvel objet de calque Mapbox au style. La carte sera renvoyée.
• MaporGroup : Map
| LayerGroup
La carte ou la apply
de couche a été appelée.
• mapboxlayer : any
Objet Mapbox Layer.
• BeforeLayerid? : string
ID facultatif de la couche Mapbox avant le nouveau calque qui sera ajouté.
Promise
void
Se résout lorsque la couche ajoutée est disponible.
style OL-Mapbox • Docs
Appliquer (
mapOrGroupOrElement
,style
,options
):Promise
<Map
|LayerGroup
>
Charge et applique un objet de style Mapbox dans une carte ou couche OpenLayers. Cela inclut l'arrière-plan de la carte, les couches et pour les instances de carte qui n'avaient pas encore de vue définie encore le centre et le zoom.
Exemple:
import apply from 'ol-mapbox-style' ;
apply ( 'map' , 'mapbox://styles/mapbox/bright-v9' , { accessToken : 'YOUR_MAPBOX_TOKEN' } ) ;
Le centre et le zoom ne seront définis que s'ils sont présents dans le document de style Mapbox, et s'il n'est pas déjà défini sur la carte OpenLayers.
Des couches seront ajoutées à la carte OpenLayers, sans affecter de couches qui pourraient déjà être définies sur la carte.
Les couches ajoutées par apply()
auront deux propriétés supplémentaires:
mapbox-source
: L' id
de la source du document de style Mapbox à partir de laquelle le calque OpenLayers a été créé. Habituellement, apply()
crée un calque OpenLayers par source de style mapbox, à moins que la pile de calques dispose de couches de différentes sources entre les deux.mapbox-layers
: L' id
S des calques du document de style Mapbox qui sont inclus dans le calque OpenLayers. Cette fonction définit une propriété mapbox-style
supplémentaire sur la carte OpenLayers ou l'instance LayerGroup, qui contient l'objet de style Mapbox.
• MaporGroupOreElement : string
| Map
| LayerGroup
| HTMLElement
Soit une instance de carte OpenLayers existante, soit un élément HTML, soit l'ID d'un élément HTML qui sera la cible d'une nouvelle carte OpenLayers ou d'un groupe de couche. Si le groupe de calques, les styles relâchés à la carte et à la vue seront ignorés.
• Style : any
URL d'objet de style JSON ou de style pointant vers un objet de style Mapbox. Lorsque vous utilisez des API Mapbox, l'URL est le styleUrl
illustré dans le panneau "Share" de Mapbox Studio. De plus, l'option accessToken
(voir ci-dessous) doit être définie. Lorsqu'elles sont passées en tant qu'objet de style JSON, toutes les couches OpenLayers créées par apply()
seront immédiatement disponibles, mais ils n'ont peut-être pas encore de source (c'est-à-dire lorsqu'ils sont définis par une URL Tilejson dans le document de style Mapbox). Lorsqu'ils sont passés comme URL de style, des calques seront ajoutés à la carte lorsque le document de style Mapbox est chargé et analysé.
• Options : Options
= {}
Options.
Promise
< Map
| LayerGroup
>
Une promesse qui résout une fois que toutes les couches ont été ajoutées à l'instance de carte OpenLayers ou à LayerGroup, à leur ensemble de sources et à leurs styles appliqués. Le rappel resolve
sera appelé avec l'instance de carte OpenLayers ou LayerGroup comme argument.
style OL-Mapbox • Docs
ApplicationBackground (
mapOrLayer
,glStyle
,options
):Promise
<any
Applique les propriétés de la première couche background
du style mapbox à la carte ou une couche fournie (groupe).
Exemple:
import { applyBackground } from 'ol-mapbox-style' ;
import { Map } from 'ol' ;
const map = new Map ( { target : 'map' } ) ;
applyBackground ( map , 'https://api.maptiler.com/maps/basic/style.json?key=YOUR_OPENMAPTILES_TOKEN' ) ;
• Maporlayer : Map
| BaseLayer
Carte ou calque OpenLayers (groupe).
• Glstyle : any
Objet de style Mapbox ou URL.
• Options : Options
= {}
Options.
Promise
< any
Promettez qui résout lorsque l'arrière-plan est appliqué.
style OL-Mapbox • Docs
AppliquerStyle (
layer
,glStyle
,sourceOrLayersOrOptions
?,optionsOrPath
?,resolutions
?):Promise
any
Applique une fonction de style à un ol/layer/VectorTile
ou ol/layer/Vector
avec un ol/source/VectorTile
ou un ol/source/Vector
. Si la couche n'a pas encore de source, elle sera créée et remplie à partir des informations du glStyle
(à moins que updateSource
ne soient définies sur false
).
Exemple:
import { applyStyle } from 'ol-mapbox-style' ;
import { VectorTile } from 'ol/layer.js' ;
const layer = new VectorTile ( { declutter : true } ) ;
applyStyle ( layer , 'https://api.maptiler.com/maps/basic/style.json?key=YOUR_OPENMAPTILES_TOKEN' ) ;
La fonction de style rendra toutes les couches de l'objet glStyle
qui utilisent la source de la première couche, la source
spécifiée ou un sous-ensemble de couches de la même source. La source doit être une source "type": "vector"
ou "type": "geojson"
.
Deux propriétés supplémentaires seront définies sur la couche fournie:
mapbox-source
: L' id
de la source du document de style Mapbox à partir de laquelle le calque OpenLayers a été créé. Habituellement, apply()
crée un calque OpenLayers par source de style mapbox, à moins que la pile de calques dispose de couches de différentes sources entre les deux.mapbox-layers
: L' id
S des calques du document de style Mapbox qui sont inclus dans le calque OpenLayers. • Couche : VectorLayer
< VectorSource
any
, any
> | VectorTileLayer
< VectorTile
any
, any
>
Couche OpenLayers. Lorsque la couche a une source configurée, elle sera modifiée pour utiliser la configuration à partir de la source
de Glstyle. Les options spécifiées sur la source de la couche remplaceront celles de la source
de Glstyle, à l'exception de url
et tileUrlFunction
. Lorsque la projection source est la valeur par défaut ( EPSG:3857
), la tileGrid
sera également remplacée. Si vous préférez ne pas avoir de style OL-MapBox, modifiez la source, configurez applyStyle()
avec l'option updateSource: false
.
• Glstyle : any
Objet de style Mapbox.
• SourceOrLayersorOptions? : string
| string
[] | Options
et ApplyStyleOptions
= ''
Options ou touche source
ou un tableau d' id
de calque à partir de l'objet de style Mapbox. Lorsqu'une clé source
est fournie, toutes les couches de la source spécifiée seront incluses dans la fonction de style. Lorsque id
de calque sont fournis, ils doivent provenir de couches qui utilisent la même source. Lorsqu'il n'est pas fourni ou une valeur de mensonge, toutes les couches utilisant la première source spécifiée dans le GlStyle seront rendues.
• OptionsorPath? : string
| Options
et ApplyStyleOptions
= {}
Déprécié . Options. Alternativement, le chemin du fichier de style (uniquement requis lorsqu'un chemin relatif est utilisé pour la propriété "sprite"
du style).
• Resolutions? : number
[] = undefined
Déprécié . Résolutions pour la cartographie de la résolution au niveau du zoom. Uniquement nécessaire lorsque vous travaillez avec des grilles ou des projections de carreaux non standard, peut également être fourni avec des options.
Promise
< any
Promesse qui sera résolue lorsque le style peut être utilisé pour le rendu.
style OL-Mapbox • Docs
getFeArestate (
mapOrLayer
,feature
):any
Définit ou supprime un état de fonctionnalité. L'état de fonctionnalité est pris en compte pour le style, tout comme les propriétés de la fonctionnalité, et peut être utilisé, par exemple pour rendre conditionnellement les fonctionnalités sélectionnées différemment.
• Maporlayer : Map
| VectorLayer
< VectorSource
any
, any
> | VectorTileLayer
< VectorTile
any
, any
>
Carte ou calque pour définir l'état de fonction.
• Caractéristique : FeatureIdentifier
Identifiant de fonctionnalité.
any
État de fonctionnalité ou null
Lorsqu'aucun état de fonctionnalité n'est défini pour l'identifiant de fonctionnalité donné.
style OL-Mapbox • Docs
getLaYer (
map
,layerId
):Layer
<Source
,LayerRenderer
any
>
Obtenez l'instance de couche OpenLayers qui contient le layer
de style Mapbox fourni. Notez que plusieurs calques de style Mapbox sont combinés dans une seule instance de couche OpenLayers lorsqu'ils utilisent la même source
de style Mapbox.
• Carte : Map
| LayerGroup
Carte OpenLayers ou LayerGroup.
• coucherid : string
ID de calque de style mapbox.
Layer
< Source
, LayerRenderer
any
>
Instance de couche OpenLayers.
style OL-Mapbox • Docs
getLayers (
map
,sourceId
):Layer
<Source
,LayerRenderer
any
> []
Obtenez les instances de couche OpenLayers pour la source
de style Mapbox fournie.
• Carte : Map
| LayerGroup
Carte OpenLayers ou LayerGroup.
• SourceID : string
ID de source de style Mapbox.
Layer
< Source
, LayerRenderer
any
> []
Instances de calque OpenLayers.
style OL-Mapbox • Docs
getmapboxlayer (
mapOrGroup
,layerId
):any
Obtenez l'objet Mapbox Layer pour la layerId
fournie.
• MaporGroup : Map
| LayerGroup
Map ou couche de couche.
• coucherid : string
ID de couche Mapbox.
any
Objet Mapbox Layer.
style OL-Mapbox • Docs
getSource (
map
,sourceId
):Source
Obtenez l'instance Source OpenLayers pour la source
de style Mapbox fournie.
• Carte : Map
| LayerGroup
Carte OpenLayers ou LayerGroup.
• SourceID : string
ID de source de style Mapbox.
Source
Instance source OpenLayers.
style OL-Mapbox • Docs
getSTyleForLAyer (
feature
,resolution
,olLayer
,layerId
):Style
[]
Obtenez le style d'un calque de mapbox spécifique uniquement. Cela peut être utile pour créer une légende.
• Caractéristique : RenderFeature
| Feature
< Geometry
>
Fonctionnalité OpenLayers.
• Résolution : number
Voir la résolution.
• OLLERYER : VectorLayer
< VectorSource
any
, any
> | VectorTileLayer
< VectorTile
any
, any
>
Couche OpenLayers.
• coucherid : string
ID de la couche Mapbox pour obtenir le style pour
Style
[]
Styles pour le calque Mapbox fourni.
style OL-Mapbox • Docs
RecordStyLeryer (
record
):void
Allume et désactiver l'enregistrement de la layer
de style mapbox. Lorsqu'il est allumé, la couche à laquelle appartient une fonctionnalité renvoyée sera définie comme la propriété mapbox-layer
de la fonctionnalité.
• Enregistrer : boolean
= false
L'enregistrement de la couche de style est activé.
void
style OL-Mapbox • Docs
RemoveMapBoxlayer (
mapOrGroup
,mapboxLayerIdOrLayer
):void
Supprimez un objet de calque Mapbox du style. La carte sera renvoyée.
• MaporGroup : Map
| LayerGroup
La carte ou la apply
de couche a été appelée.
• mapboxLayeridorLayer : any
ID de calque Mapbox ou couche Mapbox.
void
style OL-Mapbox • Docs
RenderTransparent (
enabled
):void
Configurez si les fonctionnalités avec un style transparent doivent être rendues. Lorsqu'il est défini sur true
, il sera possible de frapper de détection de contenu qui n'est pas visible, comme des remplissages transparents des polygones, en utilisant ol/layer/Layer#getFeatures()
ou ol/Map#getFeaturesAtPixel()
• Activé : boolean
Le rendu des éléments transparents est activé. La valeur par défaut est false
.
void
style OL-Mapbox • Docs
setFeArestate (
mapOrLayer
,feature
,state
):void
Définit ou supprime un état de fonctionnalité. L'état de fonctionnalité est pris en compte pour le style, tout comme les propriétés de la fonctionnalité, et peut être utilisé, par exemple pour rendre conditionnellement les fonctionnalités sélectionnées différemment.
L'état de fonctionnalité sera stocké sur la couche OpenLayers correspondant à l'identifiant de fonctionnalité, dans la propriété mapbox-featurestate
.
• Maporlayer : Map
| VectorLayer
< VectorSource
any
, any
> | VectorTileLayer
< VectorTile
any
, any
>
OpenLayers MAP OU CLACER pour définir l'état de la fonctionnalité.
• Caractéristique : FeatureIdentifier
Identifiant de fonctionnalité.
• État : any
État de fonctionnalité. Réglé sur null
pour supprimer l'état de fonctionnalité.
void
style OL-Mapbox • Docs
StyleFunction (
olLayer
,glStyle
,sourceOrLayers
,resolutions
,spriteData
,spriteImageUrl
,getFonts
,getImage
?, ...args
?):StyleFunction
Crée une fonction de style à partir de l'objet glStyle
pour toutes les couches qui utilisent la source
spécifiée, qui doit être une source "type": "vector"
ou "type": "geojson"
et l'applique à la couche OpenLayers spécifiée.
Deux propriétés supplémentaires seront définies sur la couche fournie:
mapbox-source
: L' id
de la source du document de style Mapbox à partir de laquelle le calque OpenLayers a été créé. Habituellement, apply()
crée un calque OpenLayers par source de style mapbox, à moins que la pile de calques dispose de couches de différentes sources entre les deux.mapbox-layers
: L' id
S des calques du document de style Mapbox qui sont inclus dans le calque OpenLayers.Cette fonction fonctionne également chez un travailleur Web. En mode travailleur, le thread principal doit écouter les messages du travailleur et répondre avec un autre message pour s'assurer que le chargement de l'image sprite fonctionne:
worker . addEventListener ( 'message' , event => {
if ( event . data . action === 'loadImage' ) {
const image = new Image ( ) ;
image . crossOrigin = 'anonymous' ;
image . addEventListener ( 'load' , function ( ) {
createImageBitmap ( image , 0 , 0 , image . width , image . height ) . then ( imageBitmap => {
worker . postMessage ( {
action : 'imageLoaded' ,
image : imageBitmap ,
src : event . data . src
} , [ imageBitmap ] ) ;
} ) ;
} ) ;
image . src = event . data . src ;
}
} ) ;
• OLLERYER : VectorLayer
< VectorSource
any
, any
> | VectorTileLayer
< VectorTile
any
, any
>
OpenLayers Layer pour appliquer le style. En plus du style, le calque obtiendra deux propriétés: mapbox-source
sera l' id
de la source de glStyle
utilisée pour le calque, et mapbox-layers
seront un tableau des id
des couches de glStyle
.
• Glstyle : any
Objet de style Mapbox.
• SourceOrlayers : string
| string
[]
Clé source
ou un tableau d' id
de calque à partir de l'objet de style Mapbox. Lorsqu'une clé source
est fournie, toutes les couches de la source spécifiée seront incluses dans la fonction de style. Lorsque id
de calque sont fournis, ils doivent provenir de couches qui utilisent la même source.
• Résolutions : number
[] = defaultResolutions
Résolutions pour la cartographie de la résolution au niveau du zoom.
• Spritata : any
= undefined
Sprite Données de l'URL spécifiées dans la propriété sprite
de l'objet Mapbox Style. Seule requis si une propriété sprite
est spécifiée dans l'objet de style Mapbox.
• SpriteImageUrl : string
| Request
| Promise
< string
| Request
> = undefined
URL d'image de sprite pour le sprite spécifié dans la propriété sprite
de l'objet de style mapbox. Seule requis si une propriété sprite
est spécifiée dans l'objet de style Mapbox.
• getFonts = undefined
Fonction qui reçoit une pile de polices et le modèle URL de la propriété metadata['ol:webfonts']
du style GL (si défini) comme arguments, et renvoie une pile de police (modifiée) disponible. Les noms de police sont les noms utilisés dans l'objet de style Mapbox. Si ce n'est pas fourni, la pile de polices sera utilisée tel quel. Cette fonction peut également être utilisée pour charger des polices Web.
• getImage? = undefined
Fonction qui renvoie une image ou une URL pour un nom d'image. Si le résultat est un HTMLIMageElement, il doit déjà être chargé. La couche peut être utilisée pour appeler la couche.changed () lorsque le chargement et le traitement de l'image ont terminé. Cette fonction peut être utilisée pour les icônes non dans le sprite ou pour remplacer les icônes de sprite.
• ... Args? : any
StyleFunction
Fonction de style à utiliser dans ol.layer.Vector
ou ol.layer.VectorTile
.
style OL-Mapbox • Docs
UpdateMapBoxlayer (
mapOrGroup
,mapboxLayer
):void
Mettez à jour un objet de calque Mapbox dans le style. La carte sera renvoyée avec le nouveau style.
• MaporGroup : Map
| LayerGroup
La carte ou la apply
de couche a été appelée.
• mapboxlayer : any
Objet de calque Mapbox mis à jour.
void
style OL-Mapbox • Docs
UpdateMapBoxSource (
mapOrGroup
,id
,mapboxSource
):Promise
Source
Met à jour un objet source mapbox dans le style. La source Selon OpenLayers sera remplacée et la carte sera renvoyée.
• MaporGroup : Map
| LayerGroup
La carte ou la apply
de couche a été appelée.
• ID : string
Clé de la source dans les sources
objet littéral.
• mapboxsource : any
Objet source mapbox.
Promise
Source
Promettez qui résout lorsque la source a été mise à jour.