Javascript Google Maps V3.getBounds().lat()返回窗口

Javascript Google Maps V3.getBounds().lat()返回窗口,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我正在使用GMAPSv3运行Django应用程序。我正在地图上绘制标记,但由于数据集的大小,我不想渲染所有标记,只渲染当前视口中可见的标记 我使用var top=map.getBounds().getNorthEast().lat()在两种不同的情况下获取视口的边界,然后过滤我的所有点,只显示纬度低于top的点 第一次运行时,它返回我所期望的纬度,如52.xxx,但第二次,它返回Window。我还在视口的左侧、右侧和底部运行相同类型的函数,两次都返回相同(预期)的结果 很难给出准确的代码,因为它

我正在使用GMAPSv3运行Django应用程序。我正在地图上绘制标记,但由于数据集的大小,我不想渲染所有标记,只渲染当前视口中可见的标记

我使用
var top=map.getBounds().getNorthEast().lat()
在两种不同的情况下获取视口的边界,然后过滤我的所有点,只显示纬度低于
top
的点

第一次运行时,它返回我所期望的纬度,如
52.xxx
,但第二次,它返回
Window
。我还在视口的左侧、右侧和底部运行相同类型的函数,两次都返回相同(预期)的结果

很难给出准确的代码,因为它非常依赖于应用程序的其余部分,但举个例子:

function getMapBounds(map){
    var r = map.getBounds().getNorthEast().lng();
    var l = map.getBounds().getSouthWest().lng();
    var t = map.getBounds().getNorthEast().lat();
    var b = map.getBounds().getSouthWest().lat();

    MB = [r, l, t, b];
}
console.log(MB)
返回:

[-6.182485199047846, -6.294923400952143, 53.32952272076843, 53.28244090019188]
-6.204080899047881
-6.316519100952178
Window {stop: function, open: function, alert: function, confirm: function, prompt: function…}
53.326276765171606
鉴于:

function plotPoints(map){
    right = map.getBounds().getNorthEast().lng();
    left = map.getBounds().getSouthWest().lng();
    top = map.getBounds().getNorthEast().lat();
    bottom = map.getBounds().getSouthWest().lat();
    console.log(right);
    console.log(left);
    console.log(top);
    console.log(bottom);
}
返回:

[-6.182485199047846, -6.294923400952143, 53.32952272076843, 53.28244090019188]
-6.204080899047881
-6.316519100952178
Window {stop: function, open: function, alert: function, confirm: function, prompt: function…}
53.326276765171606
除了我的
top
变量之外,数字是相同的(应该是相同的,它是相同的视口)。我复制并粘贴了代码,以确保它们在两种情况下都是相同的,并查找可能导致问题的重复变量名,但没有找到任何结果。尝试更改变量名和重新排序函数,但没有成功


任何关于它们的不同之处和潜在解决方案的想法都将受到极大欢迎

可能是地图没有完全加载吗?或者这是在加载回调/承诺中调用的?看看这个问题,似乎有一个与您类似的问题:
top
在Javascript中是一个保留字,不要使用它:@Lissy我不这么认为,当发生这种情况时,我会得到
未定义的
,其他变量都有值这一事实表明,地图已经完全改变了loaded@duncan谢谢我通常用python编写代码,但并不知道这一点。更改为上面的
,现在效果很好