Bootstrap: Google Map wird in einer Behälterflüssigkeit nicht angezeigt

Erstellt am 9. März 2012  ·  3Kommentare  ·  Quelle: twbs/bootstrap

Hi,
Ich habe eine Navigationsleiste und eine 100% x 100% Google Map in meiner App. Ich möchte rechts eine Seitenleiste mit anderen Filtern hinzufügen. Der Grund für das Hinzufügen auf der rechten Seite ist die bessere Erfahrung auf kleineren Bildschirmen.

Die Karte rendert den Vollbildmodus mit flüssigen (%) Werten, wenn ich die Karte einfach nach dem letzten Navigationsleisten-Div wie folgt hinzufüge:

Karte ist sichtbar:

    <div class="navbar">
        <nav bar stuff......>
    </div>
    <div id="map-canvas"></div>

Die Karte ist nicht sichtbar, wenn ich versuche, sie innerhalb einer Spanne hinzuzufügen, um ihre Größe zu steuern und eine Seitenleiste hinzuzufügen.

    <div class="container-fluid">
        <div class="row-fluid">
            <div class="span9">
                <div id="map-canvas"></div>
            </div>
            <div class="span3">
                <div class="well sidebar-nav">
                    <ul class="nav nav-list">
                        <li class="nav-header">Sidebar</li>
                        <li class="active"><a href="#">Link</a></li>
                        <li><a href="#">Link</a></li>
                        <li><a href="#">Link</a></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>

Ich möchte der Karte keinen festen Wert hinzufügen, da dies den Zweck der Flüssigkeit verfehlt.

Danke im Voraus!

Hilfreichster Kommentar

Dies ist nicht möglich, da die Karte eine Höhe von 0 hat. Sie müssen einen Javascript-Callback hinzufügen, der beispielsweise die Höhe der Karten-Leinwand manuell festlegt, wenn die Größe des Fensters geändert wird.

$(window).resize(function () {
    var h = $(window).height(),
        offsetTop = 60; // Calculate the top offset

    $('#map-canvas').css('height', (h - offsetTop));
}).resize();

Alle 3 Kommentare

Dies ist nicht möglich, da die Karte eine Höhe von 0 hat. Sie müssen einen Javascript-Callback hinzufügen, der beispielsweise die Höhe der Karten-Leinwand manuell festlegt, wenn die Größe des Fensters geändert wird.

$(window).resize(function () {
    var h = $(window).height(),
        offsetTop = 60; // Calculate the top offset

    $('#map-canvas').css('height', (h - offsetTop));
}).resize();

@BenjiZombie - Danke! Das hat es gelöst!

Vielen Dank! Nach 10 verschiedenen Vorschlägen funktioniert dieser schnell und einfach!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

alvarotrigo picture alvarotrigo  ·  3Kommentare

kamov picture kamov  ·  3Kommentare

iklementiev picture iklementiev  ·  3Kommentare

bellwood picture bellwood  ·  3Kommentare

ghost picture ghost  ·  3Kommentare