2014-10-10 11 views
5

Mam stronę mapy Google api v3 na stronie, a po powiększeniu do pełnego rozmiaru okna nie przerysowuje siebie. Możesz zobaczyć problem: hereSpojrzałem na to, co ludzie mówią w podobnych kwestiach i okazało się, że wszyscy wydają się rozwiązywać ten problem za pomocą tego wiersza kodu.Przerysuj mapy google do nadrzędnego rozmiaru kontenera

google.maps.event.trigger(map, 'resize'); 

Próbowałem, ale nie pomagało. Twoja opinia jest bardzo doceniana.

+0

wyzwalania zdarzenia zmiany rozmiaru zamiast 'window' zamiast –

+0

Nie zmieniam rozmiaru okna przeglądarki. Zmieniany jest tylko rozmiar elementu html. – YaroslavS120

+0

Jednak słuchacz, który ustawia środek mapy, jest powiązany z zdarzeniem zmiany rozmiaru okna, a nie mapy. Ponadto API wewnętrznie obserwuje zdarzenie zmiany rozmiaru okna i przerysowuje mapę. –

Odpowiedz

11

wydaje się działać dla mnie ... (patrz: here)

Zasadniczo, po prostu dodając google.maps.event.trigger(map, 'resize'); nie pomoże, to nazwać na obiekcie map ty instancja ...

+0

Masz rację. Właśnie pisałem własną odpowiedź, ale twoja wydaje się bardziej elegancka. Przy każdym kliknięciu tworzyłem nową funkcję map Google, co nie jest zbyt skuteczne. Służyło to jednak celowi. Zdecydowanie lepszą praktyką jest przechowywanie funkcji map w zmiennej globalnej i dostęp do niej, kiedy tylko jej potrzebuję. Wielkie dzięki. – YaroslavS120

Powiązane problemy