Foros del Web » Programando para Internet » PHP »

Crear buscador mapa google maps MySQL + PHP

Estas en el tema de Crear buscador mapa google maps MySQL + PHP en el foro de PHP en Foros del Web. Buenas noches a todos! Llevo mucho tiempo siguiendo el foro y con los post que hay publicados me habeís resuelto muchas de las dudas que ...
  #1 (permalink)  
Antiguo 14/12/2014, 19:02
 
Fecha de Ingreso: octubre-2008
Mensajes: 7
Antigüedad: 16 años, 1 mes
Puntos: 0
Crear buscador mapa google maps MySQL + PHP

Buenas noches a todos!

Llevo mucho tiempo siguiendo el foro y con los post que hay publicados me habeís resuelto muchas de las dudas que me han ido surgiendo.

He estado todo el día buscando cómo crear un mapa en Google Maps que muestre marcadores leídos de una bd mysql y los pinte. Llevo varias horas buscando post en el foro al respecto pero no he encontrado uno que contemple todo lo que pido...

Os cuento:
Necesitaría crear una especie de "buscador de tiendas cercanas" para un proyecto personal. La idea es que el usuario introduzca una dirección y se le muestren las tiendas cercanas indicando su nombre, dirección, teléfono y logo que, todo ello, será leído de una bbdd mysql.

Lo más cercano que he encontrado fue un ejemplo, en este mismo foro:
http://googlemaps.googlermania.com/google_maps_api_v3/en/map_example_sidebar.html También me encontré un ejemplo en github que se parece mucho a lo que necesito, pero no llega a completarlo: http://funcion13.com/wp-content/ejemplos/localizador-tiendas/web/

Pero no sé como meterle para que solo me aparezcan las tiendas cercanas a la dirección que indique.

Muchas gracias de antemano! ^^
  #2 (permalink)  
Antiguo 15/12/2014, 03:31
Avatar de SirZoX  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 18 años, 6 meses
Puntos: 2
Respuesta: Crear buscador mapa google maps MySQL + PHP

Tengo algo ya hecho, aunque no exactamente lo que buscas.
Yo tengo listo un mapa que muestra con marcadores las viviendas que cumplen ciertos requisitos para una web de inmobiliaria.

La coña de que muestre sólo las que son cercanas a donde marques es que primero debes encontrar el modo de averiguar la latitud y longitud para google de ese punto del mapa, y después para mostrar los puntos deberías hacer una función que busque en la bd todos los registros que tengan una latitud y longitud dentro de un rango determinado.

Es decir, si consigues averiguar que tu dirección es 39.461566, -0.350206, para ver lo que hay cerca (digamos en un radio de 500 metros), deberías buscar los registros cuya latitud esté entre 39.461566 + 0.005 y 39.461566 - 0.005 (creo que es aproximado este valor eh) y lo mismo con la longitud.

Y una vez tengas la consulta a la bd, hacer un bucle que las pinte en el mapa.

Si tu duda era el cómo lograr encontrar las cercanas, ya lo tienes claro. La parte que no sé si tienes ya hecho es como averiguar las coordenadas de la dirección concreta.
  #3 (permalink)  
Antiguo 20/12/2014, 10:04
 
Fecha de Ingreso: octubre-2008
Mensajes: 7
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Crear buscador mapa google maps MySQL + PHP

Muchas gracias por tu respuesta SirZoX!

He entendido lo que comentas, pero la verdad es que lo veo demasiado complejo para la función que va a tener dentro de la página... lo que haré finalmente es que el usuario introduzca su código postal y le aparezcan los resultados vía selectmultiple.

Si esto va como tengo en mente en un tiempo si que me pararía a ver cómo hacerlo con más tranquilidad. El código que comentas, ¿lo tienes disponible? Envíame por MP tu correo electrónico y contacto por ahí contigo!

Muchas gracias!
  #4 (permalink)  
Antiguo 20/12/2014, 11:25
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear buscador mapa google maps MySQL + PHP

Hola elbaronhtml:

No sé en qué punto tienes el desarrollo de tu proyecto.

La limitación de los marcadores al código postal me temo que te puede acarrear varios problemas y limitaciones.

Lo que te recomendaría es orientar la solución hacia dos posibilidades:

1.- Delimitar un círculo desde un punto dado (sea la geolocalización del usuario o una dirección dada. Ello requiere que incluyas la librería geometry a Google Maps
Código HTML:
Ver original
  1. <script src="https://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=geometry"></script>

2.- Delimitar el área a una zona específica (puede ser mediante KML o XML por provincias, departamentos, ...

Una vez delimitada el área de interés, presentar los marcadores que queden dentro del área delimitada.
Algo parecido a
Código Javascript:
Ver original
  1. if (circulo.contains(latLng)) {
  2.     // muestro los marcadores cuyo latLng está dentro del área debujada
  3. }
  #5 (permalink)  
Antiguo 20/12/2014, 13:14
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 11 años, 4 meses
Puntos: 401
Respuesta: Crear buscador mapa google maps MySQL + PHP

Cita:
Iniciado por SirZoX Ver Mensaje
Tengo algo ya hecho, aunque no exactamente lo que buscas.
Yo tengo listo un mapa que muestra con marcadores las viviendas que cumplen ciertos requisitos para una web de inmobiliaria.

La coña de que muestre sólo las que son cercanas a donde marques es que primero debes encontrar el modo de averiguar la latitud y longitud para google de ese punto del mapa, y después para mostrar los puntos deberías hacer una función que busque en la bd todos los registros que tengan una latitud y longitud dentro de un rango determinado.

Es decir, si consigues averiguar que tu dirección es 39.461566, -0.350206, para ver lo que hay cerca (digamos en un radio de 500 metros), deberías buscar los registros cuya latitud esté entre 39.461566 + 0.005 y 39.461566 - 0.005 (creo que es aproximado este valor eh) y lo mismo con la longitud.

Y una vez tengas la consulta a la bd, hacer un bucle que las pinte en el mapa.

Si tu duda era el cómo lograr encontrar las cercanas, ya lo tienes claro. La parte que no sé si tienes ya hecho es como averiguar las coordenadas de la dirección concreta.
?????? En vez de programadores seremos como sherlock holmes????
No es mas fácil esto????


Cita:
Es decir, si consigues averiguar que tu dirección es 39.461566, -0.350206, para ver lo que hay cerca (digamos en un radio de 500 metros), deberías buscar los registros cuya latitud esté entre 39.461566 + 0.005 y 39.461566 - 0.005 (creo que es aproximado este valor eh) y lo mismo con la longitud.
revisa google maps.......
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #6 (permalink)  
Antiguo 20/12/2014, 14:31
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear buscador mapa google maps MySQL + PHP

A propósito de la reflexión de lauser (que con las citas y el poco texto propio, dice demasiado), el tema da para diversas reflexiones interesantes de las que, sin duda se aprende siempre algo.

El problema planteado por elbaronhtml conlleva varios desarrollos (me contextualizo con Google Maps), por lo que le reclamaba yo "en qué punto tienes el desarrollo de tu proyecto". Porque deberíamos ver varios tutoriales y adaptarlos al caso

lauser desde su enlace hace referencia a la base de datos. OK. Puede ayudar mucho si la base no ha sido creada. Si ya la tenemos, hemos de considerar que contenga direcciones y coordenadas. Si no es así, hemos de comenzar de cero.

Después viene cómo leer los datos en javascript y trasladarlos a la página.

SirZoX: tus reflexiones cuentan con un alto valor de cooperación y de ayuda, lo cual es muy positivo. Pero, como te dice lauser, no se trata de ejercer de Sherlock Holmes Te vas a reinventar la rueda, que la veo casi cuadrada. Y te doy dos razones matemáticas básicas:
- Si nos basamos en diferencias de coordenadas en +/- 0.005 (el cálculo no es en ningún caso correcto pero la idea vale), desde latitud y longitud estamos dando un espacio "cuadrado" entendiendo que la tierra sea plana.
- El cálculo geodésico (la tierra es casi redonda/circular, achatada por los polos) hace pensar que de acuerdo a la latitud, cada grado o décima de grado tenga una distancia diferente en el ecuador, en los trópicos, Canadá o Islandia.
La solución la tiene la librería geometry a Google Maps.

Y retomando el proyecto original: llegamos a los los últimos escollos:
- ¿Partimos de "mi ubicación" (la del usuario)?. Hemos de acudir a la geolocalización de W3C, perfectamente adaptable a ordenadores, tablets y smartphones.
- ¿Partimos de una dirección a escribir?: Geocoder de Google Maps (Otras fuentes de OMS (Open Maps Source) ni se aproximan.

Después, llega el trabajo: ensamblar todos los elementos.

No es difícil, pero si es la primera experiencia, cuesta tiempo y mucha lectura vs. estudio.
  #7 (permalink)  
Antiguo 20/12/2014, 15:05
 
Fecha de Ingreso: octubre-2008
Mensajes: 7
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Crear buscador mapa google maps MySQL + PHP

Buenas noches!

Muchas gracias txemaarbulo y lauser!

El proyecto sería desde 0, sería una aplicación que cargase una serie de direcciones desde una BBDD, el usuario pusiera su dirección y la aplicación le mostrara los datos de las direcciones de la BBDD cercanas...

He buscado tutoriales de Geocoder de Google Maps pero no he encontrado nada que sea básico.. no tengo ni idea de JS...
  #8 (permalink)  
Antiguo 20/12/2014, 15:49
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 11 años, 4 meses
Puntos: 401
Respuesta: Crear buscador mapa google maps MySQL + PHP

Cita:
A propósito de la reflexión de lauser (que con las citas y el poco texto propio, dice demasiado), el tema da para diversas reflexiones interesantes de las que, sin duda se aprende siempre algo.
Creo que a veces con pocas palabras sobra la explicacion, se debe dar gracias. Oh,,, que por lo menos se te dedique un tiempo a nivel personal que considero mas que suficiente. Debemos mantener unas aptitudes mínimas.
Cuando yo hice una consulta no espere una solución... espere una idea........ si requieres soluciones, según me enseñaron los moderadores de este foro..... este no es el lugar, si quieres aprender y tienes interés,,, se te ayudara. Por mi parte no habra mas respuesta pues yo la doy por concluida esta pregunta con mi enlace a pesar de que insistas que tan solo es una db. Un saludo.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #9 (permalink)  
Antiguo 20/12/2014, 16:05
 
Fecha de Ingreso: octubre-2008
Mensajes: 7
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Crear buscador mapa google maps MySQL + PHP

Tienes razón lauser, pedirte disculpas...

En realidad en este momento no dispongo de tiempo material para ponerme a indagar en el asunto, mi pregunta era por si había algún método "milagroso" para realizar el mapa... pero ya veo que no, de todas formas agradezco mucho vuestra ayuda y predisposición y en cuanto esté un poco "desahogado" me pondré con ello comenzando desde las informaciones que me habéis comentado.

Muchas gracias de nuevo!
  #10 (permalink)  
Antiguo 20/12/2014, 16:19
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear buscador mapa google maps MySQL + PHP

Hola de nuevo, elbaronhtml

Por principio y desde el valor que merecen los foros, no me permito pasarte códigos prefabricados o a medida ya que ello ni te enseña a ti, ni me compensa a estudios y desarrollos de varios años. Si te es urgente el tema y quieres resultados inmediatos, contrata a personas especializadas (te traslado a que me envíes un mensaje privado).
Es la base de enseñar a pescar, no dar el pescado.

Cada proyecto ha de llevar la cuota de originalidad que le haga diferente.

Cita:
Iniciado por elbaronhtml Ver Mensaje
...
El proyecto sería desde 0, sería una aplicación que cargase una serie de direcciones desde una BBDD, el usuario pusiera su dirección y la aplicación le mostrara los datos de las direcciones de la BBDD cercanas...
Dado que el proyecto, como te indicaba, te va a llevar su tiempo, comencemos por la primera parte. Base de datos y traslado de los mismos al mapa.
El enlace de lauser es muy completo, y puede ser ajustable a tu propósito con más o menos campos.
Desde los tutoriales de Google Maps, te invito a leer y estudiar el tutorial Crear un localizador de tiendas con PHP, MySQL y Google Maps

Cita:
Iniciado por elbaronhtml Ver Mensaje
...
He buscado tutoriales de Geocoder de Google Maps pero no he encontrado nada que sea básico.. no tengo ni idea de JS...
Creo que implementado el tutorial anterior, te darás cuenta que, teniendo en la base de datos direcciones y coordenadas, puedes ahorrarte ese paso. Geocoder tiene muchos beneficios pero también tiene unas cuotas de petición de solicitudes a Google que podrás evitarlas. Personalmente lo uso para la carga, una a una, de las direcciones a la base de datos, no para mostrarlas después en un mapa.

A partir de ahí, en la limitación a zonas espacíficas (pensando siempre en el círculo de proximidad) puedes seguir con la biblioteca de elementos geométricos.

Como ves, te voy guiando por los tutoriales de developers.google.com/maps/

Una vez que desarrolles estos tutoriales (donde te plantearás otros temas como la inserción de marcadores personalizados, los datos y la construcción de la ventana de información, etc., podremos seguir el desarrollo con la limitación de puntos a un área determinada.

Nos vas comentando, ya con algo de código.

Etiquetas: buscador, google, html, mapa, maps, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:56.