Pregunta

Tengo un cliente nacional que actualmente está reclutando distribuidores vendiendo a cada distribuidor un área por una tarifa fija. Quieren una función de 'encontrar un distribuidor' en su sitio web que debería dirigir a los clientes al distribuidor que compró el área en la que entra el visitante. Al principio íbamos a enumerar las principales ciudades con la esperanza de que el visitante hiciera clic en el nombre de la ciudad más cercana que reconocieron, pero se me ocurrió que debía ser posible utilizar la API de mapas para asignar códigos postales o nombres de ciudades a áreas específicas .

El problema es que no es exactamente un " buscar mi distribuidor más cercano " Escenario debido a la forma en que venden áreas específicas: es posible que el distribuidor de su área no sea el más cercano a su código postal / ciudad. He usado la API de Google maps en el pasado, pero principalmente para trazar cosas en mapas dinámicamente en lugar de usarla para calcular algo de geografía para obtener ayuda en una consulta de base de datos. ¿Alguien puede ayudar? Usaré la API de PHP si eso marca alguna diferencia.

¿Fue útil?

Solución

  1. Crea tus polígonos en Google Maps utilizando KML o el formato que tengas.

  2. Use Google Maps para geocodificar la ubicación que ingresa el usuario (en otras palabras, transforme el código postal y la ciudad a latitud / longitud).

  3. Use los métodos contiene o contieneLatLng del objeto GLatLngBounds en cada polígono para determinar si la latitud / longitud está dentro de uno de los polígonos.

Otros consejos

Parece que necesitará regiones poligonales que representen el área específica del distribuidor. Puedes hacer polígonos con la API de Google Maps y luego debes permitir que el usuario haga clic o pase el mouse sobre esos ...

Urbanware tiene una API de vecindario , ¿quizás es algo que puedes usar? No estoy seguro de que sea gratis (ya que también ofrecen premium y no he leído sus TOS), pero como de todos modos parece un proyecto comercial, es posible que pueda justificar el costo.

EDITAR: Acabo de notar que solo Premium tiene acceso a las bases de datos europeas, por lo que parece que lo necesitas de todos modos.

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