Visão geral
Uma classe que representa uma coleção de todos os recursos do mesmo GMSFeatureType
, com um estilo que pode ser modificado no cliente.
Cada GMSFeatureType
terá um GMSFeatureLayer
correspondente.
Funções membro públicas | |
(instancetype) | initWithFeatureType: |
Criar uma instância da camada de elementos para teste. | |
Propriedades | |
GMSFeatureType | featureType |
O tipo de elemento associado a esta camada. | |
BOOL | disponível |
Determina se o GMSFeatureLayer baseado em dados está disponível. | |
GMSFeatureStyle *_Nullable(^)(T) | estilo |
Bloco de estilo que será aplicado a todos os elementos da camada. |
Documentação da função membro
- (tipo de instância) initWithFeatureType: | (GMSFeatureType) | featureType |
Criar uma instância da camada de elementos para teste.
Esse método só deve ser usado para testes de unidade. Na produção, instâncias de GMSFeatureLayer
só podem ser criadas pelo SDK.
Documentação da propriedade
- (GMSFeatureType) featureType [read, assign] |
O tipo de elemento associado a esta camada.
Todos os atributos associados à camada serão desse tipo.
- (BOOL) disponível [read, assign] |
Determina se o GMSFeatureLayer
baseado em dados está disponível.
O estilo baseado em dados exige o Metal Framework, um ID de mapa válido e a aplicação do tipo de elemento. Se for NO
, o estilo para GMSFeatureLayer
retornará ao padrão e os eventos não serão acionados.
- (GMSFeatureStyle* _Nullable(^ style)(T)) [read, write, assign] |
Bloco de estilo que será aplicado a todos os elementos da camada.
O bloco de estilo é aplicado a todos os elementos visíveis na janela de visualização quando o setter é chamado, e é executado várias vezes para os recursos subsequentes que entram na janela de visualização.
A função deve ser determinista e retornar resultados consistentes quando é aplicada sobre os blocos do mapa. Se as especificações de estilo de qualquer recurso forem alteradas, style
precisará ser definido novamente. Mudar o comportamento do bloco de estilo sem chamar o setter style
resulta em um comportamento indefinido, incluindo renderizações de mapa desatualizadas e/ou fragmentadas. Veja o exemplo abaixo:
{.swift} var selectedPlaceIDs = Set<String>() var style = FeatureStyle(fill: .red, stroke: .clear, strokeWidth: 0) layer.style = { feature in selectedPlaceIDs.contains(feature.placeID) ? style : nil } selectedPlaceIDs.insert("foo") style = FeatureStyle(fill: .clear, stroke: .blue, strokeWidth: 1.5) layer.style = { feature in selectedPlaceIDs.contains(feature.placeID) ? style : nil }