O campo LocationLookup
Qualquer tipo de texto pode ser definido como um tipo de exibição de componente LocationLookup, que permite usar a API do Google para extrair dados de endereço.
O tipo de exibição do componente do campo LocationLookup aproveita a API do Googleʼs Places para extrair dados de endereço que podem ser usados para configuração e preços exclusivos do local. Qualquer tipo de campo de texto pode ser definido como um tipo de exibição de componente LocationLookup usando o editor de layout ou editando diretamente um arquivo CSV de layout.
Para vê-lo em ação, assista ao seguinte vídeo:
Tipo de exibição do componente do campo de pesquisa de local
Para usar um campo LocationLookup, primeiro você precisa ter uma chave de API válida do Google com permissão para acessar o Google Places. A chave de API deve ser configurada para a API JavaScript de mapas e a API de locais.
O valor do campo requer duas propriedades: keye. fieldMapping.
{
"key": API-Key-string,
"fieldMapping": {"[field1VariableName]":"[returnedPlaceType]","[field2VariableName]":"[returnedPlaceType]"}
}
A propriedade da chave se refere à chave da API.
Use a propriedade fieldMapping para instruir a IU a mapear os dados de local retornados para diferentes campos na configuração. Esta propriedade pode ter uma cadeia de caracteres ou um objeto de pares chave:valor (ambas as cadeias de caracteres).
Se uma cadeia de caracteres for fornecida:
- A cadeia de caracteres deve ser o nome da variável de um campo na configuração
- Os dados retornados da API serão convertidos em uma cadeia de caracteres e mapeados para o valor do campo
Se um objeto for fornecido:
- As chaves serão o nome da variável do campo na configuração
- Os valores serão o caminho JSON para os dados da API que devem ser mapeados para o campo
Para obter mais detalhes sobre a aparência desses dados, consulte: Detalhes do local
Quando você mapeia componentes de endereço, eles retornam como uma matriz de diferentes valores de componente, portanto, não há um caminho direto. A IU espera algo no seguinte formato:
address_components.[component type]
Observe que nem todos os tipos listados serão retornados pela API de detalhes do local. Para encontrar os tipos compatíveis, consulte o seguinte site do Google:
Valor do campo de exemplo:
{
"key": "*********",
"fieldMapping": {
"formattedAddress": "formatted_address",
"sublocality": "address_components.sublocality",
"city": "address_components.locality",
"stateForLocation": "address_components.administrative_area_level_1",
"zipCode": "address_components.postal_code"
}
}
Este mapeamento também funciona em conjuntos. Observe que o campo de local e todos os campos listados no mapeamento também devem fazer parte do conjunto. Campos globais ou de índice cruzado não são compatíveis com um conjunto.
Alguns mapeamentos comuns da API do Google Places incluem:
- formatted_address (retorna o endereço inteiro em forma legível)
- address_components.locality (retorna a cidade)
- address_components.administrative_area_level_1 (retorna o estado)
- address_components.country
- address_components.postal_code
- address_components.street_number
- address_components.route (retorna somente o nome da rua)