jak radzić sobie z mapą Google w ukrytym div (zaktualizowany obraz)
Mam stronę i początkowo mapa google znajduje się wewnątrz ukrytego div. Następnie po kliknięciu łącza wyświetlam element div, ale pojawia się tylko lewy górny róg mapy.
próbowałem uruchomić ten kod po kliknięciu:
map0.onResize();
lub:
google.maps.event.trigger(map0, 'resize')
jakieś pomysły. tutaj jest obraz tego, co widzę po pokazaniu div z ukrytą mapą.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
23 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
HTML
CSS
Javascript
Anonimowy użytkownik
Potwierdzenie od:
google.maps.event.trigger($("#div_ID")[0], 'resize');
Jeśli nie masz dostępnej mapy zmiennych, powinna to być pierwszy element (chyba że zrobiłeś coś głupiego) w zawierającym GMAP.
Anonimowy użytkownik
Potwierdzenie od:
Alternatywnie możesz po prostu wywołać własne zdarzenie zmiany rozmiaru okna.
Mapy Google automatycznie uruchomią się ponownie:
Anonimowy użytkownik
Potwierdzenie od:
To, co zrobiłem, to ustawienie licznika czasu, aby odświeżyć mapę po umieszczeniu widocznego ...
Nie wiem, czy jest to wygodniejszy sposób, ale działa!
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
[b]
Jak zaktualizować mapę przy zmianie rozmiaru div
[/b]>
Nie wystarczy po prostu zadzwonić do , musisz też zresetować środek mapy.
[b]
Jak nasłuchiwać zdarzenia zmiany rozmiaru
[/b]>
Angular (ng-show lub ui-bootstrap collapse
)
Wiązanie bezpośrednio z widocznością elementu, a nie wartością przypisaną do ng-show, ponieważ $ watch może zostać uruchomiony przed zaktualizowaniem ng-show (więc div będzie nadal niewidoczny).
jQuery .show()
Użyj wbudowanego wywołania zwrotnego
Bootstrap 3 Modal
Anonimowy użytkownik
Potwierdzenie od:
Jeśli masz wklejoną mapę google przez kopiowanie/wklejanie kodu iframe i nie chcesz korzystać z Google Maps API
, to jest proste rozwiązanie. Po prostu wykonaj następującą linię javascript, gdy pokażesz ukrytą mapę. Po prostu pobiera kod HTML iframe i wstawia go w tym samym miejscu, aby ponownie się renderował:
Wersja jQuery:
W HTML:
Poniżej przykład mapy początkowo ukrytej w sekcji bootstrap 3:
Anonimowy użytkownik
Potwierdzenie od:
HTML
CSS
Jquery
Anonimowy użytkownik
Potwierdzenie od:
gmaps.js
http://hpneo.github.io/gmaps/, połączenie:
kiedy wyświetlany jest Twój element DIV.
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
ukryć:
pokazać:
Anonimowy użytkownik
Potwierdzenie od:
To działało dobrze dla mnie
Anonimowy użytkownik
Potwierdzenie od:
gdzie to identyfikator karty zawierającej mapę.
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Moje rozwiązanie polega na dodaniu klasy do ukrytego elementu, aby go pokazać i ukryć za pomocą pozycji bezwzględnej, a następnie wyrenderować mapę i usunąć klasę po załadowaniu mapy.
Testowane za pomocą Bootstrap Carousel.
HTML
CSS
JS
Anonimowy użytkownik
Potwierdzenie od:
CSS
:
jQuery
:
Anonimowy użytkownik
Potwierdzenie od:
Wklej ten kod wewnątrz i na końcu kodu, gdzie kliknie element div kontenera i otworzy się ukryty element div. Ważną rzeczą jest to, że element div kontenera musi być widoczny przed wywołaniem inicjalizacji.
Wypróbowałem kilka rozwiązań sugerowanych tutaj i na innych stronach, ale nie zadziałały. Daj mi znać, jeśli to zadziała. Podziękować.
Anonimowy użytkownik
Potwierdzenie od:
To zdarzenie zostanie wyzwolone po załadowaniu div, więc zaktualizuje zawartość mapy bez konieczności naciskania klawisza F5
Anonimowy użytkownik
Potwierdzenie od:
Musiałem użyć Kod poniżej:
Anonimowy użytkownik
Potwierdzenie od:
<div class="snippet" data-console="true" data-hide="false" data-lang="js">
<pre class="snippet-code-js lang-js prettyprint-override">
<pre class="snippet-code-html lang-html prettyprint-override">