2010-03-24 22 views
7

Necesito un "buscar la ubicación más cercana" en nuestro sitio web."Buscar la ubicación más cercana" por código postal?

Cuando el visitante ingresa su código postal/postal, se lo redirecciona a una página web específica para nuestra ubicación más cercana. Tenemos cuarenta ubicaciones en EE. UU. Y Canadá.

¿Cómo puedo construir algo como esto? ¿Podría hacer esto con la API de Google Maps? Ya tengo un mapa personalizado en Google Maps. Está trazado con nuestras ubicaciones. Sería bueno enviar un comando a Google Maps para decir "cuál es nuestra ubicación más cercana en el código postal ________".

¿Alguna sugerencia?

Respuesta

7

Mira la búsqueda de proximidad ofrecido aquí:

Using PHP/MySQL with Google Maps

Usted tendría que codificar geográficamente sus códigos postales en coordenadas (también posible con la API de Google Maps, pero probablemente preferible que ver con una dirección completa) , entonces puede ejecutar la búsqueda de proximidad detallada en el tutorial.

+0

@Pekka Uso de la API de Google Maps: ¿es posible realizar el cálculo, obtener los resultados, pero no mostrar un mapa? – codemonkey613

+0

@codemonkey sí lo es. Puede realizar una solicitud de geocodificación (hasta 10.000 por día) a la API sin mostrarla en un mapa, * pero * creo que sus términos de servicio prohíben el almacenamiento prolongado de los resultados de la geocodificación. Quieren que realice una solicitud. cada vez que necesitas los datos. –

+0

Gracias. 10,000 debería ser más que suficiente para nuestras necesidades. Y sí, no almacenaremos los resultados. – codemonkey613

0

Google Maps tiene restricciones de uso para fines comerciales, por lo que es posible que desee considerar esas (restricciones) por adelantado. De mi experiencia anterior sugeriría MapQuest API. Puede encontrar los detalles aquí: http://developer.mapquest.com/ y alguna guía de inicio rápido aquí http://www.mapquest.com/features/developer_tools_oapi_quickstart

MapQuest parece ser mejor cuando se trata de ofertas comerciales. De todos modos, revise su T & C antes de implementarlo en producción.

Tienen JavaScriopt y creo que WS regulares para la decodificación de geolocalización.

Saludos Konrad

+1

@Konrad Siempre sugiero alternativas a Google Maps, pero los términos de servicio de Google son muy indulgentes con el uso en sitios comerciales. Son solo los sitios que * cobran por el acceso * o que están cerrados al público donde está prohibido usar Google Maps AFAIK. –

+0

@Pekka Eso suena bien. – codemonkey613

+0

Gracias por compartir este enlace, sus servicios se ven muy interesantes. –

4

si tiene las longitudes y latitudes de cada código postal (búsqueda de Google) puede utilizar la fórmula Haversine para calcular los vecinos más cercanos.

http://www.codecodex.com/wiki/Calculate_Distance_Between_Two_Points_on_a_Globe

+1

Eso me obligaría a encontrar una base de datos de códigos postales y postales de EE. UU./Canadá. Que serían más de 80,000 registros; y debería estar actualizado. Lo cual parece un poco exagerado para una aplicación tan simple. Así que espero poder hacer esto con la API de Google Maps. – codemonkey613

+0

para que un usuario ingrese un código postal, usted selecciona los más de 40 de sus lugares ya que no sabe cuál es el más cercano. buclea las ubicaciones en la capa de su aplicación y llama a googlemaps api para que cada una calcule su distancia relativa al zip que el usuario ingresó. Más de 40 llamadas ajax luego tiene todas las distancias para las más de 40 ubicaciones, por lo que filtra la lista en consecuencia y se muestra al usuario. hmmm, ¿qué tan sensible debe ser esto? –

+1

Sería más como: el usuario ingresa el código postal, la API de Google Maps devuelve el lat y anhela ese código postal. Ya tengo el lat y anhelo nuestras ubicaciones de más de 40, use la Fórmula Haversine para calcular más cerca. – codemonkey613

3

Se necesita un database de códigos postales con la longitud y latitud, de la cual se puede calcular la distancia.

+0

La base de datos vinculada utiliza datos de 10 años. Nuevos códigos postales se agregan con mucha frecuencia. –

+0

¿Qué sucede si solo tengo códigos postales? – Umair

+0

Holy cow esto es increíble! Gracias –

Cuestiones relacionadas