Google maps api 3 在事件触发器上设置JS中的全局变量-Google Maps API

Google maps api 3 在事件触发器上设置JS中的全局变量-Google Maps API,google-maps-api-3,global-variables,zooming,event-listener,Google Maps Api 3,Global Variables,Zooming,Event Listener,我正在使用Google Maps API v3,需要根据当前的缩放级别偏移标记 我有一个全局变量current_zoom_level,和一个用于放大/缩小的事件侦听器: google.maps.event.addListener(映射'zoom_changed',函数(){ 当前_zoom_level=map.getZoom(); 警报(当前缩放级别); }); 我在初始化代码和计算偏移量的代码中尝试了这一点。该警报显示正确的当前缩放级别,但当我在build_loan_markers()(其中我

我正在使用Google Maps API v3,需要根据当前的缩放级别偏移标记

我有一个全局变量current_zoom_level,和一个用于放大/缩小的事件侦听器:

google.maps.event.addListener(映射'zoom_changed',函数(){ 当前_zoom_level=map.getZoom(); 警报(当前缩放级别); });

我在初始化代码和计算偏移量的代码中尝试了这一点。该警报显示正确的当前缩放级别,但当我在build_loan_markers()(其中我计算偏移量)中访问它时,当前的缩放级别未定义

函数构建\贷款\标记() {
var偏移; 警报(当前缩放级别); 如果(!window.current\u zoom\u level){ window.current\u zoom\u level=1; } 偏移量=1/(窗口当前缩放级别^2); 警报(“缩放:”+当前缩放级别+“偏移:”+偏移); 等 }


如何全局设置此变量?

要使变量成为全局变量,只需在任何函数定义之外声明它

var current_zoom_level = 0;

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

function build_loan_markers() {
  alert(current_zoom_level);
}

您不需要以window.current\u zoom\u级别访问变量。从您的代码中不清楚两个代码>警报(CurrutyZoMoMeLead)s < /C>正在工作,请考虑将一个链接发布到一个显示问题的站点。< /P>请在您的PASS中格式化代码。但是不能用一个变量来完成它的值,该变量的值将从另一个触发函数中填充。