Criar mapas de OpenLayers a partir de objetos de especificação do estilo MapBox.
Tenha uma impressão do que esta biblioteca faz explorando os exemplos ao vivo.
Para usar a biblioteca em um aplicativo com um ambiente de dev baseado em NPM, instale -o com
npm install ol-mapbox-style
Quando instalado dessa maneira, basta importar o módulo de estilo OL-mapbox, como no exemplo de uso abaixo. Para usar uma construção independente do estilo OL-mapbox, inclua 'Dist/olms.js' na sua página HTML e acesse as funções exportadas do objeto global olms
(por exemplo, olms.apply()
, olms.applyBackground()
) . Observe que a construção independente depende da construção completa dos OpenLayers.
estilo OL-mapbox> = V9 requer versão do OpenLayers> = 7 .
O V8 no estilo OL-Mapbox requer versão do OpenLayers> = 6.13.0 <7 .
Consulte a seção API para obter a documentação completa.
O código abaixo cria um mapa do OpenLayers do estilo Bright V9 do MapBox, usando um https://
url:
import { apply } from 'ol-mapbox-style' ;
apply ( 'map' , 'https://api.mapbox.com/styles/v1/mapbox/bright-v9?access_token=YOUR_MAPBOX_TOKEN' ) ;
Para atribuir estilo e origem apenas a uma camada, use applyStyle()
. mapbox://
URLs também são suportados:
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' } ) ;
Para aplicar as propriedades da camada de background
do estilo Mapbox ao mapa ou de uma camada VectorTile
, use a função applyBackground()
.
Há também uma API de baixo nível disponível. Para criar uma função de estilo para camadas individuais de ladrilhos de vetores ou vetores, use o módulo de 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' ) ;
} ) ;
} ) ;
Observe que esta API de baixo nível não cria uma fonte para a camada, e é necessário um trabalho extra para configurar o manuseio de sprite para estilos que usam ícones.
ol-mapbox-style
não pode usar os glifos PBF/SDF para propriedade de layout text-font
, conforme definido na especificação do estilo Mapbox. Em vez disso, depende de fontes da web. A propriedade ol:webfonts
Metadata pode ser definida na raiz do objeto Style para especificar um local para webfonts, por exemplo,
{
"version" : 8 ,
"metadata" : {
"ol:webfonts" : "https://my.server/fonts/{font-family}/{fontweight}{-fontstyle}.css"
}
// ...
}
Como alternativa, a opção webfonts
das funções apply()
ou applyStyle()
pode ser usada.
Os seguintes espaços reservados podem ser usados no URL do modelo:
{font-family}
: Família de fonte CSS convertida em minúsculas, em branco substituídos por-, por exemplo, noto-sans{Font+Family}
: família de fontes css no caso original, em branco substituídos por+, por exemplo, noto+sans{fontweight}
: CSS Fonte Peso (numérico), por exemplo, 400, 700{fontstyle}
: estilo de fonte CSS, por exemplo, normal, itálico{-fontstyle}
: estilo de fonte CSS diferente do normal, por exemplo, string de italic ou vazia para o normal Se nenhuma propriedade metadata['ol:webfonts']
estiver disponível no objeto Style, serão usadas fontes do fontsource. Também é possível que o aplicativo carregue outras fontes, usando CSS. Se uma fonte já estiver disponível no navegador, ol-mapbox-style
não a carregará.
Devido a essa diferença, a pilha de fontes é tratada um pouco diferente da definida na especificação: estilo e peso são retirados da fonte primária (ou seja, a primeira na pilha de fontes). As fontes subsequentes na pilha de fontes são usadas apenas se a fonte primária não estiver disponível/carregada, e elas serão usadas com o estilo e o peso da fonte primária.
npm run build
Os arquivos de distribuição resultantes estarão na pasta dist/
. Para ver a biblioteca em ação, navegue para dist/index.html
.
Para executar o teste localmente, execute
npm test
Para testes de depuração no navegador, execute
npm run karma
e abra um navegador no host e porta indicado na saída do console (geralmente http: // localhost: 9876/) e clique no botão 'Debug' para acessar o ambiente de depuração.
estilo OL-mapbox • Docs
estilo OL-mapbox • Docs
Camadas :
string
[]
Camadas. Se nenhuma fonte for fornecida, as camadas com os IDs fornecidas serão usadas na matriz de layers
do estilo. Todas as camadas precisam usar a mesma fonte.
Fonte :
string
Fonte. O padrão é ''
, que faz com que a primeira fonte no estilo seja usada.
UpdateSource :
boolean
Atualize ou crie a fonte da camada vetorial (ladrilho) com parâmetros especificados para a fonte na definição do estilo Mapbox.
estilo OL-mapbox • Docs
ID :
string
|number
O ID do recurso.
Fonte :
string
O ID de origem.
estilo OL-mapbox • Docs
AccessToken :
string
O token de acesso para o seu estilo Mapbox. Isso deve ser fornecido para mapbox://
URLs de estilo. Para https://
e outros URLs, qualquer chave de acesso deve ser o último parâmetro de consulta do URL do estilo.
Antecedentes :
false
|BackgroundColor
Cor de fundo para a camada. Se não for especificado, o plano de fundo do objeto de estilo Mapbox será usado. Defina como false
para impedir que o fundo do estilo Mapbox seja usado.
ClassName :
string
Um nome de classe CSS para definir para o elemento da camada.
Organize :
boolean
Organize imagens e texto. A organização é aplicada a todos os estilos de imagem e texto de todas as camadas de vetor e vetortil que o definiram como true
. A prioridade é definida pelo índice Z da camada, pelo zIndex
do estilo e pela ordem dos recursos de renderização. Index z mais alto significa maior prioridade. No mesmo Z-Index, um recurso renderizado antes de outro tem uma prioridade mais alta.
Como uma otimização, os recursos organizados de camadas com o mesmo className
são renderizados acima dos estilos de preenchimento e acidente vascular cerebral de todas essas camadas, independentemente do índice z. Para optar por não participar desse comportamento e colocar os recursos da Declutterd com sua própria camada, configure a camada com um className
que não seja ol-layer
.
extensão :
Extent
A extensão delimitadora para renderização de camadas. A camada não será renderizada fora desta extensão.
Camadas :
string
[]
Limite a renderização para a lista de camadas incluídas. Todas as camadas devem compartilhar a mesma fonte de vetor. Se o seu estilo usar mais de uma fonte, você precisará usar a propriedade source
ou a propriedade layers
para limitar a renderização a uma única fonte de vetor.
Mapa :
Map
Define a camada como sobreposição em um mapa. O mapa não gerenciará essa camada em sua coleção de camadas e a camada será renderizada no topo. Isso é útil para camadas temporárias. A maneira padrão de adicionar uma camada a um mapa e gerenciá -lo pelo mapa é usar map.addLayer()
.
MaxResolution :
number
A resolução máxima (exclusiva) abaixo da qual essa camada será visível. Se nem maxResolution
nem minZoom
forem definidos, a maxResolution
da camada corresponderá ao minzoom
da fonte do estilo.
Maxzoom :
number
O nível máximo de zoom de visão (inclusive) no qual essa camada será visível.
MinResolution :
number
A resolução mínima (inclusiva) na qual essa camada será visível.
MinZoom :
number
O nível mínimo de zoom de exibição (exclusivo) acima da qual essa camada será visível. Se nem maxResolution
nem minZoom
estiverem definidos, o minZoom
da camada corresponderá ao minzoom
da fonte do estilo.
Opacidade :
number
Opacidade (0, 1).
pré -carga :
number
Pré -carga. Carregue ladrilhos de baixa resolução até os níveis preload
. 0
significa que não há pré -carregamento.
Propriedades :
object
Propriedades observáveis arbitrárias. Pode ser acessado com #get()
e #set()
.
renderbuffer :
number
O buffer em pixels em torno da extensão do ladrilho usada pelo renderizador ao obter recursos do ladrilho vetorial para a renderização ou detecção de acertos. Valor recomendado: os ladrilhos de vetores geralmente são gerados com um buffer; portanto, esse valor deve corresponder ao maior tampão possível dos ladrilhos usados. Deve ser pelo menos o tamanho do maior símbolo de ponto ou largura da linha.
Rendermode :
VectorTileRenderType
Modo de renderização para ladrilhos de vetores:
'hybrid'
: os elementos de polígono e linha são renderizados como imagens, para que os pixels sejam escalados durante as animações do Zoom. Os símbolos e textos pontuais são renderizados com precisão como vetores e podem permanecer na posição vertical em vistas giradas.'vector'
: tudo é renderizado como vetores. Use este modo para melhorar o desempenho em camadas de ladrilhos vetoriais com apenas alguns recursos renderizados (por exemplo, para destacar um subconjunto de recursos de outra camada com a mesma fonte). RenderOrder :
OrderFunction
Renderizar ordem. Função a ser usada ao classificar os recursos antes da renderização. Por padrão, os recursos são desenhados na ordem em que são criados. Use null
para evitar o tipo, mas obtenha uma ordem de desenho indefinida.
Fonte :
string
Se o seu estilo usar mais de uma fonte, você precisará usar a propriedade source
ou a propriedade layers
para limitar a renderização a uma única fonte de vetor. A propriedade source
corresponde ao ID de uma fonte vetorial no seu estilo Mapbox.
styleurl :
string
O URL do objeto de estilo Mapbox a ser usado para esta camada. Para um estilo criado com o MapBox Studio e hospedado no MapBox, isso será como 'MapBox: // Styles/You/Your-Style'.
UpdateWhileaniming :
boolean
Quando definido como true
, os lotes de recursos serão recriados durante as animações. Isso significa que nenhum vetores será mostrado cortada, mas a configuração terá um impacto de desempenho para grandes quantidades de dados vetoriais. Quando definido como false
, os lotes serão recriados quando nenhuma animação estiver ativa.
UpdateWhileInteracting :
boolean
Quando definido como true
, os lotes dos recursos serão recriados durante as interações. Veja também updateWhileAnimating
.
useInteImtilileSonerror :
boolean
Use ladrilhos intermediários em erro.
Visível :
boolean
Visibilidade.
Zindex :
number
O índice z para renderização de camadas. No momento da renderização, as camadas serão encomendadas, primeiro pelo Z-Index e depois por posição. Quando undefined
, um zIndex
de 0 é assumido para camadas que são adicionadas à coleção layers
do mapa, ou Infinity
quando o método setMap()
da camada foi usado.
estilo OL-mapbox • Docs
AccessToken :
string
Acesso Token para 'MapBox: //' URLs.
AccessTokenParam :
string
Acesso Token Param. Para uso interno.
getImage : (
arg0
,arg1
) =>string
|HTMLCanvasElement
|HTMLImageElement
Função que retorna uma imagem para um nome de ícone. Se o resultado for um HTMLIMAGEELEMENT, ele já deve ser carregado. A camada pode ser usada para chamar a camada.Changed () quando o carregamento e o processamento da imagem terminarem. Esta função é usada para ícones não no sprite ou para substituir os ícones de sprite.
• ARG0 : VectorLayer
< VectorSource
any
, any
> | VectorTileLayer
< VectorTile
any
, any
>
• Arg1 : string
string
| HTMLCanvasElement
| HTMLImageElement
Projeção :
string
Somente útil ao trabalhar com projeções não padrão. Código de uma projeção registrada no OpenLayers. Todas as fontes do estilo devem ser fornecidas nesta projeção. A projeção também deve ter uma extensão válida definida, que será usada para determinar a origem e as resoluções da grade de ladrilhos para todas as fontes de azulejos do estilo. Quando fornecido, o espaço reservado Bbox em Tile e Geojson URLs muda: o padrão é {bbox-epsg-3857}
, quando a projeção é, por exemplo, definida como EPSG:4326
, o espaço reservado Bbox será {bbox-epsg-4326}
.
Resoluções :
number
[]
Somente útil ao trabalhar com projeções não padrão. Resoluções para mapear a resolução para o zoom
usado no estilo Mapbox.
styleurl :
string
URL do estilo Mapbox GL. Necessário para estilos que foram fornecidos como objeto, quando eles contêm um URL de sprite relativo ou fontes que referenciam dados por URL relativo.
TransformRequest : (
arg0
,arg1
) =>string
|void
|Request
|Promise
<string
|Request
>
Função para controlar como ol-mapbox-style
busca recursos. Pode ser usado para modificar o URL, adicionar cabeçalhos ou definir opções de credenciais. Chamado com o URL e o tipo de recurso como argumentos, essa função deve retornar uma Request
ou uma string
de URL ou uma promessa. Sem um valor de retorno, a solicitação original não será modificada.
• Arg0 : string
• Arg1 : ResourceType
string
| void
| Request
| Promise
< string
| Request
>
webfonts :
string
Modelo para resolver webfonts. Pode ser usado para especificar onde buscar fontes da web quando os metadados do ol:webfonts
são definidos no objeto Style. Consulte getFonts()
e a seção "Manuseio de fontes" no README.md
para obter detalhes.
estilo OL-mapbox • Docs
ResourceType <>:
"Style"
|"Source"
|"Sprite"
|"SpriteImage"
|"Tiles"
|"GeoJSON"
estilo OL-mapbox • Docs
Renomear e reexportos se aplicam
estilo OL-mapbox • Docs
import { MapboxVectorLayer } from 'ol-mapbox-style' ;
Uma camada de ladrilhos vetoriais com base em um estilo MapBox que usa uma única fonte de vetor. Configure a camada com o styleUrl
e accessToken
mostrado no painel de compartilhamento do MapBox Studio. Se o estilo usar mais de uma fonte, use a propriedade source
para escolher uma única fonte de vetor. Se você deseja renderizar um subconjunto das camadas no estilo, use a propriedade layers
(todas as camadas devem compartilhar a mesma fonte de vetor). Consulte as opções do construtor para obter mais detalhes.
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',
});
Na configuração ou erro de carregamento, a camada acionará um evento 'error'
. Os ouvintes receberão um objeto com uma propriedade error
que pode ser usada para diagnosticar o problema.
Nota para os usuários da compilação completa : o MapboxVectorLayer
exige que a biblioteca no estilo OL-Mapbox também seja carregada.
Opções.
Módulo: OL/Events/Event ~ BaseEvent#Evento: Erro
VectorTileLayer
Novo MapBoxVectorLayer (
options
):MapboxVectorLayer
• Opções : Options
Opções de camada. No mínimo, styleUrl
e accessToken
devem ser fornecidos.
MapboxVectorLayer
VectorTileLayer.constructor
AccessToken :
string
estilo OL-mapbox • Docs
addMapBoxlayer (
mapOrGroup
,mapboxLayer
,beforeLayerId
?):Promise
void
Adicione um novo objeto de camada MapBox ao estilo. O mapa será renderizado novamente.
• MaporGroup : Map
| LayerGroup
O mapa ou apply
do grupo de camadas foi chamado.
• MapBoxlayer : any
Objeto da camada MapBox.
• BeforeLayerid? : string
ID opcional da camada Mapbox antes da nova camada que será adicionada.
Promise
void
Resolve quando a camada adicionada está disponível.
estilo OL-mapbox • Docs
Aplicar (
mapOrGroupOrElement
,style
,options
):Promise
<Map
|LayerGroup
>
Carre e aplica um objeto de estilo MapBox em um mapa ou grupo de camadas do OpenLayers. Isso inclui o fundo do mapa, as camadas e as instâncias do mapa que não possuíam uma visão definida, mas também o centro e o zoom.
Exemplo:
import apply from 'ol-mapbox-style' ;
apply ( 'map' , 'mapbox://styles/mapbox/bright-v9' , { accessToken : 'YOUR_MAPBOX_TOKEN' } ) ;
O centro e o zoom serão definidos apenas se presentes no documento do estilo Mapbox e, se ainda não estiverem definidos no mapa do OpenLayers.
As camadas serão adicionadas ao mapa do OpenLayers, sem afetar nenhuma camada que já possa ser definida no mapa.
As camadas adicionadas pelo apply()
terão duas propriedades adicionais:
mapbox-source
: O id
da fonte do documento do estilo Mapbox, da qual a camada OpenLayers foi criada. Geralmente apply()
cria uma camada de um dos players do OpenLayers por fonte do estilo Mapbox, a menos que a pilha de camadas tenha camadas de diferentes fontes intermediárias.mapbox-layers
: os id
das camadas do documento do estilo Mapbox incluídas na camada OpenLayers. Esta função define uma propriedade adicional mapbox-style
no mapa do OpenLayers ou na instância do grupo de camadas, que contém o objeto de estilo MapBox.
• MAORGRouPORELEMENT : string
| Map
| LayerGroup
| HTMLElement
Uma instância do mapa do OpenLayers existente ou um elemento HTML ou o ID de um elemento HTML que será o alvo de um novo mapa do OpenLayers ou um grupo de camadas. Se o grupo de camadas, os estilos relatados para o mapa e a visualização serão ignorados.
• Estilo : any
JSON Style Object ou Style URL apontando para um objeto de estilo MapBox. Ao usar as APIs do MapBox, o URL é o styleUrl
mostrado no painel "compartilhamento" do MapBox Studio. Além disso, a opção accessToken
(veja abaixo) deve ser definida. Quando aprovados como objeto de estilo JSON, todas as camadas do OpenLayers criadas pelo apply()
estarão disponíveis imediatamente, mas elas podem ainda não ter uma fonte (ou seja, quando são definidas por um URL do Tilejson no documento do estilo Mapbox). Quando passados como URL de estilo, as camadas serão adicionadas ao mapa quando o documento do estilo Mapbox for carregado e analisado.
• Opções : Options
= {}
Opções.
Promise
< Map
| LayerGroup
>
Uma promessa que resolve depois que todas as camadas foram adicionadas à instância ou grupo de camadas do OpenLayers, suas fontes definidas e seus estilos aplicados. O retorno de chamada resolve
será chamado com a instância do mapa OpenLayers ou o grupo de camadas como argumento.
estilo OL-mapbox • Docs
Applbackground (
mapOrLayer
,glStyle
,options
):Promise
any
Aplica propriedades da primeira camada background
do estilo Mapbox ao mapa ou camada fornecida (grupo).
Exemplo:
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
OpenLayers mapear ou camada (grupo).
• GlStyle : any
Objeto de estilo Mapbox ou URL.
• Opções : Options
= {}
Opções.
Promise
any
Promessa que resolve quando o plano de fundo é aplicado.
estilo OL-mapbox • Docs
APLATSTYLE (
layer
,glStyle
,sourceOrLayersOrOptions
?,optionsOrPath
?,resolutions
?):Promise
any
Aplica uma função de estilo a um ol/layer/VectorTile
ou ol/layer/Vector
com um ol/source/VectorTile
ou um ol/source/Vector
. Se a camada ainda não tiver uma fonte, ela será criada e preenchida a partir das informações no glStyle
(a menos que updateSource
esteja definido como false
).
Exemplo:
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' ) ;
A função de estilo renderizará todas as camadas do objeto glStyle
que usam a fonte da primeira camada, a source
especificada ou um subconjunto de camadas da mesma fonte. A fonte precisa ser um "type": "vector"
ou "type": "geojson"
fonte.
Duas propriedades adicionais serão definidas na camada fornecida:
mapbox-source
: O id
da fonte do documento do estilo Mapbox, da qual a camada OpenLayers foi criada. Geralmente apply()
cria uma camada de um dos players do OpenLayers por fonte do estilo Mapbox, a menos que a pilha de camadas tenha camadas de diferentes fontes intermediárias.mapbox-layers
: os id
das camadas do documento do estilo Mapbox incluídas na camada OpenLayers. • Camada : VectorLayer
< VectorSource
any
, any
> | VectorTileLayer
< VectorTile
any
, any
>
Camada OpenLayers. Quando a camada tiver uma fonte configurada, ela será modificada para usar a configuração da source
do Glstyle. As opções especificadas na fonte da camada substituirão as da source
do GlStyle, exceto url
e tileUrlFunction
. Quando a projeção de origem é o padrão ( EPSG:3857
), o tileGrid
também será substituído. Se você preferir não ter modificar a fonte, configure applyStyle()
com a opção updateSource: false
.
• GlStyle : any
Objeto de estilo Mapbox.
• SourceorLayersorOptions? : string
| string
[] | Options
& ApplyStyleOptions
= ''
Opções ou chave source
ou uma matriz de id
de camada do objeto de estilo Mapbox. Quando uma chave source
é fornecida, todas as camadas para a fonte especificada serão incluídas na função de estilo. Quando id
da camada são fornecidos, eles devem ser de camadas que usam a mesma fonte. Quando não fornecido ou um valor falso, todas as camadas usando a primeira fonte especificada no Glstyle serão renderizadas.
• Optionsorpath? : string
| Options
& ApplyStyleOptions
= {}
Descontinuado . Opções. Como alternativa, o caminho do arquivo de estilo (exigido apenas quando um caminho relativo é usado para a propriedade "sprite"
do estilo).
• Resoluções? : number
[] = undefined
Descontinuado . Resoluções para mapear a resolução para o nível de zoom. Somente necessário ao trabalhar com grades ou projeções não padrão, também podem ser fornecidas com opções.
Promise
any
Promessa que será resolvida quando o estilo puder ser usado para renderizar.
estilo OL-mapbox • Docs
getFeaturestate (
mapOrLayer
,feature
):any
Define ou remove um estado de recurso. O estado do recurso é levado em consideração para o estilo, assim como as propriedades do recurso, e pode ser usado, por exemplo, para renderizar condicionalmente os recursos selecionados de maneira diferente.
• MaporLayer : Map
| VectorLayer
< VectorSource
any
, any
> | VectorTileLayer
< VectorTile
any
, any
>
Mapa ou camada para definir o estado do recurso.
• Recurso : FeatureIdentifier
Identificador de recursos.
any
Estado de recurso ou null
quando nenhum estado de recurso está definido para o identificador de recurso fornecido.
estilo OL-mapbox • Docs
getLayer (
map
,layerId
):Layer
<Source
,LayerRenderer
any
>
Obtenha a instância da camada do OpenLayers que contém a layer
de estilo MapBox fornecida. Observe que várias camadas de estilo MapBox são combinadas em uma única instância da camada do OpenLayers quando usam a mesma source
de estilo MapBox.
• Mapa : Map
| LayerGroup
OpenLayers Mapear ou LayerGroup.
• Layerid : string
ID da camada de estilo Mapbox.
Layer
< Source
, LayerRenderer
< any
>>
Instância da camada do OpenLayers.
estilo OL-mapbox • Docs
GetLayers (
map
,sourceId
):Layer
<Source
,LayerRenderer
<any
>> []
Obtenha as instâncias da camada OpenLayers para a source
de estilo MapBox fornecida.
• Mapa : Map
| LayerGroup
OpenLayers Mapear ou LayerGroup.
• SourceID : string
ID de origem do estilo Mapbox.
Layer
< Source
, LayerRenderer
< any
>> []
Instâncias de camada do OpenLayers.
estilo OL-mapbox • Docs
getMapBoxlayer (
mapOrGroup
,layerId
):any
Obtenha o objeto da camada MapBox para o layerId
fornecida.
• MaporGroup : Map
| LayerGroup
Mapa ou grupo de camadas.
• Layerid : string
ID da camada MapBox.
any
Objeto da camada MapBox.
estilo OL-mapbox • Docs
getSource (
map
,sourceId
):Source
Obtenha a instância de origem do OpenLayers para a source
de estilo MapBox fornecida.
• Mapa : Map
| LayerGroup
OpenLayers Mapear ou LayerGroup.
• SourceID : string
ID de origem do estilo Mapbox.
Source
Instância de origem do OpenLayers.
estilo OL-mapbox • Docs
getStyleForLayer (
feature
,resolution
,olLayer
,layerId
):Style
[]
Obtenha o estilo apenas para uma camada MapBox específica. Isso pode ser útil para criar uma lenda.
• Recurso : RenderFeature
| Feature
Geometry
Recurso OpenLayers.
• Resolução : number
Ver resolução.
• Ollayer : VectorLayer
< VectorSource
any
, any
> | VectorTileLayer
< VectorTile
any
, any
>
Camada OpenLayers.
• Layerid : string
Id da camada MapBox para obter o estilo para
Style
[]
Estilos para a camada MapBox fornecida.
estilo OL-mapbox • Docs
RecordStyLeLayer (
record
):void
Ligue e desliga a gravação da layer
do estilo Mapbox. Quando ligado, a camada a que um recurso renderizado pertence será definido como a propriedade mapbox-layer
do recurso.
• Registro : boolean
= false
A gravação da camada de estilo está ligada.
void
estilo OL-mapbox • Docs
RemoveMapBoxlayer (
mapOrGroup
,mapboxLayerIdOrLayer
):void
Remova um objeto de camada Mapbox do estilo. O mapa será renderizado novamente.
• MaporGroup : Map
| LayerGroup
O mapa ou apply
do grupo de camadas foi chamado.
• MapBoxlayerIDorLayer : any
ID da camada MAPBox ou objeto de camada MapBox.
void
estilo OL-mapbox • Docs
rendertransparent (
enabled
):void
Configure se os recursos com um estilo transparente devem ser renderizados. Quando definido como true
, será possível acertar o conteúdo de detecção que não é visível, como preenchimentos transparentes de polígonos, usando ol/layer/Layer#getFeatures()
ou ol/Map#getFeaturesAtPixel()
• Ativado : boolean
A renderização de elementos transparentes está ativada. O padrão é false
.
void
estilo OL-mapbox • Docs
setFeaturestate (
mapOrLayer
,feature
,state
):void
Define ou remove um estado de recurso. O estado do recurso é levado em consideração para o estilo, assim como as propriedades do recurso, e pode ser usado, por exemplo, para renderizar condicionalmente os recursos selecionados de maneira diferente.
O estado do recurso será armazenado na camada OpenLayers que corresponde ao identificador de recurso, na propriedade mapbox-featurestate
.
• MaporLayer : Map
| VectorLayer
< VectorSource
any
, any
> | VectorTileLayer
< VectorTile
any
, any
>
O OpenLayers mapeia ou camada para definir o estado do recurso.
• Recurso : FeatureIdentifier
Identificador de recursos.
• Estado : any
Estado do recurso. Defina como null
para remover o estado do recurso.
void
estilo OL-mapbox • Docs
StyleFunction (
olLayer
,glStyle
,sourceOrLayers
,resolutions
,spriteData
,spriteImageUrl
,getFonts
,getImage
?, ...args
?):StyleFunction
Cria uma função de estilo a partir do objeto glStyle
para todas as camadas que usam a source
especificada, que precisa ser um "type": "vector"
ou "type": "geojson"
fonte e a aplica à camada do OpenLayers especificado.
Duas propriedades adicionais serão definidas na camada fornecida:
mapbox-source
: O id
da fonte do documento do estilo Mapbox, da qual a camada OpenLayers foi criada. Geralmente apply()
cria uma camada de um dos players do OpenLayers por fonte do estilo Mapbox, a menos que a pilha de camadas tenha camadas de diferentes fontes intermediárias.mapbox-layers
: os id
das camadas do documento do estilo Mapbox incluídas na camada OpenLayers.Esta função também funciona em um trabalhador da web. No modo de trabalhador, o encadeamento principal precisa ouvir mensagens do trabalhador e responder com outra mensagem para garantir que o carregamento da imagem sprite funciona:
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 ;
}
} ) ;
• Ollayer : VectorLayer
< VectorSource
any
, any
> | VectorTileLayer
< VectorTile
any
, any
>
Camada OpenLayers para aplicar o estilo a. Além do estilo, a camada receberá duas propriedades: mapbox-source
será o id
da fonte do glStyle
usada para a camada, e mapbox-layers
serão uma matriz dos id
das camadas do glStyle
.
• GlStyle : any
Objeto de estilo Mapbox.
• SourceorLayers : string
| string
[]
Chave source
ou uma matriz de id
de camada do objeto de estilo Mapbox. Quando uma chave source
é fornecida, todas as camadas para a fonte especificada serão incluídas na função de estilo. Quando id
da camada são fornecidos, eles devem ser de camadas que usam a mesma fonte.
• Resoluções : number
[] = defaultResolutions
Resoluções para mapear a resolução para o nível de zoom.
• Spritedata : any
= undefined
Dados Sprite da URL especificada na propriedade sprite
do objeto do estilo Mapbox. Somente necessária se uma propriedade sprite
for especificada no objeto de estilo Mapbox.
• spriteImageurl : string
| Request
| Promise
< string
| Request
> = undefined
URL da imagem Sprite para o sprite especificado na propriedade sprite
do objeto do estilo Mapbox. Somente necessária se uma propriedade sprite
for especificada no objeto de estilo Mapbox.
• getFonts = undefined
Função que recebe uma pilha de fontes e o modelo de URL da propriedade metadata['ol:webfonts']
(se definido) como argumentos e retorna uma pilha de fonte (modificada) disponível. Os nomes das fontes são os nomes usados no objeto de estilo Mapbox. Se não for fornecido, a pilha de fontes será usada como está. Esta função também pode ser usada para carregar fontes da Web.
• getImage? = undefined
Função que retorna uma imagem ou um URL para um nome de imagem. Se o resultado for um HTMLIMAGEELEMENT, ele já deve ser carregado. A camada pode ser usada para chamar a camada.Changed () quando o carregamento e o processamento da imagem terminarem. Esta função pode ser usada para ícones não no sprite ou para substituir os ícones de sprite.
• ... args? : any
StyleFunction
Função de estilo para uso em ol.layer.Vector
ou ol.layer.VectorTile
.
estilo OL-mapbox • Docs
UpdateMapBoxlayer (
mapOrGroup
,mapboxLayer
):void
Atualize um objeto de camada MapBox no estilo. O mapa será renderizado novamente com o novo estilo.
• MaporGroup : Map
| LayerGroup
O mapa ou apply
do grupo de camadas foi chamado.
• MapBoxlayer : any
Objeto de camada de caixa de mapa atualizado.
void
estilo OL-mapbox • Docs
UpdateMapBoxSource (
mapOrGroup
,id
,mapboxSource
):Promise
Source
Atualiza um objeto de origem do MapBox no estilo. A fonte do OpenLayers será substituída e o mapa será renderizado novamente.
• MaporGroup : Map
| LayerGroup
O mapa ou apply
do grupo de camadas foi chamado.
• ID : string
Chave da fonte no objeto de sources
literal.
• MapBoxSource : any
Objeto de origem do MapBox.
Promise
Source
Promessa que resolve quando a fonte foi atualizada.