Estilo personalizado
  É possível personalizar as cores, a tipografia, o espaçamento, as bordas e os cantos destes componentes do kit de interface do Places e recursos que não são do kit de interface:
- Componente Place Details
 - Componente Place Search
 - Componente básico do Place Autocomplete
 - Widget do Place Autocomplete sem kit de interface
 
O kit de interface do Places oferece uma abordagem de sistema de design para personalização visual baseada aproximadamente no Material Design (com algumas modificações específicas do Google Maps). Consulte a referência do Material Design para Cor e Tipografia. Por padrão, o estilo segue a linguagem de design visual do Google Maps.
A aparência do componente é personalizada com as structs placesMaterialColor, placesMaterialFont, placesMaterialShape e placesMaterialTheme.
É possível personalizar os seguintes estilos:
| Atributo do tema | Uso | 
|---|---|
| Cor | |
theme.color.surface | 
    Segundo plano do contêiner e da caixa de diálogo | 
theme.color.outlineDecorative | 
    Borda do contêiner | 
theme.color.primary | 
    Links, indicador de carregamento, ícones de visão geral | 
theme.color.onSurface | 
    Títulos, conteúdo da caixa de diálogo | 
theme.color.onSurfaceVariant | 
    Informações sobre o lugar | 
theme.color.secondaryContainer | 
    Plano de fundo do botão | 
theme.color.onSecondaryContainer | 
    Texto e ícone do botão | 
theme.color.neutralContainer | 
    Revisar o selo de data, carregar formas de marcador de posição | 
theme.color.onNeutralContainer | 
    Data da avaliação, erro ao carregar | 
theme.color.positiveContainer | 
    Selo de carregador de VE disponível | 
theme.color.onPositiveContainer | 
    Conteúdo disponível do selo de carregador de VE | 
theme.color.positive | 
    Colocar o marcador "Aberto agora" | 
theme.color.negative | 
    O rótulo "Fechado" agora é "Fechado" | 
theme.color.info | 
    Ícone de entrada acessível | 
theme.measurement.borderWidthButton | 
    Botões "Abrir no Maps" e "OK" | 
| Tipografia | |
theme.font.bodySmall | 
    Informações sobre o lugar | 
theme.font.bodyMedium | 
    Informações do lugar, conteúdo da caixa de diálogo | 
theme.font.labelMedium | 
    Conteúdo do selo | 
theme.font.labelLarge | 
    Conteúdo do botão | 
theme.font.headlineMedium | 
    Títulos de caixa de diálogo | 
theme.font.displaySmall | 
    Nome do lugar | 
theme.font.titleSmall | 
    Nome do lugar | 
| Espaçamento | |
theme.measurement.spacingExtraSmall | 
    |
theme.measurement.spacingSmall | 
    |
theme.measurement.spacingMedium | 
    |
theme.measurement.spacinglarge | 
    |
theme.measurement.spacingExtraLarge | 
    |
theme.measurement.spacingTwoExtraLarge | 
    |
| Medição | |
borderWidth | 
    Contêiner | 
theme.measurement.borderWidthButton | 
    |
| Forma | |
theme.shape.cornerRadius | 
    Contêiner | 
theme.shape.cornerRadiusButton | 
    Botões "Abrir no Maps" e "OK" (exclui o botão de ícone redondo) | 
theme.shape.cornerRadiusThumbnail | 
    Colocar imagem em miniatura | 
theme.shape.cornerRadiusCollageOuter | 
    Colagem de mídia | 
theme.shape.cornerRadiusCard | 
    Card de lugar, card de avaliação do usuário | 
theme.shape.cornerRadiusDialog | 
    Caixa de diálogo de divulgação do Google Maps | 
| Atribuição de marca do Google Maps | |
attribution.lightModeColor | 
    Botão de atribuição e divulgação do Google Maps no tema claro (enums para branco, cinza e preto) | 
attribution.darkModeColor | 
    Botão de atribuição e divulgação do Google Maps no tema escuro (enums para branco, cinza e preto) | 
Cores de atribuição
  Os Termos de Serviço do Google Maps exigem que você use uma das três cores da marca para a atribuição do Google Maps. Essa atribuição precisa estar visível e acessível quando as mudanças de personalização forem feitas.
Oferecemos três cores de marca para escolher, que podem ser definidas de forma independente para temas claros e escuros:
- Tema claro: 
attributionColorLightcom enums para branco, cinza e preto. - Tema escuro: 
attributionColorDarkcom enums para branco, cinza e preto. 
Exemplos
Essa função cria um tema que substitui os atributos de estilo padrão. Todos os atributos do tema que não forem substituídos usarão os estilos padrão.Swift
// Same for compact and full func makeTemplateTheme(colorScheme: ColorScheme) -> PlacesMaterialTheme { var theme = PlacesMaterialTheme() var color = PlacesMaterialColor() color.surface = (colorScheme == .dark ? .blue : .gray) color.buttonBorder = (colorScheme == .dark ? .pink : .orange) color.outlineDecorative = (colorScheme == .dark ? .white : .black) color.onSurface = (colorScheme == .dark ? .yellow : .red) color.onSurfaceVariant = (colorScheme == .dark ? .white : .blue) color.onSecondaryContainer = (colorScheme == .dark ? .white : .red) color.secondaryContainer = (colorScheme == .dark ? .green : .purple) color.positive = (colorScheme == .dark ? .yellow : .red) color.primary = (colorScheme == .dark ? .yellow : .purple) color.info = (colorScheme == .dark ? .yellow : .purple) var shape = PlacesMaterialShape() shape.cornerRadius = 10 var font = PlacesMaterialFont() font.labelLarge = .system(size: UIFontMetrics.default.scaledValue(for: 18)) font.headlineMedium = .system(size: UIFontMetrics.default.scaledValue(for: 15)) font.bodyLarge = .system(size: UIFontMetrics.default.scaledValue(for: 15)) font.bodyMedium = .system(size: UIFontMetrics.default.scaledValue(for: 12)) font.bodySmall = .system(size: UIFontMetrics.default.scaledValue(for: 11)) var attribution = PlacesMaterialAttribution() attribution.lightModeColor = .black attribution.darkModeColor = .white theme.measurement.borderWidthButton = 1 theme.color = color theme.shape = shape theme.font = font theme.attribution = attribution return theme }
Exemplos completos para cada componente
- Exemplo de estilo do componente Place Details.
 - Exemplo de estilo do componente Place Search.
 - Exemplo básico de estilo do componente Place Autocomplete.