Dois campos fazem a maior parte do trabalho em uma resposta de geocodificação, e eles respondem a perguntas diferentes. precision descreve que tipo de correspondência foi encontrada: casa, rua, código postal ou cidade. confidence é um número entre 0 e 1 que descreve o quanto a correspondência é segura, com base na entrada e nos dados disponíveis. Um resultado pode ter alta precisão e baixa confiança, ou baixa precisão e alta confiança, e os dois são resultados válidos que merecem tratamentos diferentes.
Veja um exemplo. Uma consulta por um endereço completo com número de unidade pode ser resolvida com precisão house, mas com confiança de 0.6, porque a entrada tinha um erro de digitação no nome da rua e o geocodificador precisou adivinhar qual rua era a pretendida. Uma consulta apenas pelo nome de uma cidade pode ser resolvida com precisão city e confiança de 0.98, porque havia apenas uma correspondência razoável e nenhuma ambiguidade. Se o seu código verificar apenas a precisão, você vai tratar o segundo resultado, muito mais seguro, como se fosse pior, quando na verdade ele é o mais confiável para aquilo que afirma ser.
A regra prática é filtrar pelos dois, e não substituir um pelo outro. Se o seu caso de uso precisa de precisão no nível do telhado, como despachar uma entrega, exija precision igual a house e confidence acima de um limite que você define com base em testes. Se você só precisa saber para qual cidade um pedido foi enviado, a precisão city com alta confiança é perfeitamente utilizável, e rejeitá-la por não ser precisão house significa jogar fora dados bons.
Também ajuda tratar type como contexto, e não como um filtro por si só. Um type igual a address ao lado de um precision igual a street indica que a entrada parecia um endereço completo, mas só teve correspondência até o nível da rua, o que é um sinal útil de que o próprio endereço pode estar incompleto ou com erro de grafia, e não de que há uma lacuna nos dados do geocodificador.
Os números de confiança de provedores diferentes não são diretamente comparáveis, já que não existe um padrão universal para a forma de calcular esse número. Trate a escala como relativa dentro das respostas de um mesmo provedor, e não como uma probabilidade absoluta de exatidão. Execute o seu próprio conjunto de consultas representativas, observe onde a confiança costuma ficar para correspondências boas e ruins nos seus próprios dados e escolha o seu ponto de corte a partir disso, e não de um número que pareceu razoável na documentação.
Os detalhes completos dos dois campos, incluindo os valores exatos de precisão retornados, estão na documentação de geocodificação direta e de geocodificação reversa.
Um endereço no centro de uma cidade bem mapeada quase não diz nada sobre como o seu sistema lida com uma estrada rural, uma fronteira disputada ou uma consulta perto dos polos. Teste os casos difíceis de propósito.
Nem todo conjunto de dados com informações de localização de aparência pública pode ser usado legalmente dentro de um produto pago. Os termos de licenciamento, e não a disponibilidade técnica, costumam definir o limite real.
Quando uma consulta realmente não pode ser resolvida de forma confiável, não retornar nada é uma resposta melhor do que retornar um palpite disfarçado de fato. Veja o raciocínio por trás dessa escolha.