Dos campos hacen la mayor parte del trabajo en una respuesta de geocodificación, y responden a preguntas distintas. precision describe qué tipo de coincidencia se encontró: casa, calle, código postal o ciudad. confidence es un número entre 0 y 1 que describe lo segura que es la coincidencia, dados la entrada y los datos disponibles. Un resultado puede tener precisión alta y confianza baja, o precisión baja y confianza alta, y ambos son resultados válidos que conviene gestionar de forma distinta.
Veamos un ejemplo. Una consulta de una dirección completa con número de piso podría resolverse con precisión house pero con una confianza de 0.6, porque la entrada tenía una errata en el nombre de la calle y el geocodificador tuvo que adivinar a qué calle se refería. Una consulta de solo el nombre de una ciudad podría resolverse con precisión city y una confianza de 0.98, porque solo había una coincidencia razonable y ninguna ambigüedad. Si tu código solo comprueba la precisión, tratarías el segundo resultado, mucho más seguro, como si fuera peor, cuando en realidad es el más fiable para lo que dice ser.
La regla práctica es filtrar por ambos, no sustituir uno por el otro. Si tu caso de uso necesita precisión a nivel de tejado, como enviar un repartidor, exige un valor de precision igual a house y un valor de confidence por encima de un umbral que fijes a partir de pruebas. Si solo necesitas saber a qué ciudad se envió un pedido, una precisión city con confianza alta es perfectamente utilizable, y rechazarla porque no tiene precisión house supone desechar datos buenos.
También ayuda tratar type como contexto y no como un filtro por sí solo. Un type con valor address junto a un precision con valor street te indica que la entrada parecía una dirección completa pero solo coincidió hasta el nivel de calle, una señal útil de que la propia dirección puede haber estado incompleta o mal escrita, más que de una carencia de datos del geocodificador.
Las cifras de confianza de distintos proveedores no son directamente comparables, ya que no existe un estándar universal sobre cómo se calcula ese número. Trata la escala como relativa dentro de las respuestas de un mismo proveedor, no como una probabilidad absoluta de acierto. Ejecuta tu propio conjunto de consultas representativas, observa dónde suele situarse la confianza en las coincidencias buenas frente a las malas en tus propios datos y elige tu punto de corte a partir de ahí, en lugar de usar una cifra que parecía razonable en la documentación.
Una dirección en el centro de una ciudad bien cartografiada no te dice casi nada sobre cómo gestiona tu sistema una ruta rural, una frontera en disputa o una consulta cerca de los polos. Prueba los casos difíciles a propósito.
No todos los conjuntos de datos con información de ubicación de apariencia pública pueden usarse legalmente dentro de un producto de pago. Las condiciones de la licencia, y no la disponibilidad técnica, suelen marcar el límite real.
Cuando una consulta realmente no se puede resolver de forma fiable, no devolver nada es mejor respuesta que devolver una suposición disfrazada de hecho. Este es el razonamiento detrás de esa decisión.