Problemas con la latitud y longitud de mySQL con Google Maps

En la API de Google Maps recomienda que el tipo de los campos latitud y longitud sean FLOAT.

Al crear un programa en PHP con este tipo de campo tenía un problema: Yo añadía la coordenada 40.725519,-73.978717 y me almacenaba 40.725517,-73.978714 en la base de datos.

Tras investigar un rato y a pesar de que en casi todos los sitios recomiendan usar un FLOAT para las coordenadas de un mapa, resulta que el FLOAT no es del todo exacto al almacenarlo y podemos tener efectos como el que comento. La solución es usar un tipo DECIMAL que preserva los valores numéricos exactos (ver documentación).

No comments:

Post a Comment