Question

J'ai un petit bouton sur ma page qui devrait charger une carte Google. Étant donné que je veux que ma page se charge très rapidement et que cette fonctionnalité n'est pas réellement nécessaire, je ne veux pas intégrer le script API Google Maps en charge de page. Je veux juste le charger lorsque le bouton est réellement cliqué.

J'ai essayé d'utiliser la méthode jQuery $ .getScript (), mais si j'utilise le code ci-dessus, j'obtiens une page vierge. La page commence à se charger et dès que mon fichier JavaScript est exécuté, la page est vide (blanc).

$.getScript("http://maps.google.com/maps/api/js?sensor=false", function(){
    $('#googleMap').live('click', function(e) {

        e.preventDefault();
        loadMap("mapBottomContainer", false);

    });
});

Qu'est-ce que je fais de mal ici?

Modifier / Mise à jour:

Cela ne semble pas faire de différence si je fais ceci:

$('#googleMap').live('click', function(e) {

    $.getScript("http://maps.google.com/maps/api/js?sensor=false", function(){

        e.preventDefault();
        loadMap("mapBottomContainer", false);

    });

});

La page ne devient pas vide en charge de page cependant dès que je clique sur le bouton cartes, la page est blanchie.

Mise à jour 2:

La fonction LoadMap:

function loadMap(cont, scroll) {

    var latlng = new google.maps.LatLng(47.244236,11.249194);
    var options = {
        zoom: 14,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        scrollwheel: scroll,
        streetViewControl: false,
        navigationControlOptions: {  
            style: google.maps.NavigationControlStyle.SMALL 
        }
    }

    var map = new google.maps.Map(document.getElementById(cont), options);

    var mapdesc = '<div id="gmContent">'+
    '<h3 id="gmTitle" class="widget-title">Something</h3>'+
    '<div id="gmBody">'+
    '</div>'+
    '</div>';

    var infowindow = new google.maps.InfoWindow({
        content: mapdesc
    });

    var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        title: 'My Title'
    });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.open(map,marker);
    });

    infowindow.open(map,marker);

}

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top