问题标签 [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 投票
0 回答
730 浏览

leaflet - Leaflet.markercluster:缩放时性能缓慢

我正在渲染一百万个 geojson 数据,它是多边形的类型。这在渲染数据时提供了更好的性能。但是在缩放地图时,性能非常慢。

如何避免这个问题?

我正在使用事件 zoomstart 和 zoomend 来显示微调器。

这在 6 或 8 秒后开始。开始缩放后,Leaflet.markercluster 需要近 30 秒到 1 分钟才能完成缩放。

我的 Angular 指令代码:

在此处输入图像描述

0 投票
1 回答
2082 浏览

android - 彻底摧毁传单地图

我使用Leaflet.js和出色的Leaflet Marker Clusterer插件在 Cordova Android 应用程序中显示地图。当地图不再可见时,我使用

根据我在这个论坛的其他线程中找到的建议。但是,我不清楚这是在做这项工作 - 例如,我发现标记聚类器层仍然存在。在每次后续地图重绘时销毁和重新创建地图容器 DOM 元素是否是一种确保地图上的所有内容都被销毁而没有内存泄漏的方法?

0 投票
1 回答
863 浏览

javascript - 如何让 MarkerClusters 使用窗格

假设我们有以下地图:

https://jsfiddle.net/fcumj09w/5/

在上面的示例中,我们有 2 个标记群集组(clustRed 和 clustYellow)和这些组之外的单个标记。

我希望红色标记簇组在缩小时位于黄色标记簇组的顶部(更高的 z-index)。

我创建了 3 个自定义窗格以将每个集群组附加到不同的窗格,但似乎窗格不适用于集群组(或者我没有找到使它们工作的方法)。

我尝试了什么:

我只能使窗格与单个标记一起使用:

如何让 Leaflet.markercluster 使用pane我指定的?

0 投票
1 回答
2447 浏览

reactjs - map.addLayer(markerClusters) 不是函数

我收到此错误:

map.addLayer(markerClusters) 不是函数

因为我更新了以下软件包,所以我的 markerClusters:

我的页面上的另一张地图需要此更新,所以我不想使用旧版本。有谁知道如何解决这个问题。

我刚刚发现,在 SO 上,该映射不是全局变量,但正如其定义的那样,它是可用的。谷歌搜索也没有带来任何有用的东西。

提前致谢!

这是我的 MarkerClusters.js 文件:

堆栈跟踪:

Uncaught (in promise) TypeError: map.addLayer is not a function at MarkerCluster._this.createMarkerClusters (MarkerCluster.js:64) at MarkerCluster.componentWillReceiveProps (MarkerCluster.js:20) at ReactCompositeComponent.js:611 at measureLifeCyclePerf (ReactCompositeComponent.js :75) 在 ReactCompositeComponentWrapper.updateComponent (ReactCompositeComponent.js:610) 在 ReactCompositeComponentWrapper.receiveComponent (ReactCompositeComponent.js:547) 在 Object.receiveComponent (ReactReconciler.js:125) 在 Object.updateChildren (ReactChildReconciler.js:109) 在 ReactDOMComponent。 _reconcilerUpdateChildren (ReactMultiChild.js:208) 在 ReactDOMComponent._updateChildren (ReactMultiChild.js:312)

0 投票
1 回答
801 浏览

javascript - 如何使用带有传单的 MarkerCluster 更新弹出内容

我正在尝试显示一张上面有很多标记(~36.000)的地图,这些标记必须包含一些信息。

首先,我SELECT从数据库中获取元素,然后使用 PHP 将其编码为 JSON 数组,然后使用 JSS 获取它,最后将其添加到我的地图中,并使用 JSON 数组中的数据设置弹出窗口的内容。

问题是 PHP 抛出 Fatal error: 的数据太多了 Allowed memory size of 134217728 bytes exhausted

我认为我可以做的就是在点击时为每个弹出窗口发出一个 SQL 请求。有了这个,我将不得不从我的数据库中加载一些数据(只有纬度、经度和一个 ID 才能知道SELECT后面的位置),所以它不会抛出Fatal Error

所以这就是现在的工作。

这就是我想要工作的想法(它不起作用,这是我在互联网上摘录的)。

问题是我不知道如何访问特定标记(单击它时),也不知道绑定到它的弹出窗口。

请问我可以帮忙吗?

0 投票
0 回答
2174 浏览

javascript - 如何使用传单和 Ajax 更新弹出内容(第 2 部分)

这个问题是这个的“第2集”: 原始问题

你好 !

我的地图仍然有问题。事实上,我相信上面链接中的解决方案已经解决了我的问题,但我发现了另一个问题。

我的代码和我的目标与这个问题的“第一集”几乎相同。

提醒一下,我有一张 Leaflet 地图,它使用 MarkerCluster 来显示 ~36.000 个标记。每个标记都必须有一个包含许多信息的弹出窗口(在点击时出现)。

由于一次获取的信息太多(我的意思是一次获取所有点和所有信息),我想获取纬度、经度和单个 ID 以便在地图上显示标记。接下来,当单击弹出窗口时,脚本发出 Ajax 请求以从数据库中获取信息,使用每个标记包含的单个 ID。

现在,在maximkou的大力帮助下,我可以做到这一点。我的问题是,只考虑最后一个 ID,所以它总是请求相同的 ID 并总是显示相同的信息(这不是我试图做的)。

我尝试了很多事情(比如在地图上获取所有标记,尝试在数组上放置标记等),但我不知道如何完成这项工作。

我不认为这是不可能的(但也许是),我认为我只是缺乏 Javascript 技能。

如果您有其他解决方案或想法,我很乐意对其进行测试!

我现在将向您展示我当前代码的摘录:

我需要一些帮助,请

如果您希望我更具体或添加其他提取物,请告诉我!

提前致谢

0 投票
1 回答
453 浏览

javascript - Leaflet markercluster 和 hashable

我有一个集群中有很多标记的地图,带有markercluster插件(由于.JS文件中的geojson作为变量,我创建了它),并且我试图能够使用zoom/动态修改URL哈希使用 Hashable.js 的 lat/lng 但每次我用超过 40.000 个标记的 geojson 加载我的网站时,markercluster 和 hashable 之间似乎存在冲突。这是我得到的错误:

0 投票
1 回答
399 浏览

javascript - 如何在 Leaflet 中使用 MarkerClusterGroup 返回特定属性?

在传单中有一个扩展名为: Leaflet.markercluster 在此扩展中,有一个名为 markerClusterGroup 的函数,它聚集并返回多个标记(点)的计数。见例子:这里

在我的示例中,我对我的多边形质心做同样的事情,我使用草皮计算。我的每个多边形都有一个属性“Inhabitants”,它代表多边形中的总居民。(这看起来像我正在处理的示例

在我的示例中,markerClusterGroup 方法返回质心数。我可以修改将返回值修改为居民聚合的方法吗?如果没有,您是否知道任何能够在特定属性上聚合多边形的库?

0 投票
0 回答
139 浏览

javascript - MarkerClusterGroup 在悬停时返回自定义多边形

MarkerClusterGroup 是一个对点进行聚类并返回其聚合的函数。

请参阅:示例

就我而言,我有一些多边形,我计算了质心。当悬停在集群上时,而不是返回质心之间的线。我想返回与这些质心关联的多边形。这意味着我将突出显示已聚集的多边形。

基本上,这就是我暂时做的,它会创建集群并返回卷。但我希望 Onhover 突出显示相关的多边形。

正如您在我的代码中看到的那样,我可以获得区域的名称(多边形的 ID)。但这在 markerClusterGroup 对象中。我如何使用这些数据来表示它?我可以将showCoverageOnHover修改为可以实现目标的方式吗?

0 投票
0 回答
41 浏览

javascript - MarkerClusterGroup 返回自定义多边形作为 showCoverageOnHover 的选项

MarkerClusterGroup 是一个对点进行聚类并返回其聚合的函数。

请参阅:示例

就我而言,我有一些多边形,我计算了质心。当悬停在集群上时,而不是返回质心之间的线。我想返回与这些质心关联的多边形。这意味着我将突出显示已聚集的多边形。

基本上,这就是我暂时做的,它会创建集群并返回卷。但我希望 Onhover 突出显示相关的多边形。

正如您在我的代码中看到的那样,我可以获得区域的名称(多边形的 ID)。但这在 markerClusterGroup 对象中。我如何使用这些数据来表示它?我可以将showCoverageOnHover修改为可以实现目标的方式吗?