小叶杂食+聚类标记+过滤标记聚类组

2023-12-06

我尝试使用 Mapbox 和 Leafet 的杂食动物插件制作地图,以便通过教程搜索数据。我不知道如何在我的例子中集成来自杂食动物插件的代码。我使用 geojson url 作为我的数据$.getJSON,用Leaflet的MarkerCluster对标记进行聚类。

感谢您的答复。

此致。

Sandrine

EDIT

我尝试使用 Mapbox js 工具过滤标记簇组。

它工作得很好,但我想将此功能插入到我的项目中。但我不知道如何使用其他功能:杂食插件、搜索数据、显示弹出窗口、标记集群组。你可以帮帮我吗 ?

我的 js Fiddle“过滤标记簇组”:https://jsfiddle.net/sdurmael78/rgoxpxwq/4/

我的项目 :https://jsfiddle.net/sduermael78/1uuubmwb/42/


您当前通过 jQuery 加载数据$.getJSON并直接来自您的 Mapbox 帐户。

那么如果我的理解是正确的,您希望使用以下方法替换这些方法杂食动物传单 plugin?

直接替换非常简单,因为您可以直接使用:

var geojsonLayer = omnivore.geojson("filePath", null, L.mapbox.featureLayer());
geojsonLayer.addTo(map);

现在,当您想要对标记进行聚类时(在您的情况下使用 Leaflet.markercluster 插件),它会变得稍微复杂一些。但它类似于$.getJSON因为两者都执行异步 AJAX 请求,并且您必须在回调中进行转换。

对于 leaflet-omnivore,您可以使用.on("ready", callback) syntax:

var geojsonLayer = omnivore.geojson("filePath", null, L.mapbox.featureLayer())
  .on("ready", function() {
    var markers = L.markerClusterGroup();
    markers.addLayer(geojsonLayer);
    markers.addTo(mymap);
  });

更新的 JSFiddle:https://jsfiddle.net/1uuubmwb/39/


EDIT

好吧,我错过了您“想要搜索数据”的部分,就像您指向的 Mapbox 的教程中所做的那样。

在您的情况下,它会更复杂,因为您想要对标记进行聚类,因此您不直接拥有地图框要素图层,而是一个标记聚类组。

解决方法是每次更改您的过滤条件时替换该集群组的内容。geojsonLayer地图框特征层:

// this will "hide" markers that do not match the filter.
geojsonLayer.setFilter(showCode);

// replace the content of marker cluster group.
markers.clearLayers();
markers.addLayer(geojsonLayer);

然后对于弹出窗口,您必须创建它并手动绑定它,因为 Mapbox 要素图层需要您的 GeoJSON 数据才能使用title属性(如果是这样,它会自动使用该信息来填充弹出窗口/“工具提示”内容):

function attachPopups() {
  // Create popups.
    geojsonLayer.eachLayer(function (layer) {
      var props = layer.feature.properties;

      layer.bindPopup(
        "<b>Code unité&nbsp;:</b> " + props.CODE_UNITE + "<br />" +
        "<b>Adresse web&nbsp;:</b> <a href='" + props.ADRESSE_WEB + "' target='_blank'>" + props.ADRESSE_WEB + "</a>"
      );
    });
}

不幸的是,它看起来像.setFilter()删除该弹出窗口,因此您需要调用它attachPopups()每次之后的功能setFilter.

Demo: https://jsfiddle.net/1uuubmwb/40/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

小叶杂食+聚类标记+过滤标记聚类组 的相关文章

  • 继续使用 sketch.js 编辑草图图像 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在使用 sketch js 中的示例 http intridea github io sketch js http intridea g
  • 使用 AppleScript 单击 safari 网页按钮

    我想弄清楚如何单击网页中的按钮 例如 点击谷歌网页中的 手气不错 按钮 这是我尝试过的 tell application Safari make new document with properties URL https www goog
  • 如何通过 JS 中的 WebPack 包提供全局 TypeScript 类

    我目前正在研究 TypeScript 我想用 TS 替换 JS 但是我有很多 JS 文件 所以我只想在 TS 中创建新类 并想在我的旧 JS 文件 atm 中使用这些类 后来我想把所有的JS都换成TS 我对 webpack 和捆绑的 js
  • 录制视频和音频并上传到服务器

    我想为网站添加视频录制功能 我一直在搜索并尝试所有可能的可用解决方案 但还没有任何工作正常 我已经尝试过以下解决方案 WebRTC 我知道使用 WebRTC 我们可以从网络摄像头和麦克风获取流 我发现了很多关于相同内容的文章 但没有一篇解释
  • getFieldValue 或 Formik 中的类似内容

    有没有办法获取 formik 中单击处理程序内字段的值 您可以使用setFieldValue在那里 所以我假设 但在任何地方都找不到 Formik 应该有类似的东西来检索值
  • 尝试为每一行编写测试用例

    已经编写了跳跃方法的测试用例 但当我看到代码覆盖率报告时 它不会进入onloadend方法seat onloadend 在 createSpyObj 中我调用了 loadend 但它仍然没有进入内部 你们能告诉我如何解决它吗 下面提供我的代
  • Scrapy Splash,如何处理onclick?

    我正在尝试抓取以下内容 我能够收到响应 但我不知道如何访问以下项目的内部数据以抓取它 我注意到访问这些项目实际上是由 JavaScript 和分页处理的 这种情况我该怎么办 下面是我的代码 import scrapy from scrapy
  • Razorpay 支付集成 -> 我如何检测关闭按钮 X 附近的 razorpay 模型

    我在 CI 框架中使用 Razorpay 当用户在没有付款的情况下关闭时 创建 razor 支付模型 然后对于取消订单 我希望通过状态更改为已取消来触发查询 那么我怎样才能检测到这一点 我已经在使用 by click jQuery 点击关闭
  • 替换字符以制作国际字母(变音符号)

    我正在尝试模仿国际键盘的工作方式 如果您使用其中之一死钥匙 http en wikipedia org wiki Dead key后面跟着一个字母 它将它们组合成相应的字符 例如 输入 a会导致 and o结果是 etc 我似乎无法让我的正
  • 使用 Javascript 在前端创建基本 URL(开发、API 和生产)

    无论开发和部署如何 如何制作适用于 http https localhost 端口和实际域的基本 url 我想创建一个可以在所有场景或条件下工作的基本 url 无论 http https 协议 端口 本地主机和实际域如何 无论是在开发中还是
  • 使用 javascript 在 IFrame 中打印 PDF 文件仅获取一页

    这是我打印 pdf 文件的代码 在这里 在打印时我只得到一页 我需要一个解决方案 function printPdf var ifr document getElementById frame1 PDF is completely load
  • 使用 javascript 将文本附加到文本区域

    如何将文本列表附加到文本区域
  • 从 Flow 中的对象值定义联合类型

    我有一个这样的枚举 const Filter ALL ALL COMPLETED COMPLETED UNCOMPLETED UNCOMPLETED 我想做的是声明一个联合类型 如下所示 type FilterType Filter ALL
  • Facebook Instant Game - 上传捆绑的 zip 文件会导致 Web 托管出现 SDK 参考错误

    当我尝试上传简单的游戏 应用程序时 我收到一条错误消息 游戏必须通过我们的 CDN 引用我们支持的 SDK 之一 不过我已经给出了 SDK 参考 难道不是这个吗 我也浏览了 facebook 文档的 SDK 参考 但它对我不起作用 有人以前
  • HTML5 画布在缩放和旋转后平移

    我正在尝试用画布做一些事情 首先 我让用户上传图像 如果图像比我想要的大 我需要将其缩小 那部分工作得很好 最近我们遇到了 iPhone 用户上传图像的问题 这些都存在方向问题 我已经弄清楚如何提取方向 我的问题是当我操纵画布中的图像时会发
  • 如何以编程方式确定 HTML 对象可以侦听哪些事件?

    我一直在查看developer mozilla org 和Apple 开发文档上的文档 但我找不到解释是否可以通过编程方式确定特定HTML 标记是否支持给定事件监听器的文档 就像我知道的那样
  • 设置 D3 力定向图

    致尊敬的读者 我对 javascript 相当陌生 我也遇到过这个问题 我正在尝试实现这个力导向图的修改版本 http mbostock github com d3 ex force html http mbostock github co
  • Javascript TypeError:无法读取未定义的属性“indexOf”

    在此代码中 我想从cart products array var cart products 17 1 19 1 18 1 var product 17 each cart products function key item if ite
  • Angularjs + Typescript,如何将 $routeParams 与 IRouteParamsService 一起使用

    我使用 routeParams 从 URI 中提取属性并为其设置本地变量 当我使用打字稿输入设置 route 参数的类型时 我无法再访问 route 参数 如何访问 routeParams 中的属性 class Controller con
  • 如何检查令牌过期和注销用户?

    当用户单击注销按钮时 他 她可以自己注销 但是如果令牌过期 他 她就无法注销 因为在我的应用程序中 令牌在服务器端和前端都使用 当用户单击注销按钮时 如果令牌有效 则服务器和浏览器中的令牌都会被清除 当用户未注销并且他 她的令牌过期但未在浏

随机推荐

  • 为什么 java 中的操作赋值运算符类型不安全?

    我不确定这个问题是否表述清楚 但举个例子会更清楚 我发现这在 Java 中不起作用 int a a 5 0 但这将 int a a 5 0 即 看起来 运算符是类型安全的 但 不是 这是否有任何深层原因 或者这只是语言设计者必须做出的另一个
  • libGdx 如何使用图像或演员作为主体

    我浏览了 libGdx wiki 教程 但没有找到使用图像或演员作为物理体的示例 在我的游戏中 我在舞台上添加了一名演员 但我想添加这个演员或精灵图像作为物理体 我必须拖动这个演员 甚至想要检测与其他物体的碰撞 如果有请给我参考 Thank
  • 修改shell脚本来监控/ping多个ip地址

    好吧 所以我需要不断监控多个路由器和计算机 以确保它们保持在线 我找到了一个很棒的剧本here如果无法 ping 通单个 IP 它将通过咆哮通知我 这样我就可以在手机上收到即时通知 我一直在尝试修改脚本以 ping 多个地址 但运气不佳 当
  • 执行从 Xib 到 ViewController 的 segue

    我有一个带有按钮的 Xib 文件 单击按钮时我想转到另一个视图控制器 我已经在 StoryBoard 中的视图控制器之间创建了一个 Segue 并创建了一个标识符 但似乎无法以编程方式调用它 IBAction func buttonActi
  • Log4j |更新Appender的日志级别

    我的 log4j properties 文件 log4j rootLogger INFO stdout console output appender log4j appender stdout org apache log4j Conso
  • pandas“DataFrame”对象没有属性“map”

    我有两个 df df a 和 df b df a number cur code 1000 USD 700 2000 USD 800 3000 USD 900 df b number amount deletion code 1000 0
  • 在链接器方法之外将元素的文本存储在 Cypress 中

    如何存储 div 的文本值一次并在整个 cypress 测试中使用它 到目前为止 我已经通过将大部分测试逻辑嵌套在调用中来做到这一点then方法 但这看起来并不优雅或理想 cy get div then div gt let storedV
  • 如何将文件缓冲区转换为 标签 src?

    我正在开发一个应用程序 使用 Node js 作为后端 并作为我的前端进行反应 现在我创建了一个上传文件并将其作为缓冲区类型存储在 mongodb 中的路由 我的问题是 当我在 React 应用程序中收到这些数据时 如何使用这些数据将其转换
  • AVPlayer 无法从本地文件播放 m3u8

    我正在尝试让 AVPlayer 播放本地文件的 m3u8 播放列表 我使用 Apple 的示例播放列表之一将其范围缩小为一个简单的测试用例 https tungsten aaplimg com VOD bipbop adv fmp4 exa
  • 创建实体框架模型时忽略数据库默认值

    假设我的数据库中有下表 CREATE TABLE dbo Test Id INT IDENTITY 1 1 NOT NULL Active BIT DEFAULT 1 NOT NULL When creating an EF model f
  • 学习汇编-echo程序名

    我正在尝试用汇编语言编写一个简单的程序来写出程序的名称 使用 gdb 进行调试 我确定对 sys write 的调用返回 14 EFAULT 我还能够验证我的 strlen 函数是否正常工作 似乎存在某种内存访问问题 但考虑到 strlen
  • 如何让我的 kubernetes 获取最新的 docker 镜像? [复制]

    这个问题在这里已经有答案了 Problem Slack 和 Stack Overflow 上出现的一个常见问题是 当镜像标签未更改但底层镜像已更改时 如何触发 Deployment RS RC 的更新 考虑 存在一个带有映像 foo lat
  • 如何将发件人地址设置为其他gmail中的任何电子邮件(通过Gmail在.NET中发送电子邮件)?

    在这篇文章中通过 Gmail 在 NET 中发送电子邮件我们有一个通过gmail发送电子邮件的代码 在发送邮件中我们从字段中找到包含我使用的gmail帐户我使用相同的代码 但通过将发件人地址更改为我想要的任何电子邮件 并在凭据中设置 gma
  • Spark 2.4 的 lineSep 选项

    Is lineSep该选项确实适用于 Spark 2 4 版本 lineSep default covers all r r n and n defines the line separator that should be used fo
  • 如何修复 - 41:无法从静态上下文引用非静态变量 -> 这是什么原因?

    我正在尝试编写此代码来获取第一个initialCapacity素数 然后使用java按顺序打印它们 它不起作用有两个原因 首先我收到错误 41 不能从静态上下文引用非静态变量 listOfPrimeNumbers 当我尝试运行该程序时 但即
  • 如何获取 SwiftUI Text 中每个字符的位置

    我的第一个想法是基于文本 运算符 似乎很容易 通过组合 一个字符 一个字符 来构建整个文本并检查部分结果的宽度 不幸的是 我没有找到如何做到这一点的方法 所有已知的获取几何图形的技巧 alignmentGuide GeometryReade
  • 套接字关闭并重新绑定 - 如何避免长时间等待?

    我正在 python 中使用套接字 并且在开发阶段我需要经常终止并重新启动我的程序 问题是 一旦杀死了我的 python 脚本 我必须等待很长时间才能重新绑定侦听套接字 这是重现该问题的片段 usr bin env python3 impo
  • WebRTC:同时重新协商问题

    Use Case 三个同伴正在与同一房间中的另外两个同伴进行视频聊天 服务器发送一条消息 并且所有三个同伴都将模式更改为音频 目前 只有 chrome 支持重新协商 因此对于 firefox 我只需关闭连接并创建新的对等连接 但在我检查双方
  • Angular2 访问全局服务而不将其包含在每个构造函数中

    我有三门课 Injectable export class ApiService constructor public http Http get url string return http get url Injectable expo
  • 小叶杂食+聚类标记+过滤标记聚类组

    我尝试使用 Mapbox 和 Leafet 的杂食动物插件制作地图 以便通过教程搜索数据 我不知道如何在我的例子中集成来自杂食动物插件的代码 我使用 geojson url 作为我的数据 getJSON 用Leaflet的MarkerClu