问题标签 [leaflet.markercluster]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
293 浏览

javascript - 处理大量值的平均值

我通过传单将具有特定值的标记插入到 Openstreetmap 上。此外,我希望这些标记在缩小地图时得到聚集。Clustericon 应该显示集群的平均值。到目前为止,没有任何问题。我遍历每个集群中的所有标记,将值相加,然后除以标记的数量。然后我创建了一个自定义图标,它的颜色取决于值,并有一个带有平均值的标签。这适用于少量标记。问题是,我必须在德国北部地区插入很多标记。我的意思是至少50000。

在这种情况下,浏览器无法加载页面。但是,如果我将默认缩放设置为 18,它会加载页面。缩小页面时没有问题。我在下面粘贴我的代码:

现在我需要一个解决方案来使这张地图发挥作用。

0 投票
1 回答
212 浏览

javascript - 按 id 自定义聚类

在缩小时,我正在使用传单 markercluster 以一种更好、更高效的方式显示大量标记。我从数组中加载标记。每个标记都有 x 和 y 坐标以及块 ID。不幸的是,集群插件创建的集群不像我想要的那样。

让我们以此为例: 在此处输入图像描述

菱形是标记,红色框是块,这意味着同一个红色框中的标记具有相同的块 ID。我希望缩小时按块聚集,但它们以另一种方式聚集(黄色框)。

有什么方法可以实现我想要的吗?

0 投票
1 回答
68 浏览

angularjs - 每个簇的标记数

我在我的项目中使用 lealfet.markercluster,我想知道是否有办法设置每个集群的最小标记数。

eg:如果一个区域中的标记数量大于3,它将被聚集,否则标记应该正常显示(不聚集)

0 投票
1 回答
411 浏览

javascript - 标记图标始终默认

我正在使用 Leaflet 在离子应用程序中显示地图,并且我正在使用https://github.com/Leaflet/Leaflet.markercluster#customising-the-clustered-markers启用集群。

我似乎无法显示我的自定义图标,我总是得到蓝色的默认值。

首先我创建markerClusterGroup

然后我创建图标:

然后,我通过循环遍历需要在地图上显示的对象数组来填充标记数组,并将 pop[up 也绑定到每个标记。

一旦显示在地图上,一切正常,除了我仍然有默认的标记图标。

有小费吗?

0 投票
1 回答
2159 浏览

leaflet - GeoJSON 图层更改后刷新标记集群

我正在设置一个 GeoJSON 层,并在它之上设置一个 MarkerCluster 层

更新后我正在做:

但是集群没有出现,项目中的项目也没有出现itemLayer

解决方案

0 投票
0 回答
299 浏览

leaflet.markercluster - 如何在 Leaflet.MarkerCluster 中为 markerClusterGroup 提供 zIndexOffset

在我的项目中,显示了几层聚类数据。分层应该是一致的,即如果用户向上移动一个层,它的标记和标记组应该总是移动到其他层的标记和标记组之上。

在构建常规 L.marker 图层时,我可以传递一个标记 azIndexOffset来控制 z-index 图层的分层位置。这很好用,也适用于未包含在标记组中的 L.marker。

当使用聚集图层并使用markerClusterGroup, 在选项中使用 a构建它们window.L.divIcon时,似乎不同图层的标记组的 z-index 是随意设置的。

有没有办法为集群组设置 zIndexOffset?

0 投票
0 回答
342 浏览

javascript - 传单标记群集错误

我正在使用 angularjs 实现带有聚类标记的传单地图。单击按钮时,传单地图必须显示为空层。我得到了一些网络控制台错误。我已经使用 bower 安装了以下软件包

它自动在 index.html 中添加插件

但我无法解决这些网络控制台错误。请告诉我如何解决这个问题;

在此处输入图像描述

0 投票
0 回答
36 浏览

leaflet - 总是将某些标记聚集在一起

我有一个不同城市场地的 GeoJSON 数据集。是否可以只将属于一个城市的项目聚集在一起?

我能想到的一种天真的方法是自己为每个城市创建一个图层并将城市项目放置在其中?这相当于超过 60 个 geojson 层。

0 投票
0 回答
792 浏览

r - 使用带有传单集群插件的 Shiny 的进度条

Leaflet 的 markercluster 插件提供chunkProgress回调函数,提供有关加载数据点的信息,我想将该函数的信息合并到Shiny 的进度指示器中,以显示有关加载的数据点数量的信息。

示例应用

该应用程序代码借鉴了Leaflet for RShiny页面提供的官方示例。

问题

根据可通过标记集群页面获得的信息:

chunkProgress:在每个 chunkInterval 结束时调用的回调函数。通常用于实现进度指示器,例如 RealWorld 50k 中的代码。默认为null. 参数: 已处理标记的数量 添加的标记总数 已用时间(以毫秒为单位)

chunkProgress功能应具有所有必要的信息。特别是进度条的结构将被调用为:

如何访问这些值并使它们可用于incProgress调用并确保incProgress在地图绘制期间重复调用?


旁注

Leaflet 提供定制插件,方便显示进度加载指示器。我对使用 Shiny 的“原生”机制来显示进度条的解决方案感兴趣,就像在实际地图中一样,我还有其他更新进度条的功能。

0 投票
1 回答
1313 浏览

javascript - 在 markercluster 组中使用 Leaflet 实时图层

我将Leafletrealtimemarkercluster插件结合使用以显示标记,这些标记会在地图上实时更新。这些插件彼此独立工作得很好,但是当我想使用 markercluster 功能对实时层进行聚类时,问题就出现了。

我将 json 转换为标记、分配自定义图标并应用一些 onEachFeature 函数的实时层的代码示例:

我能够对非实时标记图层做的是创建一个标记群集组并将图层添加到其中,因此标记会像这样聚集:

但是,当我将 realtimeLayer 添加到集群组时,不会应用集群,或者标记确实会被加载。我错过了什么?谢谢!