$ getScript Metodo per caricare API Google Maps -> Blank Page?
-
29-10-2019 - |
Domanda
Ho un piccolo pulsante sulla mia pagina che dovrebbe caricare una mappa di Google. Dal momento che voglio che la mia pagina si carichi molto velocemente e questa funzione non è in realtà necessaria, non voglio incorporare lo script API di Google Maps sul carico di pagina. Voglio solo caricarlo quando il pulsante viene effettivamente cliccato.
Ho provato a usare il metodo jQuery $ .getScript (), tuttavia se sto usando il codice sopra sto ottenendo una pagina vuota. La pagina inizia a caricare e non appena il mio file JavaScript viene eseguito, la pagina è vuota (bianco).
$.getScript("http://maps.google.com/maps/api/js?sensor=false", function(){
$('#googleMap').live('click', function(e) {
e.preventDefault();
loadMap("mapBottomContainer", false);
});
});
Cosa sto facendo di sbagliato qui?
Modifica/aggiornamento:
Non sembra fare la differenza se lo faccio:
$('#googleMap').live('click', function(e) {
$.getScript("http://maps.google.com/maps/api/js?sensor=false", function(){
e.preventDefault();
loadMap("mapBottomContainer", false);
});
});
La pagina non viene vuota nel caricamento della pagina, tuttavia non appena faccio clic sul taglio delle maps, la pagina viene sbiancata.
Aggiornamento 2:
la funzione di caricma:
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);
}
Nessuna soluzione corretta