我正在使用Google Maps API v3,需要根据当前缩放级别来偏移标记。
我有一个全局变量current_zoom_level,以及一个用于放大/缩小的事件监听器:
google.maps.event.addListener(map,'zoom_changed',function(){ current_zoom_level = map.getZoom(); 警报(current_zoom_level); });
我在初始化代码和计算偏移量的代码中尝试了这一点。警报显示正确的当前缩放级别,但是当我在build_loan_markers()(我计算偏移量)中访问它时,current_zoom_level未定义。
function build_loan_markers()
{
var offset;
警报(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 :(得分: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
中哪一个正在运行,请考虑发布指向演示此问题的网站的链接。