Javascript Google Maps V3自定义函数:切换几次后出现极端滞后
我有一些非常大的多边形(我用来生成它们的xml文件是400k,只是点数据) 一旦用户通过单击按钮加载多边形,我将这些多边形存储在一个数组中Javascript Google Maps V3自定义函数:切换几次后出现极端滞后,javascript,google-maps-api-3,memory-leaks,lag,overlays,Javascript,Google Maps Api 3,Memory Leaks,Lag,Overlays,我有一些非常大的多边形(我用来生成它们的xml文件是400k,只是点数据) 一旦用户通过单击按钮加载多边形,我将这些多边形存储在一个数组中 var schoolDistPolygon = new google.maps.Polygon({ paths: points, strokeColor: "#FF0000", strokeOpacity: 0.8, strokeWeight: 3, fillColor:color, f
var schoolDistPolygon = new google.maps.Polygon({
paths: points,
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 3,
fillColor:color,
fillOpacity: 0.35
});
schoolPolygons.push(schoolDistPolygon);
然后使用此方法打开和关闭多边形:
function toggleOverlays (the_array, mode){
var arr = eval(the_array);
if(mode=='hide'){
for(i=0;i<arr.length;i++)
{
arr[i].setMap(null);
}
$("#schoolDistButton").bind('click',function(){toggleOverlays(the_array,'show')});
}
if(mode=='show'){
for(i=0;i<arr.length;i++)
{
arr[i].setMap(map);
}
$("#schoolDistButton").bind('click',function(){toggleOverlays(the_array,'hide')});
}
}
函数切换覆盖(_数组,模式){
var arr=eval(_数组);
如果(模式=='hide'){
对于(i=0;i您可以在每次函数调用时绑定click事件,但以前绑定的click仍然存在
首先解除绑定,单击:
$("#schoolDistButton").unbind('click')
当然,就是这样。我以前很少使用bind,现在我知道了,非常感谢!