2013-11-04 161 views
0

我想用jQuery更新谷歌地圖v3,目前它加載地圖,但當點擊.preview時,地圖縮放到寬度和高度,然後變灰。jQuery更新谷歌地圖

$('.preview').click(function(){ 
    var width = $('#width').val(); 
    var height = $('#height').val(); 
    $('#map').css({ 
     'width':width, 
     'height':height 
    }); 
    var mapElement = document.getElementById('map'); 
    var updateOptions = { 
     zoom: 6 
    } 
    var map = new google.maps.Map(mapElement, updateOptions); 
}); 

HTML

<div class="block space" id="map"></div> 
<button class="btn preview">Preview</button> 

的Javascript

google.maps.event.addDomListener(window, 'load', init); 
function init() { 
    var mapOptions = { 
     zoom: 2, 
     center: new google.maps.LatLng(40.697299 , -73.809815), 
    }; 
    var mapElement = document.getElementById('map'); 
    var map = new google.maps.Map(mapElement, mapOptions); 
} 
+0

你能粘貼HTML嗎?這部分似乎是對的。 – Regu

+0

@Regu這已經更新 – ngplayground

+0

您的瀏覽器控制檯中是否有任何錯誤? –

回答

0

這是最有可能是因爲你正試圖重新加載地圖,而不是重新定位和縮放當前的一個。 請試試類似這樣並且讓我知道:

$('.preview').click(function(){ 
    var width = $('#width').val(); 
    var height = $('#height').val(); 
    $('#map').css({ 
     'width':width, 
     'height':height 
    }); 
    map.setZoom(6); 
    //map.setCenter() change this is your logic needs it. 
}); 
+0

我在console.log中得到'map.setZoom不是函數',我怕 – ngplayground

+0

嘗試把地圖全局化。這是一個函數https://developers.google.com/maps/documentation/javascript/events – Regu

+0

@Beardy是否有效? – Regu