Google Maps markClusterer:如何在配置对象中组合 Interface Renderer 和 GridOptions gridSize?

2023-12-13

我目前正在尝试实施Google 地图 JavaScript MarkerClusterer在网站上。

我在用着界面渲染器覆盖几个默认配置参数。

let renderer = {
    render: ({ count, position }) =>
        new google.maps.Marker({
            label: {
                text: String(count),
                color: "transparent",
            },
            position,
            icon: {
                url: mapOperator.imageBasePath + "pin-cluster-1.png",
            },
            // adjust zIndex to be above other markers
            zIndex: Number(google.maps.Marker.MAX_ZINDEX) + count,
        }),
};

let config = { map, markers, renderer };
let cluster = new markerClusterer.MarkerClusterer(config);

请注意,我通过 unpkg 添加markerClusterer 插件。所以我必须这样声明集群:let cluster = new markerClusterer.MarkerClusterer(config); (如官方文档的“安装”部分所述)(请参阅我上面的代码位的最后一行)。

这段代码效果很好,但我也想重写GridOptions 接口中的 gridSize 属性为了获得更大的集群和更少的顺序(好吧,我希望......我什至不确定这个选项会给我带来我所期望的;我不是英语母语,给出的描述对我来说并不完全清楚......)我的地图上的单独标记。

我因以下几个原因而苦苦挣扎:

  • 我不熟悉他们设置代码的方式,
  • 该文档是空的,并且没有提供有关如何实现我想要的目标的示例代码,
  • 找不到有关堆栈溢出、教程(博客、社交网络等)的任何帮助。确实,我能找到的只是 10 万种过时的方法,但是当您使用界面渲染器时,这些方法不起作用。这是一个例子:
var markerClusterer = new MarkerClusterer(map, markers, {
    gridSize: 10,
    maxZoom: 9, // maxZoom set when clustering will stop
    imagePath: 'https://cdn.rawgit.com/googlemaps/js-marker-clusterer/gh-pages/images/m'
});

所以我尝试了几件事,但没有任何作用:

let config = { map, markers, renderer, GridOptions: { gridSize: 10 } };
let renderer = {
    render: ({ count, position }) =>
        new google.maps.Marker({
            label: {
                text: String(count),
                color: "transparent",
            },
            position,
            icon: {
                url: mapOperator.imageBasePath + "pin-cluster-1.png",
            },
            // adjust zIndex to be above other markers
            zIndex: Number(google.maps.Marker.MAX_ZINDEX) + count,
            gridSize: 10,
        }),
};
let renderer = {
    render: ({ count, position }) =>
        new google.maps.Marker({
            label: {
                text: String(count),
                color: "transparent",
            },
            position,
            icon: {
                url: mapOperator.imageBasePath + "pin-cluster-1.png",
            },
            // adjust zIndex to be above other markers
            zIndex: Number(google.maps.Marker.MAX_ZINDEX) + count,
        }),
    
    GridOptions: ({ gridSize = 10 }),
    // gridSize: 10,
};

谁能帮我?谢谢!


Finally:

let renderer = {
    render: ({ count, position }) =>
        new google.maps.Marker({
            label: {
                text: String(count),
                color: "transparent",
            },
            position,
            icon: {
                url: mapOperator.imageBasePath + "pin-cluster-1.png",
            },
            // adjust zIndex to be above other markers
            zIndex: Number(google.maps.Marker.MAX_ZINDEX) + count,
        }),
};
let algorithm = new markerClusterer.GridAlgorithm({gridSize: 60});

let config = { map, markers, renderer, algorithm };
let cluster = new markerClusterer.MarkerClusterer(config);

而且,是的,如果增加其值(默认值:40),gridSize 属性确实会在地图上生成更大的簇和更少的单独标记。

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

Google Maps markClusterer:如何在配置对象中组合 Interface Renderer 和 GridOptions gridSize? 的相关文章

  • 解决错误 413 请求实体太大

    我正在从事的项目允许我们的员工将大文件上传到我们的共享主机并获取下载链接 问题是我们的托管拒绝更改共享托管的 LimitRequestBody 还有其他解决方案可以解决 LimitRequestBody 或任何其他方法来完成这项工作吗 有两
  • EJS.JS ReferenceError:标题未定义

    我遇到了 Express 脚本的问题 我正在调用一个在另一个函数成功时呈现视图的函数 在这个项目中 我使用 Angular Node Express 和 ejs 作为视图引擎 当我渲染视图时 不幸的是我收到以下 ejs 错误 Referen
  • 如何通过 JS 中的 WebPack 包提供全局 TypeScript 类

    我目前正在研究 TypeScript 我想用 TS 替换 JS 但是我有很多 JS 文件 所以我只想在 TS 中创建新类 并想在我的旧 JS 文件 atm 中使用这些类 后来我想把所有的JS都换成TS 我对 webpack 和捆绑的 js
  • getFieldValue 或 Formik 中的类似内容

    有没有办法获取 formik 中单击处理程序内字段的值 您可以使用setFieldValue在那里 所以我假设 但在任何地方都找不到 Formik 应该有类似的东西来检索值
  • 差异:查看页面源代码与在 Firebug 中查看

    当我查看页面的页面源时 例如 http my sa ucsb edu public curriculum coursesearch aspx http my sa ucsb edu public curriculum coursesearc
  • JavaScript 承诺混乱

    我正在尝试理解 javascript Promise 的概念 但我遇到了一些问题 我在本地设置了一个非常小的Web服务 不要生气 该Web服务不符合约定 这里有一些关于它的细节 login
  • 替换字符以制作国际字母(变音符号)

    我正在尝试模仿国际键盘的工作方式 如果您使用其中之一死钥匙 http en wikipedia org wiki Dead key后面跟着一个字母 它将它们组合成相应的字符 例如 输入 a会导致 and o结果是 etc 我似乎无法让我的正
  • 在全局范围内查找 JavaScript 函数

    有没有办法在当前活动的对象模型中搜索 JavaScript 属性 例如命名函数 Firebug 在 DOM 选项卡上显示的内容 我在 Chrome 开发人员工具中找不到直接等效项 加载页面 使用主要浏览器的通用开发人员工具 一个例子是 我搜
  • Javascript 将即时生成的 BLOB 文件下载到特定文件夹中

    所以我正在尝试编写一个 Firefox Webextension 我想将网页的标题 网址和个人评论保存到文件中 myfile txt 这就是我得出的结论 我不希望我的 下载 文件夹很快变满 因此我想将它们下载到 下载 文件夹中包含的文件夹中
  • HTML5 画布在缩放和旋转后平移

    我正在尝试用画布做一些事情 首先 我让用户上传图像 如果图像比我想要的大 我需要将其缩小 那部分工作得很好 最近我们遇到了 iPhone 用户上传图像的问题 这些都存在方向问题 我已经弄清楚如何提取方向 我的问题是当我操纵画布中的图像时会发
  • 当位置从相对固定变为固定时,div 的宽度会发生变化

    当 div topNav 的位置样式从相对更改为固定时 其宽度会更改几个像素 我找到了一个 jquery 插件 http imakewebthings github com jquery waypoints 它可以优雅地执行我正在寻找的相同
  • 正则表达式匹配除括号中的单词之外的所有单词 - javascript

    我使用以下正则表达式来匹配所有单词 mystr replace W s g function match p1 index title 请注意 单词可以包含特殊字符 例如德语变音符号 如何匹配除括号内的单词之外的所有单词 如果我有以下字符串
  • Node.js ES6如何从模块导出类? [复制]

    这个问题在这里已经有答案了 我正在尝试从 Node js 6 2 0 中的 CommonJS 模块导出 ES6 类 class MyClass class contents here exports MyClass 然后将其导入到另一个模块
  • “调用”C:\Program Files\nodejs\\node.exe”错误

    我一直在尝试安装节点js并安装浏览器同步 C Users Aly gt npm install g browser sync CALL C Program Files x86 nodejs node exe C Program Files
  • 如何以编程方式确定 HTML 对象可以侦听哪些事件?

    我一直在查看developer mozilla org 和Apple 开发文档上的文档 但我找不到解释是否可以通过编程方式确定特定HTML 标记是否支持给定事件监听器的文档 就像我知道的那样
  • 我担心我添加了太多接口

    我正在构建我的领域模型并继续重构它 正如我所做的那样 我发现我喜欢接口 因为它允许我根据接口为具体类型创建可重用的方法 控制器 视图 但是 我发现每次向域实体之一添加新属性时 我都会创建一个接口 例如 我有一个会员状态从抽象继承的对象Ent
  • 设置 D3 力定向图

    致尊敬的读者 我对 javascript 相当陌生 我也遇到过这个问题 我正在尝试实现这个力导向图的修改版本 http mbostock github com d3 ex force html http mbostock github co
  • 在 GeoJson 数据接收到的 Google 地图多边形上放置标签

    我想将带有信息的标签 或带有标签的 div 放在由下面的代码片段绘制的多边形上 样式属性已成功应用于要素 多边形类型 有谁知道如何向该特征添加文本并将其显示在多边形的中心 function handleGeoJson data map da
  • HTTPS 网站上的 ShareThis 按钮不可点击

    我已将 共享此 按钮添加到我的安全站点 现在单击它们时会产生错误 下面提到了错误 以前有人遇到过这个问题吗 阻止加载混合活动内容 http w sharethis com button buttons js http w sharethis
  • React 不适用于 Android 4.4.2 Web 视图浏览器

    React 在我的 Android 手机上不起作用 我不认为这是我的代码错误 因为即使我写的唯一内容是 p hello world p 它仍然没有显示 在 chrome 远程吊顶上查看后 这显示了 Map is not defined 以前

随机推荐

  • Chrome 扩展 - 如何定期访问网络摄像头和音频?

    我正在使用一个 chrome 扩展程序 我想与我的网络摄像头集成来执行一些时髦的计算机视觉和音频 ML 操作 通常我会做这样的事情 对于音频
  • 请给我 C# 中隐式和显式类型转换的示例

    任何人都可以给我现实生活中的隐式类型转换示例 我知道隐式类型转换意味着从派生类到基类的转换 但我不知道如何在 C 编码中显示 我不想用两行来定义它 我想定义一个完整的程序来显示 C 中的隐式和显式类型转换 请帮我 Regards 不 隐式类
  • 如何更改 FreeRTOS 中任务的最大可用堆大小?

    我通过以下方式在任务中创建元素列表 l dllist pvPortMalloc sizeof dllist dlllist 有 32 字节大 我的嵌入式系统有 60kB SRAM 所以我希望系统可以轻松处理我的 200 个元素列表 我发现在
  • 如何去除自定义按钮边框上的“妊娠纹”?

    在按钮上执行一些自定义绘制时Graphics2D对象 我得到以下结果 最左边的按钮未切换 另一个按钮已切换 正如您所看到的 切换按钮有这些白色的 妊娠纹 为什么会有这些以及如何删除它们 这是我用来绘制边框的代码 Draw border of
  • 使用 TreeMap 数据膨胀 ListView(自定义适配器)

    Solved 我根据 JJV的建议创建了一个适配器 我知道还有很大的改进空间 但目前还有效 我已经使用工作代码更新了程序的简化版本 我希望它对其他人有用 做这样的事情 public class TreeMapAdapter extends
  • mysql插入行时如何使用if not存在

    我想做的事情是检查是否有同一行 如果没有则向表中插入新行 在这种情况下 我该如何使用if not exists INSERT INTO facebook ID fb id label id page ids token VALUES NUL
  • Google Cloud Storage 返回我的公共文件的 NoSuchKey

    我这里有一个公共存储桶 http storage googleapis com tripket1 此存储桶中的所有文件的 ACL 都设置为 公共读取 然而 当我尝试查看任何文件时 例如 http storage googleapis com
  • Python中同时赋值和打印

    在Python中 有没有办法将结果分配给变量并立即打印它 换句话说 我正在寻找相当于 a something print a 仅一次 并非每个作业都应自动打印 有 REPL 例如对于 Scala 这会自动发生 scala gt val co
  • iOS 10.1.1 弹出窗口显示“应用程序可能会降低您的 iPhone 速度”

    当我在真实设备上通过 Xcode 构建并运行我的应用程序时 我会收到一个弹出窗口 AppName可能会降低你的 iPhone 速度 该应用程序的开发者需要对其进行更新以提高其兼容性 我没有看到任何内存问题 并且我的应用程序崩溃从未遇到过任何
  • 如何使用 group_level 将超集键与子集匹配(在 couchdb 中进行子选择?)

    如何在 couchdb 中进行子选择 或者如何使用 group level 将超集键与子集匹配 我有一个非常复杂的问题 希望对那些不仅仅是第一次学习 map reduce 和 couchdb 的人有一个不太复杂的答案 我正在开发一个系统 该
  • 如何将 @IdClass 与 JPA 存储库一起使用?

    我一直在使用 Spring JPA Repository 接口来持久化对象 而且效果非常好 但是当 Entity定义一个 IdClass 类不是嵌入的 但字段是对象的一部分 我应该创建吗findBy命名所有复合字段的方法 或者有没有办法创建
  • 如何让 App Engine Servlet 监听 Firebase

    我正在关注以下教程 https cloud google com solutions mobile firebase app engine android studio 我一切正常 电子邮件按预期每 2 分钟发送一次 但是 我现在希望扩展此
  • 使用模数 php 检测每 4 个

    我试图使用模数方法检测每第四篇文章 以在 WordPress 的布局中插入额外的代码 但我无法得到它 这是我的一个简短的例子 div class column div
  • toString 和 valueOf 截断小数点后的尾随 0

    在 javascript 中 我注意到 toString 和 valueOf 截断了小数点后的尾随 0 例如 var num 0 00 var num2 0 0100 num valueOf or num toString outputs
  • 将 DocRaptor Web 服务与 AngularJS 一起使用?

    我正在尝试使用 AngularJS 应用程序生成 Excel xls 文件猛禽博士 当仅尝试 DocRaptor 入门文档中所述的简单 POST 请求时 我不断收到以下错误 他们的文档声称他们支持 CORS 请求 任何帮助将不胜感激 Chr
  • 绘制分区统计图不绘制数据

    这是我的数据的链接https docs google com document d 1oIiwiucRkXBkxkdbrgFyPt6fwWtX4DJG4nbRM309M20 edit usp sharing 我的问题是 当我在 Jupyte
  • Dart 如何按键过滤映射

    如何根据键处理地图 如果在我的地图中 键等于我的变量 那么我想创建一个包含我的地图的列表 如果在我的地图中 键不等于我的变量 那么我想创建一个包含 2 个地图对象的列表 其中键具有最近的较低值 键具有最近的较高值 int myVar 100
  • _mm_crc32_u8 给出的结果与参考代码不同

    我一直在与内在因素作斗争 特别是使用标准 CRC 计算和据推测等效的英特尔内在函数 我想转而使用 mm crc32 u16 and mm crc32 u32但如果我不能让 8 位操作工作 那就没有意义了 static UINT32 g ui
  • 什么是 Jooq 事务隔离级别?会发生脏读吗?

    根据评论https www jooq org doc 3 6 manual sql execution transaction management 使用 Jooq 似乎还无法更改隔离级别 然而 尚不清楚 Jooq 设置的隔离级别是什么 因
  • Google Maps markClusterer:如何在配置对象中组合 Interface Renderer 和 GridOptions gridSize?

    我目前正在尝试实施Google 地图 JavaScript MarkerClusterer在网站上 我在用着界面渲染器覆盖几个默认配置参数 let renderer render count position gt new google m