我正在使用GMaps V3运行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]
,而:
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.204080899047881
-6.316519100952178
Window {stop: function, open: function, alert: function, confirm: function, prompt: function…}
53.326276765171606
除了我的top
变量之外,数字是相同的(因为它们应该是相同的视口)。我复制并粘贴了代码以确保它们在两种情况下都相同,并查找可能导致问题的重复变量名称,但没有找到。尝试更改变量名称和重新排序功能,但没有运气
任何想法,为什么他们的不同和潜在的解决方案将受到极大的欢迎!