2015-06-01 40 views
-1

設置成我的工作我的地圖位置,以及由於某種原因,我似乎無法能夠設置縮放時,我調用特定的功能。下面是我做這個任務:谷歌地圖縮放不會與功能

function mapReturn(map){ 
    $('#job-info').on('click', '#map-return', function(e){ 
     e.preventDefault(e); 
     $('#job-info').css('display' , 'none'); 
     $('#map-canvas').cass('display', 'block'); 
     redrawMaps(map); //redraw maps is very the zoom is suppose to change 
     map.fitBounds(bounds); //global variable bounds not needed here 
    }); 
} 

function redrawMaps(map){ 
    map.setCenter(new google.maps.LatLng(39.0111, -95.6752); 
    map.setZoom(7); //i want the zoom to set here but it won't 
    google.maps.event.trigger(map, 'resize'); 
} 

我打算把最後一個邏輯結構,其基於你在做什麼目前但現在縮放級別,我想它至少放大到一開始。所以總結一下,我有一個按鈕可以返回到前一個視圖,當我點擊它時,無論如何它都會放大,我只是希望它放大到之前的縮放級別。再次感謝大家!

編輯:要清楚,定義和初始化映射的代碼已經設置好了,這是正在使用的代碼的一部分,以及代碼集中運行不正常的唯一部分。對於完成的緣故,但:

//here are the map options that I used 
var mapOptions = { 
    center : new google.maps.LatLng(39.0111, -95.6752), 
    zoom : 4, 
    zoomControl : false, 
    panControl : false, 
    mapTypeControl : false, 
    streetViewControl : false, 
    draggable : false, 
    scrollWheel : false 
}; 

//here is where I initialize the map object 
var map = new google.maps.Map(document.getElementById('map-canvas', mapOptions); 
+0

您還沒有包括的代碼定義地圖。請提供證明此問題的[最小,完整,測試和可讀示例](http://stackoverflow.com/help/mcve)。 – geocodezip

+0

地圖的代碼已經存在,應該從問題本身暗示,我沒有發佈300行代碼。我可以,如果你絕對想要我,但代碼的相關部分已經在這裏。 –

+1

一個最小的例子是不是300行代碼... – geocodezip

回答

1

呼叫map.setZoom觸發resize事件之後(可能需要設置的調整後的中心,也是):

function redrawMaps(map){ 
    google.maps.event.trigger(map, 'resize'); 
    map.setCenter(new google.maps.LatLng(39.0111, -95.6752); 
    map.setZoom(7); 
} 
+0

我剛剛嘗試過這一點,我得到了和以前一樣的結果。我設置了類似'var zoom = map.getZoom();'並將其打印到控制檯以查看它是否已設置並且它已經設置。所以變焦越來越大,但沒有設置,但爲什麼不呢。因爲它應該和調整正確? –

+0

這是一個猜測,它可能是這個問題。如果沒有[最小,完整,已測試和可讀的示例](http://stackoverflow.com/help/mcve),我無法確定是否重現了您遇到的問題(這就是爲什麼我需要它)。 – geocodezip

+0

以及你的猜測是有點正確的,除非我保持調整大小,地圖只是偏離中心。我想我會繼續努力,看看我能想出什麼。 –