awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
AnmolSaini16 avatar

AnmolSaini16/mapcn

0
View on GitHub↗
5,965 stars·300 forks·TypeScript·mit·2 viewsmapcn.dev↗

Mapcn

MapCN is a React component library that wraps MapLibre GL into declarative, composable building blocks for interactive maps. It provides a set of small, reusable components for rendering maps, placing markers, drawing routes, and clustering points, all managed through React hooks, context, and refs for state and lifecycle control.

The library distinguishes itself by offering a complete set of map features as individual React components that automatically adapt to light and dark themes. It includes components for interactive map rendering with zero configuration, marker placement with popups and drag support, route and arc drawing with click and hover events, and native point clustering for large datasets. Map controls for zoom, compass, geolocation, and fullscreen are also provided as themed components.

Beyond the core components, the library supports custom GeoJSON layers, high-performance marker layers on the WebGL canvas, and programmatic access to the map instance for building extended capabilities like real-time tracking or heatmaps. It also offers composable map UIs, custom tile provider support, and dynamic style switching.

The library is distributed as a TypeScript package and is designed to be used in React applications that need interactive, theme-aware maps without requiring API keys.

Features

  • Interactive Map Renderers - Renders a full-featured interactive map using MapLibre GL with zero configuration and automatic theme switching.
  • GeoJSON Renderers - Renders markers, routes, and clusters as GeoJSON layers on the WebGL canvas for high-performance visualization.
  • Interactive GeoJSON Layers - Renders custom GeoJSON data as styled layers with fill and outline that respond to hover interactions.
  • Geographic Route Drawing - Draws styled routes and curved arcs between coordinates on a MapLibre map with click and hover events.
  • Geographic Point Clustering - Groups nearby points into clusters at low zoom levels and expands them as the user zooms in to handle large datasets.
  • Map Point Clustering - Group close points into expandable clusters using native clustering, with configurable colors and sizes.
  • React Map Components - Provides declarative React components that compose into interactive map interfaces using MapLibre GL.
  • Marker Interaction - Places DOM-based markers on a map that display custom content, open popups on click, and show tooltips on hover.
  • Markers with Popups - Place rich markers on a map that can display popups, tooltips, and labels when interacted with.
  • Marker Placement - Position a marker at a given longitude and latitude, supporting click, hover, and drag interactions.
  • Imperative-to-Declarative Bridges - Wraps the MapLibre GL imperative API into declarative React components with hooks for state management and lifecycle control.
  • Map Instance Access Patterns - Accesses the underlying map instance via hooks or refs to call methods, listen to events, and build custom features.
  • Imperative Map Ref Access - Accesses the underlying map instance through a ref to call methods and listen to events.
  • Map Marker Tooltips - Display a floating content box when the user hovers over a marker, which auto-dismisses on hover out.
  • Map Marker Managers - Places interactive markers with popups, tooltips, and drag functionality to display rich content on map coordinates.
  • Map UI Frameworks - Assembles complex map interfaces from simple, reusable components that compose together.
  • Themed Map Controls - Add zoom, compass, locate, and fullscreen controls that automatically adapt to light and dark mode.
  • Zero-Configuration Map Renderers - Initialize a MapLibre GL map inside a component, automatically handling theme switching and providing context for child elements.
  • Map Marker Popups - Opens popups containing images, ratings, and action buttons when a user clicks a marker on the map.
  • Map Style Theme Switching - Switches between light and dark map styles automatically based on the user's theme preference.
  • Imperative Map Access Hooks - Provides React hooks to access the map instance, listen to events, and call methods directly from child components.
  • Geographic Route Visualization - Draws routes, paths, and curved arcs between coordinates with styled lines and support for click and hover events.
  • Spatial Clustering - Uses MapLibre GL's built-in clustering algorithm to group nearby points into expandable clusters with configurable appearance.
  • Extended Map Layer Capabilities - Supports custom GeoJSON layers, real-time tracking, geofencing, heatmaps, and other extended map capabilities.
  • Extended Map Layer Capabilities - Extends the map with real-time tracking, geofencing, heatmaps, drawing tools, 3D buildings, animations, and custom data layers.
  • Map Marker Layers - Renders hundreds or thousands of markers as GeoJSON layers on the WebGL canvas for high performance.
  • Geographic Arc Drawing - Renders quadratic Bézier arcs between two coordinates on a map, supporting per-arc styling and hover interactions.
  • Route Stop Markers - Places numbered markers along a drawn path to indicate stops or waypoints.
  • Custom Tile Provider Support - Connects to any tile provider that is compatible with the map library, including OpenStreetMap, Carto, and MapTiler.
  • Draggable Markers - Repositions markers on the map by dragging them and shows the updated coordinates in a popup.
  • Map Compass Displays - Displays a compass rose that indicates the current map bearing and can be clicked to reset north.
  • Browser Geolocation Detectors - Uses the browser's geolocation API to find and center the map on the user's current location.
  • Windowed Fullscreen Toggles - Switches the map display between windowed and fullscreen view to maximize the visible area.
  • Map Popups - Render a content popup attached to a marker on click or at a standalone coordinate on the map.
  • Coordinate - Zooms the map to a specified geographic coordinate or bounding box with a smooth animated transition.
  • Map Route Alternatives - Shows multiple route alternatives and lets users select one by fetching directions from a routing API.

Star history

Star history chart for anmolsaini16/mapcnStar history chart for anmolsaini16/mapcn

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does anmolsaini16/mapcn do?

MapCN is a React component library that wraps MapLibre GL into declarative, composable building blocks for interactive maps. It provides a set of small, reusable components for rendering maps, placing markers, drawing routes, and clustering points, all managed through React hooks, context, and refs for state and lifecycle control.

What are the main features of anmolsaini16/mapcn?

The main features of anmolsaini16/mapcn are: Interactive Map Renderers, GeoJSON Renderers, Interactive GeoJSON Layers, Geographic Route Drawing, Geographic Point Clustering, Map Point Clustering, React Map Components, Marker Interaction.

What are some open-source alternatives to anmolsaini16/mapcn?

Open-source alternatives to anmolsaini16/mapcn include: paullecam/react-leaflet — This project is a GIS component library and a React wrapper for the Leaflet mapping library. It acts as a bridge… googlemaps/android-maps-utils — This project is a utility library for the Google Maps SDK for Android, providing a suite of specialized tools for… python-visualization/folium — Folium is a Python library that builds interactive Leaflet.js maps directly from Python data structures, enabling… tomchentw/react-google-maps — This project is a Google Maps React wrapper and integration library that bridges the Google Maps JavaScript API with a… maptalks/maptalks.js — maptalks.js is a JavaScript map rendering library and web map interaction framework used to render interactive 2D and… uber/react-map-gl — react-map-gl is a React component library for embedding and controlling Mapbox GL JS interactive maps. It serves as a…

Open-source alternatives to Mapcn

Similar open-source projects, ranked by how many features they share with Mapcn.
  • paullecam/react-leafletPaulLeCam avatar

    PaulLeCam/react-leaflet

    5,592View on GitHub↗

    This project is a GIS component library and a React wrapper for the Leaflet mapping library. It acts as a bridge between the imperative Leaflet API and the declarative state management of React, allowing for the creation of interactive geographic maps and spatial data visualizations. The library uses a component-based architecture to render maps with markers and layers. It synchronizes the React virtual DOM with the map's internal layer registry to maintain a consistent geographic state, mapping component lifecycles to the addition and removal of map layers. The tool provides capabilities fo

    TypeScriptjavascriptleafletleaflet-maps
    View on GitHub↗5,592
  • googlemaps/android-maps-utilsgooglemaps avatar

    googlemaps/android-maps-utils

    3,597View on GitHub↗

    This project is a utility library for the Google Maps SDK for Android, providing a suite of specialized tools for rendering geospatial data, calculating spherical geometry, and visualizing map markers and heatmaps. It serves as a helper collection to handle complex geospatial tasks within Android applications. The library features a marker clustering tool to group nearby markers into single icons and a map data visualizer for generating heatmaps based on the intensity and distribution of geographic points. It also includes a polyline encoding tool for compressing coordinate sequences into com

    Javaandroidgeojsongoogle-maps
    View on GitHub↗3,597
  • python-visualization/foliumpython-visualization avatar

    python-visualization/folium

    7,372View on GitHub↗

    Folium is a Python library that builds interactive Leaflet.js maps directly from Python data structures, enabling geographic data visualization in Jupyter notebooks or as standalone HTML pages. It creates maps centered on given coordinates with configurable zoom, tiles, and dimensions, and supports embedding those maps inside web routes for serving in browsers. The library provides a comprehensive set of tools for data-driven map creation, including choropleth maps that bind tabular data to geographic geometries, colormap application to markers and polygons, and GeoJSON data overlay and visua

    Pythondata-sciencedata-visualizationjavascript
    View on GitHub↗7,372
  • tomchentw/react-google-mapstomchentw avatar

    tomchentw/react-google-maps

    4,626View on GitHub↗

    This project is a Google Maps React wrapper and integration library that bridges the Google Maps JavaScript API with a declarative component-based architecture. It provides an interactive map component for rendering map views, markers, and overlays using geographic coordinates and custom HTML. The library serves as a geographic data visualization tool and a map-based search interface. It enables the implementation of place search functionality and autocomplete inputs integrated directly with the map view. The capability surface covers location-based services including route visualization, pa

    JavaScriptgoogle-maps-javascript-apireactreact-styleguidist
    View on GitHub↗4,626
  • See all 30 alternatives to Mapcn→