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.
Herdado por GMSDatasetFeatureLayer.
Funções membro públicas | |
(instancetype) | - initWithFeatureType: |
Criar uma instância de 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 a ser aplicado a todos os recursos nesta camada. |
Documentação da função membro
— (instancetype) initWithFeatureType: | (GMSFeatureType) | featureType |
Criar uma instância de camada de elementos para teste.
Use esse método apenas para testes de unidade. Na produção, as 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 elementos 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 de GMSFeatureLayer
retornará ao padrão e os eventos não serão acionados.
- (GMSFeatureStyle* _Nullable(^ style)(T)) [read, write, assign] |
Bloco de estilo a ser aplicado a todos os recursos nesta 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 elementos 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 alguma especificação de estilo de qualquer recurso for alterada, 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 }