2014-03-01 50 views
0

我想獲得一個函數來改變地圖中心,當瀏覽器低於1104px,到目前爲止我有地圖自動去調整大小的中心,但由於頁面佈局的變化,我需要實際定義不同的寡婦大小的兩個不同的中心。如何更改地圖中心在某些窗口大小的谷歌地圖Api v3

這是代碼。

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> 
<script> 

var map; 

function initialize() { 

    var myLatlng = new google.maps.LatLng(51.522696, -0.107620); 
    var mapOptions = { 
     zoom: 16, 
     center: new google.maps.LatLng(51.522403, -0.097636), 
    disableDefaultUI: false, 
    scrollwheel: false, 
     navigationControl: false, 
     mapTypeControl: false, 
     scaleControl: false, 
     draggable: false, 
    disableDoubleClickZoom: true, 
    rotateControl:false, 
    streetViewControl:false, 
    overviewMapControl:false, 
    }; 

    map = new google.maps.Map(document.getElementById('map-canvas'), 
         mapOptions); 

    var image = '<?php bloginfo('template_url'); ?>/images/marker.png'; 
    var myLatLng = new google.maps.LatLng(51.522696, -0.107620); 
    var officeMarker = new google.maps.Marker({ 
     position: myLatLng, 
     map: map, 
     icon: image, 
    animation: google.maps.Animation.DROP, 
    }); 

    google.maps.event.addDomListener(window, 'resize', function() { 
     map.setCenter(myLatlng); 
    }); 

} 

google.maps.event.addDomListener(window, 'load', initialize); 

</script> 

任何幫助,將不勝感激

回答

0

document.body.offsetWidth會給你的視口的寬度,設置基於價值中心:

google.maps.event.addDomListener(window, 'resize', function() { 
map.setCenter((document.body.offsetWidth<1104) 
        //<1104 
        ? latLng 
        //>=1104 
        : anotherLatLang 
      ); 
}); 
//trigger the resize to get the initial center 
google.maps.event.trigger(window, 'resize'); 
+0

完美感謝您的幫助 – AlexBMAS