Easy Google Maps: clase PHP para facilitar el uso de la API de Google Maps
12 COMENTARIOS - Publicado hace 12 meses - Clasificado en: PHP, TUTORIALES, CLASESEasy Google Maps es una clase para PHP que, como su nombre indica facilita la inclusión de mapas a través de Google Maps en un sitio web. Lo primero que deberemos hacer, para poder utilizar la API de Google Maps es obtener una key o clave para el dominio en el que pensemos utilizar la API.
Una vez tenemos una key podemos invocar un mapa de un modo tan sencillo como:
<?php
require'EasyGoogleMap.class.php';
$key ="XXXXXXXXXX";
$gm = & new EasyGoogleMap($key);
$gm->SetMapZoom(15);
$gm->SetAddress("Colon 22, Valencia");
$gm->SetInfoWindowText("Esta es la primera dirección");
$gm->SetAddress("Periodista Azzati 7, Valencia");
$gm->SetInfoWindowText("Esta es la segunda dirección");
?>
<html>
<head>
<title>EasyGoogleMap</title>
<?php echo $gm->GmapsKey(); ?>
</head>
<body>
<?php echo $gm->MapHolder(); ?>
<?php echo $gm->InitJs(); ?>
<?php echo $gm->UnloadMap(); ?>
</body>
</html>
Donde "XXXXXXXXXX" es la key que acabamos de obtener.
Ver ejemplo en funcionamiento » »
Algunas de las propiedades que podemos establecer son las siguientes:
//Para habilitar/deshabilitar el zoom progresivo.
// De modo predeterminado deshabilitado (FALSE)
$gm->mContinuousZoom = FALSE;//Para habilitar/deshabilitar La escala del mapa.
// De modo predeterminado habilitado (TRUE)
$gm->mScale = TRUE;//Para habilitar/deshabilitar el mapa interno.
// De modo predeterminado deshabilitado (FALSE)
$gm->mInset = FALSE;//Para habilitar/deshabilitar el tipo de mapa.
// De modo predeterminado deshabilitado (FALSE)
$gm->mMapType = FALSE; # default//Para establecer las dimensiones del mapa
//De modo predeterminado 300px x 300px
$gm->SetMapWidth(500);
$gm->SetMapHeight(500);//Para establecer el zoom
//De modo predeterminado 13
$gm->SetMapZoom(10);//Para establecer el tipo de puntero
// De modo predeterminado se utiliza GT_FLAT
$gm->SetMarkerIconStyle('FLAG');
$gm->SetMarkerIconStyle('GT_FLAT');
$gm->SetMarkerIconStyle('GT_PILLOW');
$gm->SetMarkerIconStyle('HOUSE');
$gm->SetMarkerIconStyle('PIN');
$gm->SetMarkerIconStyle('PUSH_PIN');
$gm->SetMarkerIconStyle('STAR');//Para establecer el color del puntero
// De modo predeterminado se utiliza PACIFICA
$gm->SetMarkerIconColor('PACIFICA');
$gm->SetMarkerIconColor('YOSEMITE');
$gm->SetMarkerIconColor('MOAB');
$gm->SetMarkerIconColor('GRANITE_PINE');
$gm->SetMarkerIconColor('DESERT_SPICE');
$gm->SetMarkerIconColor('CABO_SUNSET');
$gm->SetMarkerIconColor('TAHITI_SEA');
$gm->SetMarkerIconColor('POPPY');
$gm->SetMarkerIconColor('NAUTICA');
$gm->SetMarkerIconColor('DEEP_JUNGLE');
$gm->SetMarkerIconColor('SLATE');
//Establecer el texto del bocadillo informativo
$gm->SetInfoWindowText("Este es el punto uno")
El uso es realmente sencillo. Lo unico que no me acababa de gustar es que apareciese el bocadillo de la primera dirección. Prefiero que aparezcan los bocadillos cuando el usuario hace click. Simplemente cogiendo la clase y comentando estas dos líneas ya lo tendremos,
if ($i===0)
$ret .= "marker.openInfoWindowHtml(address_$i.infowindowtext);\n";
Ver un segundo ejemplo en funcionamiento » »
Descargar ejemplo completo » »
Algunas entradas relacionadas:
- Trabajar con PHP y directorios
- Forzar la descarga de un fichero con PHP
- highlight_file: resaltar código PHP
- Exportar tablas HTML a Excel con PHP y JQuery
- Todos los archivos de una carpeta junto con su extensión y tamaño en PHP
- Crear hojas de cálculo Excel con PHP
- Forzar la descarga de imágenes con PHP
También te puede interesar:
| Snippets y recursos para iniciarse con .htaccess | Proteger facilmente con contraseña un sitio web o un subdirectorio | 10 fuentes excelentes para buscar la inspiración en el diseño con WordPress | Emastic CSS Framework | 16 consejos para crear plantillas con Smarty |
COMENTARIOS
|
|
Publicado hace 12 meses Iñaki - http://blog.ikhuerta.com La clase está bien orientada y parece realmente cómoda de usar. Pero con el tiempo que tarda el geocoder en actuar via javaScript creo que le falta algo que haga lanzar el geocoder vÃa servidor y cachee la respuesta (para no saturar a google con peticiones de la misma dirección). Pero vamos, que me la quedo y si la necesito ya la modificare ;) Gracias! |
|
|
Publicado hace 12 meses willowman - http://www.puenteromatico.com Buenisimo, estuve buscando esto. Muchas gracias! Saludos |
|
|
Publicado hace 12 meses Pharpe - http://reflexionespharpianas.blogspot.com Estoy empezando a interesarme por el PHP, asà que ya iré mirando todos los post que tienes poco a poco y ya te iré comentando a medida que pueda |
|
|
Publicado hace 12 meses Francisco - http://www.webintenta.com #Iñaki: Efectivamente, el geocoder es bastante lento. Lógico por otro lado. Lo peor es que si le vas a pasar un buen número de puntos a localizar has de lanzar las peticiones separadas en el tiempo -unos milisegundos- para que no se ralle, lo que hace más lento todavÃa el tema. Yo tengo que realizar un proyecto en el que tengo que situar bastantes puntos y creo que lo que voy a hacer es utilizar el geocoder la primera vez que se lee la dirección y una vez optenidas las coordenadas, grabarlas y leer directamente coordenadas las siguientes veces. Saludos. |
|
|
Publicado hace 12 meses Iñaki - http://blog.ikhuerta.com Si, al final esa es siempre la mejor solución. Además tener las coordenadas en BD luego te permite hacer un admin para que el gestor de turno pueda situar bien los puntos que el geocoder no haya acertado del todo (ya sabemos que aun le queda un poco para ser exacto en calles largas y pueblos pequeños). Lo dicho, gracias por la clase. Me será de utilidad ;) |
|
|
Publicado hace 11 meses Daniel - http://www.leonphp.com Justo andaba buscando esto , sera un gran plus , para un proyecto en el cual estoy trabajando.. Muchisimas gracias |
|
|
Publicado hace 11 meses ricardo - http://www.forexautomatizado.com Hola Mi pregunta es... donde hay que poner este codigo: if ($i===0) $ret .= "marker.openInfoWindowHtml(address_$i.infowindowtext);\n"; Saludos !! |
|
|
Publicado hace 11 meses Francisco - http://www.webintenta.com Lo pone en el post. No es ponerlo, más bien quitarlo o comentarlo. El código está dentro de la clase. Saludos. |
|
|
Publicado hace 9 meses Eduardo - Antes que nada gracias por tu post. Super bien explicado y claro. Ahora te molesto con una pregunta... yo quisiera ademas de las marcas dentro del mapa, colocar por fuera las referencias que al clicar en ellas abran el bocadillo correspondiente dentro del mapa. Algo mas o menos asi: http://i43.tinypic.com/2zs00ah.jpg Muchas gracias !! |
|
|
Publicado hace 7 meses Luis - http://www.accountservs.ec De que manera puedo configurar para que el bocadillo me muestre en primera instancia una direccion de guayaquil - ecuador? Como deberia ser mi atributo SetAddress?? Gracias, y por cierto se ve interesante esta librerÃa. |
|
|
Publicado hace 5 meses Frank - Como podria usarlo sin el Geocoder, solo pasandole las coordenadas? Muchas gracias esta muy buena la clase |
|
|
Publicado hace 4 meses hektor - Se puede hacer como dice Frnak?? se puede usar pasandole las coordenadas solamente?? saludos |
|
|
Publicado hace 4 meses Javier - Gente , funciona todo ok nada mas que no puedo ver las marcas en el mapa. Alguna idea ? |





















Sergyo en Validación con expresiones regulares y Javascript




