Referência da classe GMSFeatureLayer

Referência da classe GMSFeatureLayer

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

GMSFeatureTypefeatureType
 O tipo de elemento associado a esta camada.
BOOLdisponí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
 }