PhoneGap + JQuery Mobile + Google Maps v3: ¿el mapa muestra los azulejos superiores izquierda?

Tengo una aplicación PhoneGap que utiliza JQuery mobile para navegar entre páginas.

Cuando navego desde la página principal a una página que contiene un mapa de Google, el mapa muestra solo un solo mosaico a la vez en la esquina superior izquierda de la siguiente manera:

¿Cuál puede ser la razón de esto?

**

Código fuente: El siguiente script está en la cabecera de mi página.

<script>
            $(document).on("pageinit", "#stores", function () {
                var centerLocation = new google.maps.LatLng('57.77828', '14.17200');

        var myOptions = {
            center: centerLocation,
            zoom: 8,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            callback: function () { alert('callback'); }
        };

        map_element = document.getElementById("map_canvas");




        map = new google.maps.Map(map_element, myOptions);

        var mapwidth = $(window).width();
        var mapheight = $(window).height();
        $("#map_canvas").height(mapheight);
        $("#map_canvas").width(mapwidth);
        google.maps.event.trigger(map, 'resize');

            });
        </script>

Mi pagina es asi

<!-- Home -->
        <div data-role="page" id="home">
.
.
.
</div>

<div data-role="page" id="stores">
<div data-role="content" id="map_canvas"></div>
</div>

Navego desde mi casa a la página de mapas como esta:

<a href="#stores">Stores</a>

Actualizar Después de aplicar la solución de Gajotres los azulejos se vuelven así.

Respuestas a la pregunta(2)

Su respuesta a la pregunta