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

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(使用前将#替换为@)

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

  • 如何删除除任何特定 id 之外的元素

    假设有一个父 id 其中包含许多元素 我想删除除一个元素之外的所有元素 ex parent id children not id n remove
  • 如何阻止直接访问我的 JavaScript 文件?

    我使用 Minify 来缩小并缓存所有脚本请求 我只希望我的用户能够访问 JavaScript 文件的缩小版本 缩小位于www example com min我的脚本位于www example com scripts 如何阻止直接访问doc
  • JavaScript 添加布尔值

    console log true true 2 console log typeof true true number console log isNaN true true false 为什么两个布尔类型相加会产生一个数字 我有点理解 如
  • 在特定页面上执行 javascript 的正确“Rails”方式

    我试图在特定页面上运行 javascript 而我唯一的解决方案似乎是反模式 我有controller js内部生成的assets javascripts 我在用着gem jquery turbolinks 我的代码类似于以下内容 docu
  • 位置特征检测:固定

    我正在尝试找到一个脚本来检测设备是否放置position fixed元素相对于视口而不是整个文档 目前 标准桌面浏览器和 Mobile Safari 适用于 iOS 5 都是这样做的 而 Android 设备则相对于整个文档放置固定元素 我
  • jQuery .push 到 .get 调用中的数组给出空结果

    谁能告诉我为什么下面给我一个空字符串 当我console log contentArray in the get 回调函数它显示数据 但是当我尝试在下面的代码中执行它时 结果为空 sectionArray contentArray func
  • nodejs (libuv) 事件循环是否在一个阶段(队列)中执行所有回调,然后再进入下一阶段或以循环方式运行?

    我正在研究 Node js 中 libuv 提供的事件循环 我遇到了关注 Deepal Jayasekara 的博客 https blog insiderattack net event loop and the big picture n
  • 如何在网站上使用 svg 元素制作块的屏幕截图?

    我在网站上创建了一个构造函数 其本质是将所选元素及其颜色 svg中的元素 添加到访问者选择的背景和背景颜色 png中的背景 中 然后必须单击 保存 结果 按钮并仅执行工作区的屏幕截图 我写了这个脚本 但它需要屏幕截图 但只有背景 并忽略选定
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • 如何使用 Greasemonkey 监视静态 HTML 页面的更改?使用哈希?

    我希望我的 Greasemonkey 脚本仅在其访问的静态页面具有与以前完全相同的内容时运行 现在我可以设置一个包含该页面哈希的变量 我正在寻找一种动态散列页面的方法 以便我可以将我的散列与生成的散列进行比较 关于如何即时实现散列的任何想法
  • IE 中的 XPath 查询使用从零开始的索引,但 W3C 规范是从一开始的。我应该如何处理差异?

    问题 我正在转换目前仅适用于 Internet Explorer 的相对较大的 Javascript 代码 以便使其也适用于其他浏览器 由于代码广泛使用 XPath 我们做了一些兼容性功能以使事情变得更容易 function selectN
  • 如何始终将焦点保持在文本框中

    我创建了一个包含两个 div 的 HTML 页面 左侧的 div 页面的 90 是 ajax 结果的目标 右侧的 div 页面的 10 包含一个文本框 该页面的想法是在文本框中输入零件编号 通过条形码扫描仪 并显示与该零件编号匹配的绘图 显
  • Vaadin 12 将对象传递给 JavaScript 函数:无法对类进行编码

    Vaadin 12 Kotlin 项目 In my myPage html我有JavaScript myObject redirectToCheckout sessionId 1111 2222 所以我需要调用javaScript函数red
  • 聆听 Angular 2 中的元素可见性

    我正在为我的网络应用程序使用 Bootstrap 和 Angular 2 v4 我想监听指令中的元素以了解可见性变化 我的元素有一个可以隐藏其子元素的父元素hidden sm up我需要在每次隐藏或显示时触发一个函数 div hidden
  • Google Maps API (v3) 添加/更新标记

    编辑 它现在可以工作 但如果用户不允许或没有基于位置的服务 则不会加载 请参阅 jsfiddle 示例接受的答案评论 我已经浏览了一些教程和问题 但我无法安静地理解正在发生的事情 或者在这种情况下 没有发生 当用户单击链接时 我正在加载地图
  • 使用 next.js 进行服务器端渲染与传统 SSR

    我非常习惯 SSR 意味着页面得到完全刷新并从服务器接收完整 HTML 的方法 其中根据后端堆栈使用 razor pub other 进行渲染 因此 每次用户单击导航链接时 它只会向服务器发送请求 整个页面将刷新 接收新的 HTML 这就是
  • react-native - 图像需要来自 JSON 的本地路径

    你好社区 我正在react native中开发一个测试应用程序 并尝试从本地存储位置获取图像 我实际在做什么 我将图像直接链接源提供给 var 并在渲染函数中调用此方法 react 0 14 8 react native 0 23 1 np
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u
  • 如何通过索引访问 JSON 对象中的字段

    我知道这不是最好的方法 但我别无选择 我必须通过索引访问 JSONObject 中的项目 访问对象的标准方法是只写this objectName or this objectName 我还找到了一种获取 json 对象内所有字段的方法 fo
  • 测量窗口偏移

    有没有一种方法可以测量 jQuery 中窗口的偏移量 以便我可以比较 固定 元素和相对定位元素的位置 我需要能够知道窗口滚动了多远 以便我可以使用该图来计算固定元素的高度 相对于视口顶部 和相对对象的高度 相对于顶部 之间的差异文件的内容

随机推荐

  • 为什么 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