Javascript 如何在传单中添加标记?
我有一个约30k元素的数组,我需要为每个元素创建带有标记的地图。我使用markerclusters并试图优化添加时间Javascript 如何在传单中添加标记?,javascript,openstreetmap,leaflet,Javascript,Openstreetmap,Leaflet,我有一个约30k元素的数组,我需要为每个元素创建带有标记的地图。我使用markerclusters并试图优化添加时间 for (var i = 0; i < myItems.length; i++) { var item = myItems[i]; marker = new L.marker([item[2],item[3]], { icon: mapOpts.myIcon }).bindPopup(item[1]); markers.a
for (var i = 0; i < myItems.length; i++) {
var item = myItems[i];
marker = new L.marker([item[2],item[3]], {
icon: mapOpts.myIcon
}).bindPopup(item[1]);
markers.addLayer(marker);
}
for(var i=0;i
甚至谷歌浏览器也需要40秒来完成这个循环。我不想看到FF的结果
是否有任何方法可以优化添加许多元素到映射?var array=[];
var array = [];
for (var i = 0; i < myItems.length; i++) {
var item = myItems[i];
marker = new L.marker([item[2],item[3]], {
icon: mapOpts.myIcon
}).bindPopup(item[1]);
array.push(marker);
}
markers.addLayers(array);
对于(var i=0;i
有关更多详细信息,请参阅。好奇为什么要添加30k元素?这些元素是否都同时被查看?@Alan yep,当群集化时,您是否找到了一种不进行群集化的方法?我也有30+k记录,我需要一次性显示,不进行群集化,并在完成之前处理无响应的浏览器问题?@Elijah hey!自2013年以来,很多事情都发生了变化,但我会尝试回答:)我相信我现在会在服务器端计算一些东西,而不会在浏览器中进行集群。无论如何,它在几年前的表现还可以接受,所以现在至少不会表现得更差。检查你的循环,并在什么时候将点推入传单(检查下面的答案)我有一个大小为30k的lat/long数组,因此当我按照你指定的方式绘制标记时,页面每次都没有响应。标记太多了,你需要聚集或使用热图之类的可视化
var markerArray = [];
markerArray.push(L.marker([51.505, -0.09]));
...
var group = L.featureGroup(markerArray).addTo(map);
map.fitBounds(group.getBounds());