2015-05-17 3 views
-4

, если у меня ниже код для инициализации Google Map OnLoadнагрузки Google Maps карта на события нажатия

<script src="https://maps.googleapis.com/maps/api/js"></script> 
<script>   
    function initialize() { 
     var lat = 45.430817; 
     var lon = 12.331516; 

     var mapCanvas = document.getElementById('map-canvas'); 
     var mapOptions = { 
      center: new google.maps.LatLng(lat, lon), 
      zoom: 10, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     var map = new google.maps.Map(mapCanvas, mapOptions); 
    } 
    google.maps.event.addDomListener(window, 'load', initialize); 
    google.maps.event.addDomListener(window, "resize", function() { 
     var center = map.getCenter(); 
     google.maps.event.trigger(map, "resize"); 
     map.setCenter(center); 
    });   
</script> 

как я могу изменить это, чтобы загрузить эту карту только на определенное событие (нажмите на вкладку с идентификатором = закладки ссылка)

<li id="tab-link">Show map </li> 
+2

Havent вы пробовали: '$ ('# закладки ссылки') нажмите (функцию() {// содержимое внутри Initialize()}' ' –

+1

onload' является событие, поэтому вызовите 'initialize()' внутри обработчика события Вместо этого – charlietfl

ответ

2
var myCenter=new google.maps.LatLng(45.430817, 12.331516); 
var marker=new google.maps.Marker({ 
    position:myCenter 
}); 

function initialize() { 
    var mapProp = { 
     center:myCenter, 
     zoom: 14, 
     draggable: false, 
     scrollwheel: false 

    }; 

    var map=new google.maps.Map(document.getElementById("map-canvas"),mapProp); 
    marker.setMap(map); 

    google.maps.event.addListener(marker, 'click', function() { 

    infowindow.setContent(contentString); 
    infowindow.open(map, marker); 

    }); 
}; 



$(document).ready(function(){ 

      $('#tab-link').bind('click', function() { 
       initialize() 
      }); 
      }); 
Смежные вопросы