leaflet聚类——leaflet.markercluster

发布时间:2024年01月09日

leaflet实现为实现mark聚类渲染提供了很好的插件:leaflet.markercluster。

demo查看地址:Leaflet 聚类渲染

插件下载地址:https://github.com/Leaflet/Leaflet.markercluster

用法

创建一个新的 MarkerClusterGroup,将您的标记添加到其中,然后将其添加到地图中

var markers = L.markerClusterGroup();
markers.addLayer(L.marker(getRandomLatLng(map)));
… Add more layers …
map.addLayer(markers);
配置解析:

Clusterer 默认值:

showCoverageOnHover:当您将鼠标悬停在集群上时,它会显示其标记的边界。
zoomToBoundsOnClick:当您单击一个集群时,我们会缩放到其边界。
spiderfyOnMaxZoom:当您单击底部缩放级别的集群时,我们会对其进行蜘蛛化,以便您可以看到其所有标记。(注意:如果集群中的所有项目仍以最大缩放级别或disableClusteringAtZoom选项指定的缩放进行聚类,则spiderfy 发生在当前缩放级别)
removeOutsideVisibleBounds:为了提高性能,从地图中删除离视口太远的集群和标记。
spiderLegPolylineOptions:允许您指定PolylineOptions来设计蜘蛛腿的样式。默认情况下,它们是{ weight: 1.5, color: ‘#222’, opacity: 0.5 }.
默认启用(布尔选项)
showCoverageOnHover:当您将鼠标悬停在集群上时,它会显示其标记的边界。
zoomToBoundsOnClick:当您单击一个集群时,我们会缩放到其边界。
spiderfyOnMaxZoom:当您单击底部缩放级别的集群时,我们会对其进行蜘蛛化,以便您可以看到其所有标记。(注意:如果集群中的所有项目仍以最大缩放级别或disableClusteringAtZoom选项指定的缩放进行聚类,则spiderfy 发生在当前缩放级别)。
removeOutsideVisibleBounds:为了提高性能,从地图中删除离视口太远的集群和标记。
animate:缩放和蜘蛛化时平滑拆分/合并集群子项。如果L.DomUtil.TRANSITION为 false,则此选项无效(不可能有动画)。
其他选项
animateAddingMarkers:如果设置为 true(并且animate选项也为 true),那么在将标记添加到地图后将单个标记添加到 MarkerClusterGroup 将添加标记并将其动画化到集群中。默认为 false,因为这在批量添加标记时提供了更好的性能。addLayers 不支持这个,只支持带有单独标记的 addLayer。
disableClusteringAtZoom:如果设置,在此缩放级别及以下,标记将不会聚集。这默认为禁用。参见示例。注意:您可能对在spiderfyOnMaxZoom使用时禁用选项感兴趣disableClusteringAtZoom。
maxClusterRadius:集群将从中心标记覆盖的最大半径(以像素为单位)。默认 80。减少将产生更多、更小的集群。您还可以使用接受当前地图缩放并返回最大聚类半径(以像素为单位)的函数。
多边形选项:创建 L.Polygon(points, options) 以显示集群边界时传递的选项。默认为空,这让 Leaflet 使用默认的 Path options。
singleMarkerMode:如果设置为 true,则覆盖所有添加的标记的图标,使它们显示为 1 大小的集群。注意:标记不会被集群对象替换,只会替换它们的图标。因此他们仍然对正常事件做出反应,并且选项disableClusteringAtZoom不会恢复他们以前的图标(参见#391)。
spiderLegPolylineOptions:允许您指定PolylineOptions来设计蜘蛛腿的样式。默认情况下,它们是{ weight: 1.5, color: ‘#222’, opacity: 0.5 }.
SpiderfyDistanceMultiplier:从 1 增加以增加与放置蜘蛛化标记的中心的距离。如果您使用大标记图标(默认值:1),请使用。
iconCreateFunction:用于创建集群图标的函数。请参阅默认实现或自定义示例。
spiderfyShapePositions : 用于覆盖 spiderfy 默认形状位置的函数。
clusterPane:将添加集群图标的地图窗格。默认为 L.Marker 的默认值(当前为“markerPane”)。请参阅窗格示例。
分块 addLayers 选项
addLayers方法的选项。有关分块如何工作的解释,请参见#357。

chunkedLoading : 布尔值,将 addLayer的处理分成小间隔,以便页面不会冻结。
chunkInterval : addLayers 在暂停以让页面的其余部分处理之前工作的时间间隔(以毫秒为单位)。特别是,这可以防止页面在添加大量标记时冻结。默认为 200 毫秒。
chunkDelay:addLayers 的连续处理周期之间的时间延迟(以毫秒为单位)。默认为 50 毫秒。
chunkProgress:在每个 chunkInterval 结束时调用的回调函数。通常用于实现进度指示器,例如RealWorld 50k 中的代码。默认为空。参数:

已处理标记数
添加的标记总数
已用时间(以毫秒为单位)

文章来源:https://blog.csdn.net/cuisidong1997/article/details/135485142
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。