Skip to content

Component | TopoJSON: Major TopoJSON Map updates#750

Open
lee00678 wants to merge 41 commits intomainfrom
feat/topojson-updates
Open

Component | TopoJSON: Major TopoJSON Map updates#750
lee00678 wants to merge 41 commits intomainfrom
feat/topojson-updates

Conversation

@lee00678
Copy link
Collaborator

@lee00678 lee00678 commented Mar 2, 2026

This PR covers the features added to Topojson:

  • Added flow animation
  • Added color map
  • Added Clustering and expanding cluster
  • Added support for Point Shapes
  • Updated clusterlabel, cluster bottom label, point label, point bottom label, so it's more in sync with leaflet map.
Screen.Recording.2026-03-02.at.1.40.17.PM.mov
  • Added area label with collision detection
Screenshot 2026-03-02 at 1 58 02 PM
  • Fix mapFitToPoints Bug
    Previously: Single point case
Screenshot 2026-03-02 at 3 09 59 PM Now:
Screen.Recording.2026-03-02.at.3.16.34.PM.mov

lee00678 and others added 30 commits March 2, 2026 13:41
- Add clustered colorMap support to display point data as pie/donut charts with multiple colored segments
- Implement cluster expansion with automatic point spreading using pack layout and white background circle
- Enable click-outside collapse with single-click response on background, features, and cluster elements
- Restore original donut chart visualization when collapsing expanded clusters across zoom/pan operations
- Add example demonstrating clustered color map
…e doesn't re-cluster, adding expandCluster to zoomToLocation function
…uster points in TopoJSONMap

- Fix expanded cluster point color is always dark, it should be same as single point
@lee00678 lee00678 requested a review from suryahanumandla March 2, 2026 21:59
@lee00678
Copy link
Collaborator Author

lee00678 commented Mar 2, 2026

cc @rokotyan

Copy link
Contributor

@rokotyan rokotyan left a comment

Choose a reason for hiding this comment

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

I was only able to take a quick look, and I personally don't find this code "mergeable." There are so many as any usages, which is a no-go in my opinion.

: getNumber(d.properties as any, config.pointRadius, 0) / currentZoomLevel
return radius
})
.attr('dy', d => {
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a reason to use dy instead of dominant-baseline?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I believe leaflet uses dy here, keeping it the same for consistency.

@lee00678 lee00678 force-pushed the feat/topojson-updates branch from 5b71904 to 4e8afd3 Compare March 3, 2026 23:06
@lee00678
Copy link
Collaborator Author

lee00678 commented Mar 9, 2026

Added transition to area label

Screen.Recording.2026-03-09.at.2.32.58.PM.mov

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants