2010-09-23 17 views
6

Realmente espero que alguien pueda aconsejarle que muestre un mapa de Google desde un div oculto.Visualización del mapa de Google desde un área oculta

Tengo un mapa de google que quiero mostrar a un usuario si hace clic en un enlace, es decir, Mostrar mapa.

Poner el mapa en un div oculto simplemente no funciona para nada, así que oculté el mapa -1000px en una posición absoluta css value.

Esto me ha dado resultados mucho mejores, pero cuando uso css para volver a mostrar el mapa, solo se muestra.

http://screencast.com/t/MTMyOGZmNW

Puede alguien dar asesorarme sobre la mejor manera de tener un mapa oculto se hace visible después de que peform un espectáculo?

Espero que alguien pueda aconsejar.

Gracias

Respuesta

25

Usted no necesita molestarse con la posición absoluta y todo eso. Que el div se podrá ver hasta que sea necesario, a continuación, mostrar y llamar google.maps.event.trigger(map, 'resize') (v3) o map.checkResize() (v2)

escenario adicional mencionado en los comentarios:

Asegúrate de que llamar google.maps.event.trigger(map, 'resize') ANTES de llamar map.fitBounds() o se obtendrá resultados inesperados .

+0

Hey Gracias. Intenté map.checkResize() para V2 y estoy obteniendo el mapa de error no está definido. Y sí, sé que estoy usando v2. Alguna sugerencia ? – Lee

+0

Aghh lo tengo. Estoy usando un plugin jQuery. $ .googleMaps.gMap – Lee

+0

¿Cuándo llamas google.maps.event.trigger (map, 'resize')? ¿Puedes poner eso en el evento onclick del div que está oculto (y luego se muestra) cuando haces clic en el enlace? – Bill

2

¿Por qué no postergar la representación del mapa hasta que se muestre div?

código áspera:

$("button").click(function() { 
    $(mapDiv).show(); 
    new google.maps.Map(mapDiv, opts); 
}); 
+1

Y si se oculta y se muestra repetidamente? ¿No estás creando muchos objetos de mapa pero nunca los estás destruyendo? – Mawg

Cuestiones relacionadas