Pregunta

  1. Así que aquí está el problema ... Tengo un campo en el que los usuarios pueden escribir en su dirección (que se codificarán geográficamente a través de la API de Google Maps).
  2. Tengo varias direcciones de widgets en mi base de datos (guardado como dirección .. de nuevo puede ser fácilmente geocodifique).

Lo que necesito es que el usuario escriba su dirección y para obtener una lista de mis widgets a surgir en base a distancia de su domicilio. Tengo miles de direcciones de mis reproductores y los usuarios tienen un número infinito de direcciones obviamente.

¿Alguna idea?

Gracias.

¿Fue útil?

Solución

SELECT latitude, longitude, SQRT( POW( 69.1 * ( latitude - 52.58 ) , 2 ) + 
POW( 69.1 * ( - 1.12 - longitude ) * COS( latitude / 57.3 ) , 2 ) ) AS distance 
FROM location ORDER BY distance

Haga clic aquí Ofrecen varias formas de calcular la distancia - elegir lo que funciona mejor para usted

.

Otros consejos

Si va a guardar los elementos de una base de datos MySQL, a continuación, aquí está la base de lo que necesita

Realmente no se puede usar Google para calcular su distancia geográfica filtrado. Para hacer eso, usted tendría que enviar sus datos, haga que lo almacenan y consultar por usted. Ellos pueden ofrecer ese servicio, ahora o en el futuro, pero no he oído hablar de él.

Con el fin de más legal, más capaz, más caro:

A / Como SOLA puntos o lugares de interés son introducidas por los clientes de su sitio, recoger los coordiniates geo. A continuación, utilice su propio motor de búsqueda y la búsqueda por la distancia de un punto. Puede ser una violación del acuerdo con Google, pero sí mencionar los resultados de caché '' para tomar la carga de sus servidores. (La razón es mi conjetura personal.)

B / usar Google para hacer la codificación geográfica mayor, tal vez de uno en uno, hasta un máximo de 5.000 por día y por la dirección IP del lugar de la última que vi. Ni siquiera estoy seguro si eso no es una violación del acuerdo de uso.

C / adquirir un contrato con un servicio de geocodificación, y almacenar lo que GeoCode para usted.

D / Compra una biblioteca de códigos geográficos y hacer su propia geocodificación.

Esta entrada del blog, "Calcular distancia a través de Google Maps API ", puede ser de alguna ayuda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top