2

我正在尝试使用 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));
}

有人在我的代码中看到任何不好的地方吗?有什么我忘记清除并“加起来”减慢浏览器的吗?

4

0 回答 0