我正在尝试使用Meteor和传单构建一个反应式地图,以显示一些网站访问者。当地图停止响应并且它很快就会消失时,一切都可以正常工作(离开浏览器大约需要30分钟)。
我尝试在添加新标记之前清除标记,并尽可能保持地图清洁,但没有成功。继承我的代码:
在document.ready
:
visitors_map = new L.Map('visitors-map').setView([24, 17], 3);
markers = new L.MarkerClusterGroup();
L.Icon.Default.imagePath = 'packages/leaflet/images';
L.tileLayer('http://{s}.tile.cloudmade.com/api_key/26250/256/{z}/{x}/{y}.png').addTo(visitors_map);
Session.set("visitors_map_rendered", true);
在Deps.autorun
:
if (Session.get("visitors_map_rendered")) {
visitors_map.removeLayer(markers);
var markerList = [];
var visitors = Visitors.find();
visitors.forEach(function(visitor) {
markerList.push(L.marker([visitor.geo.latitude, visitor.geo.longitude]));
});
markers.clearLayers();
markers.addLayers(markerList);
visitors_map.addLayer(markers);
visitors_map.fitBounds(markers.getBounds().pad(0.3));
}
有没有人在我的代码中看到任何不好的内容?有什么我忘了清除,“加起来”放慢我的浏览器?