将位置插入集合后,重新绘制标记和簇
redraw markers and clusters after location was inserted into collection
我有一张地图,其中我的标记和簇用传单渲染。我有一个集合,我在其中存储了纬度/经度等信息。
我像这样迭代集合,在中插入标记
在Template.map.rendered 中
Locations.find({}).forEach(function(obj){
console.log("Adding: lat " + obj.latitude + " - long " + obj.longtitude);
var m = L.marker([obj.latitude,obj.longtitude]);
markers.addLayer(m);
});
在模板渲染完成后,我如何绘制新的插入位置,以便实时更新地图?
与您在模板中所做的完全相同。如果您引用了MarkerCluster层(我假设是markers
),只需使用该层的addLayer
方法:
markers.addLayer(L.Marker([0,0]);
如果你想批量添加标记,你可以使用方法addLayers
:
markers.addLayers([
L.Marker([0,0]),
L.Marker([1,1])
]);
MarkerCluster将处理其余部分,您也可以在安装MarkerCluster:时使用选项中的animateAddingMarkers
为新插入设置动画
new L.MarkerClusterGroup({
'animateAddingMarkers': true
});
animateAddingMarkers:如果设置为true,则在MarkerClusterGroup添加到贴图后,向其添加单个标记将添加标记并在簇中设置其动画。默认为false,因为这在批量添加标记时提供了更好的性能。addLayers不支持此功能,仅支持带有单个标记的addLayer。
查看Github上的README.MD:https://github.com/Leaflet/Leaflet.markercluster
相关文章:
- 使用新参数通过服务器端处理重新绘制引导数据表
- 在新窗口中打开时,未在画布中绘制图像
- 如何在BIRT报告中绘制或绘制自定义设计的图表
- 在新框架上绘制图像,同时仍然使用P5.js中的利萨茹曲线
- 将许多新图像绘制到画布时内存泄漏
- 有没有一种好方法可以添加新框并使用 javascript 重新绘制画布
- 谷歌地图多边形 - 添加新点后重新绘制
- 需要使用新数据重新绘制地图(与CartoDB.js结合使用)
- 替换“绘制”上绘制的几何图形
- 使用单击功能绘制新的动态JS多边形
- HTML5 画布 - 使用剪辑擦除新圆圈后重新绘制新圆圈
- 使用数据表(Meteor Tabular)在新行中绘制数组的每个元素
- 将json中的数据合并到一个新的数组中,并使用d3.js绘制形状
- 如何加载新图像并将其绘制到画布上
- HTML画布”;源顶”;以仅绘制先前绘制的形状
- 谷歌地图v3方向渲染器重新绘制响应
- 地图绘制-动态绘制多边形
- 绘制新形状时删除DrawingManager形状
- 画布从daturl绘制新图像
- 在JavaScript俄罗斯方块中绘制新的方块