google maps affiche pas correctement, sauf si rafraîchissant

Je suis à l'aide de JQuery mobile avec l'API Google Map.
La carte n'est pas affichée correctement, sauf si j'actualise la page et je ne comprends pas pourquoi.

voici mon map.html fichier:

<div data-role="page" id="map-page">  
    <div data-role="content" id="canvas-map" style="background-color:red"></div>
    <script src="js/map.js"></script>
    <script type="text/javascript">
        var $canvasMap = $('#canvas-map');
        $('#canvas-map').on('pagebeforeshow', initMap());
    </script>
</div>

et mon map.js fichier:

function initMap() {
    "use strict";
    google.maps.visualRefresh = true;

    var marker, map, 
        myLocation = {lat:50, lon:-80},
        mapOptions = {
            zoom: 5,
            center: new google.maps.LatLng(myLocation.lat, myLocation.lon),
            mapTypeId: google.maps.MapTypeId.PLAN,
            disableDefaultUI: true
        };

    $('#canvas-map').css("height", "200px").css("padding", "0px");
    map = new google.maps.Map(document.getElementById('canvas-map'), mapOptions);

    /** MyPosition **/
    marker = new google.maps.Marker({
        map: map,
        draggable: false,
        animation: google.maps.Animation.DROP,
        position: new google.maps.LatLng(myLocation.lat, myLocation.lon),
    });
}

Si je naviguer d'une page à la page mentionnée ci-dessus, j'obtiens le résultat suivant:
google maps affiche pas correctement, sauf si rafraîchissant

Et puis quand j'actualise, j'obtiens le résultat escompté:
google maps affiche pas correctement, sauf si rafraîchissant

Il n'est évidemment pas un problème avec la toile, puisqu'il est affiché (en rouge). De Plus,si je navigue trhough la carte, je peux voir le marqueur affiché à la droite de position.
Ces captures d'écran ont été faites à l'aide de Google Chrome, j'ai essayé avec Firefox et la toile est ici complètement rouge, pas de carte du tout.

PS: c'est une simple version de mon code d'origine, mais le comportement est le même.

EDIT:

Voir Gajotres réponse pour plus de détails, mais pour l'essentiel, dans le lien d'accès map.html page, en y ajoutant target="_blank" résolu le problème. Notez que target="_self" semble fonctionner aussi bien, étrange puisqu'il est censé être la valeur par défaut. Détails sur cible ici.

OriginalL'auteur leochab | 2013-07-18