谷歌地图导致浏览器内存不足

时间:2014-02-20 18:57:05

标签: javascript google-maps

这有点像新手问题。

我在网页上有Google地图(APIv3)。每隔60秒,我希望它根据数据库活动查询我的数据库并在地图上绘制圆圈。我已经开始工作了,但是10分钟后,浏览器会崩溃并说内存不足(这是一款糟糕的LG智能电视浏览器)。我知道这个问题,但我不知道如何解决它。

我一遍又一遍地调用“initializeMap”函数,但地图的所有旧实例都留在内存中。有没有办法可以初始化一次,但是每60秒清除/加载一次圆圈?

这是我今天的代码。非常感谢提前!

var citymap = {};

function initializeMap() {
   loadMap(); // This is the database call that fills citymap[] with information
   var mapOptions = {
      zoom: 4
   };
   delete map;
   var circleArray =[];
   for (var i = 0; i < circleArray.length; i++ ) {
             circleArray[i].setMap(null);
   }
   circleArray.length = 0;        
   var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
    for (var city in citymap) {
    var populationOptions = {
       strokeColor: '#FA6A42',
       strokeOpacity: 0,
       strokeWeight: 0,
       fillColor: '#FA6A42',
       fillOpacity: .8,
       map: map,
       center: citymap[city].center,
       radius: 135000 + (citymap[city].num_entries * 10000)
    };
    cityCircle = new google.maps.Circle(populationOptions);
 }
}
  google.maps.event.addDomListener(window,'load', initializeMap);

function refreshData() {
   window.setInterval(function () {
      initializeMap();
      }, 60000);
}

0 个答案:

没有答案