2010-12-12 46 views
0

我正在使用Google Maps API v3,並需要根據當前縮放級別抵消標記。在事件觸發器中設置JS中的全局變量 - Google Maps API

我有一個全局變量current_zoom_level,和輸入/輸出的事件偵聽器變焦: '部分zoom_changed'

google.maps.event.addListener(地圖,函數(){ current_zoom_level = map.getZoom( ); alert(current_zoom_level); });

我試過這個位在初始化代碼和計算偏移量的代碼。該警報顯示正確的當前縮放級別,但是當我在build_loan_markers()(其中我計算偏移量)中訪問它時,current_zoom_level未定義。

function build_loan_markers() {
var offset; alert(current_zoom_level); (!window.current_zoom_level){window_current_zoom_level = 1; } offset = 1 /(window.current_zoom_level^2); alert('zoom:'+ current_zoom_level +'offset:'+ offset); 等。 }

如何全局設置這個變量?

+0

請格式化您的文章中的代碼。 – plexer 2010-12-16 11:39:21

回答

0

要創建一個全局變量,只需在任何函數定義之外聲明它即可。

var current_zoom_level = 0; 

function something() { 
    // Add your listener here 
} 

function build_loan_markers() { 
    alert(current_zoom_level); 
} 

您不應該需要將您的變量作爲window.current_zoom_level訪問。從你的代碼中不清楚哪兩個alert(current_zoom_level)s工作正常,請考慮發佈一個鏈接到一個能夠證明問題的網站。