Pregunta

En vista de un radio de 50 km de la ciudad de base i necesidad de encontrar las ciudades cercanas.

Mi script debe estar en PHP ... ¿Hay alguna API para averiguarlo ....

Por favor, por favor ayuda me ...

Gracias ...

¿Fue útil?

Solución

Este es un gran recurso: code.google.com/apis/ maps / articles / phpsqlsearch.html # findnearsql

ciudad Base: Latitud: 37 LNG: -122

SELECT id, ( 6371 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 50 ORDER BY distance LIMIT 0 , 20;

El mismo principio que la solución de "Tricker".

Otros consejos

Me escribió una especie de scripts que el cálculo de las distancias entre las coordenadas. Puede hacerlo cuando se tiene 2 coordenadas:

base :
 - latitude
 - longitude

city :
 - latitude
 - longititude

Usted tiene que pasar en las coordenadas geográficas de la ciudad base, entonces usted necesita para enviar un rizo a la Google o Yahoo servidor (depende de qué API geocodificador ¿Quieres que te) para obtener las coordenadas de la ciudad.

Ahora es la cuestión de la que ciudades tienes coordenadas? Si usted no tiene ninguno se puede comprar una base de datos de área de código postal (entonces usted puede tener sus coordenadas fuera de la ciudad que quieren). cuando se tiene las coordenadas de la ciudad, puede ejecutar un cálculo complicado como resultado una distancia. Después de que se puede ver si el resultado / distancia es mayor o menor medida a continuación, 50. Si se puede volver menos como una ciudad en el rango.

no es algo que se hace en pocos minutos

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