PhoneGap + JQuery Mobile + Google Maps v3: o mapa mostra os blocos Top Left?

Eu tenho um aplicativo PhoneGap que usa o JQuery Mobile para navegar entre as páginas.

Quando navego da página principal para uma página que contém um mapa do Google, o mapa mostra apenas um único bloco de cada vez no canto superior esquerdo, como este:

Qual pode ser a razão disso?

**

Código fonte: O script a seguir está no cabeçalho da minha 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>

Minha página é assim

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

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

Eu navego de casa para a página de mapas assim:

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

Atualizar depois de aplicar a solução Gajotres, as peças se tornam assim

questionAnswers(2)

yourAnswerToTheQuestion