Skip to content

Feat marker - #2790

Merged
lzxue merged 12 commits into
masterfrom
feat_marker
Nov 25, 2025
Merged

Feat marker#2790
lzxue merged 12 commits into
masterfrom
feat_marker

Conversation

@lzxue

@lzxue lzxue commented Nov 24, 2025

Copy link
Copy Markdown
Contributor

[English Template / 英文模板]

🤔 这个变动的性质是?

  • 新特性提交
  • 日常 bug 修复
  • 站点、文档改进
  • 演示代码改进
  • 组件样式/交互改进
  • TypeScript 定义更新
  • 包体积优化
  • 性能优化
  • 功能增强
  • 国际化改进
  • 重构
  • 代码风格优化
  • 测试用例
  • 分支合并
  • 工作流程
  • 版本更新
  • 其他改动(是关于什么的改动?)

🔗 相关 Issue

💡 需求背景和解决方案

📝 更新日志

语言 更新描述
🇺🇸 英文
🇨🇳 中文

☑️ 请求合并前的自查清单

⚠️ 请自检并全部勾选全部选项⚠️

  • 文档已补充或无须补充
  • 代码演示已提供或无须提供
  • TypeScript 定义已补充或无须补充
  • Changelog 已提供或无须提供

@changeset-bot

changeset-bot Bot commented Nov 24, 2025

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 24fabb7

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @lzxue, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily focuses on improving the marker clustering functionality within the MarkerLayer component, allowing for more accurate representation of single markers within a clustered view and providing better data accessibility for clustered markers. Additionally, it includes several maintenance updates to the project's documentation site, such as introducing a new example for the clustering feature, adjusting Dumi theme dependencies, and streamlining import paths.

Highlights

  • Enhanced Marker Clustering Logic: The MarkerLayer component now intelligently handles marker clustering, specifically detecting and rendering individual markers when a cluster effectively contains only one point, and attaching aggregated properties to cluster markers for richer data access.
  • New Marker Cluster Example: A new example (markerCluster.ts) has been added to demonstrate the usage and capabilities of the enhanced marker clustering feature, complete with data fetching and custom marker styling.
  • Dumi Theme Dependency Adjustment: The @antv/dumi-theme-antv package has been downgraded to version 0.5.5, and the ManualContent component file related to the Dumi theme has been removed.
  • Site Build Configuration Updates: Several site-related files have been updated, including changing import styles for Footer and Header components, adding a new @ alias in .dumirc.ts for easier imports, and removing the cheerio development dependency.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

这个 PR 引入了 marker 聚合功能,包括一个新的示例和在 MarkerLayer 中处理聚合点渲染的逻辑。站点配置的更改似乎与依赖版本变化有关。我的审查主要集中在聚合点计数逻辑中的一个严重错误,以及几处可以通过移除用于控制流程的 any 类型转换和 try-catch 块来提高代码质量的地方,这将增强类型安全性和可维护性。

Comment thread packages/component/src/marker-layer.ts Outdated
Comment thread examples/demos/components/marker-cluster.ts Outdated
Comment thread packages/component/src/marker-layer.ts Outdated
Comment thread packages/component/src/marker-layer.ts Outdated
Comment on lines +321 to +328
try {
if (feature && feature.properties) {
// @ts-ignore
marker.setExtData(feature.properties);
}
} catch (e) {
// ignore if marker doesn't support setExtData for some reason
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

使用 @ts-ignoretry-catch 块来调用 marker.setExtData() 暗示了潜在的类型问题,并且不必要地吞没了错误。Marker 类实现了 setExtData 方法,所以实例应该有这个方法。静默地忽略错误会使调试变得困难。请移除 try-catch 块。根本问题可能在于类型定义,如果 marker 的类型是 IMarker,则应更正类型定义以在 IMarker 接口上包含 setExtData

    // attach aggregated properties to the cluster marker so getExtData() returns useful info
    if (feature && feature.properties) {
      // @ts-ignore
      marker.setExtData(feature.properties);
    }

@lzxue lzxue linked an issue Nov 24, 2025 that may be closed by this pull request
lzxue and others added 7 commits November 24, 2025 12:03
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@lzxue
lzxue merged commit a1800ef into master Nov 25, 2025
6 checks passed
@lzxue
lzxue deleted the feat_marker branch November 25, 2025 02:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant