Claude
Skills
Sign in
โ† Back

syncfusion-react-maps

Included with Lifetime
$97 forever

Implement Syncfusion React Maps component for geographical data visualization. Use this when displaying interactive maps, location-based information, or regional data analysis. This skill covers map providers (Bing, OpenStreetMap), GeoJSON rendering, markers and bubbles, zooming/panning, data labels, legends, and choropleth visualizations in React applications.

Design

What this skill does


# Implementing Syncfusion React Maps

A comprehensive skill for implementing the Syncfusion React Maps component to visualize geographical data with rich interactivity, multiple layers, markers, bubbles, legends, and map provider integration.

## When to Use This Skill

Use this skill when you need to:
- **Display geographical data** on interactive maps
- **Visualize location-based information** with markers, bubbles, or data labels
- **Create choropleth maps** with color-coded regions based on data values
- **Integrate map providers** like Bing Maps, OpenStreetMap, or Azure Maps
- **Render custom shapes** from GeoJSON data files
- **Build multi-layer maps** with overlays and sublayers
- **Add navigation lines** to show routes or connections between locations
- **Implement zooming and panning** for map exploration
- **Display statistical data** on geographical regions
- **Create interactive legends** for data interpretation
- **Support multiple projections** (Mercator, Miller, Eckert, etc.)
- **Handle user interactions** like tooltips, selection, and highlighting

## Component Overview

The Syncfusion React Maps component is a powerful data visualization tool that renders geographical data using Scalable Vector Graphics (SVG). It supports:

- **Any number of layers and sublayers** for complex visualizations
- **GeoJSON data binding** for custom shape rendering
- **Map providers** (Bing, OpenStreetMap, Azure) as base layers
- **6 types of projections** for different map representations
- **Visual elements**: Markers, Bubbles, Navigation Lines, Annotations, Data Labels, Legends
- **Interactive features**: Zooming, Panning, Tooltips, Selection, Highlighting
- **Accessibility**: WCAG 2.1 compliant with keyboard navigation
- **Globalization**: RTL support, internationalization, localization

## Key Capabilities

### Data Visualization Elements
- **Markers**: Pin locations with custom shapes, templates, and clustering
- **Bubbles**: Display data magnitude with size-based bubbles
- **Data Labels**: Show information directly on map shapes
- **Color Mapping**: Apply colors based on data values (equal, range, desaturation)
- **Navigation Lines**: Draw connections between locations with curves and arrows
- **Legends**: Provide visual keys for data interpretation

### Layer Architecture
- **Main Layer**: Base map from GeoJSON or map provider
- **Sublayers**: Overlay additional shapes on top of main layer
- **Multi-layer Support**: Stack multiple layers for rich visualizations

### Map Providers
- **Bing Maps**: Satellite, aerial, and road views
- **OpenStreetMap**: Free tile layer provider
- **Azure Maps**: Microsoft's map service
- **Hybrid Approach**: Combine GeoJSON shapes with provider tiles

### User Interactions
- **Zooming**: Mouse wheel, double-click, pinch, toolbar controls
- **Panning**: Drag to explore different regions
- **Tooltips**: Show data on hover
- **Selection**: Highlight shapes on click
- **Reset**: Return to initial view

## Documentation and Navigation Guide

### API Reference
๐Ÿ“„ **Read:** [references/api-reference.md](references/api-reference.md)
- Complete MapsComponent properties reference
- All available methods with examples
- Comprehensive events documentation
- Layer, marker, bubble, and data label settings
- Legend, zoom, and tooltip configuration
- Quick reference code examples
- Type definitions and parameters

### Getting Started
๐Ÿ“„ **Read:** [references/getting-started.md](references/getting-started.md)
- Installation and package dependencies
- Basic Maps component implementation
- GeoJSON data structure and binding
- CSS theme imports
- Module injection pattern (feature-based)
- First world map example
- Data source binding with shapeDataPath and shapePropertyPath

### Layers and Structure
๐Ÿ“„ **Read:** [references/layers-and-sublayers.md](references/layers-and-sublayers.md)
- Understanding layer architecture
- Main layer vs sublayer differences
- Creating multi-layer maps
- Layer types and stacking order
- Layer-specific settings and configuration
- When to use multiple layers

### Markers
๐Ÿ“„ **Read:** [references/markers.md](references/markers.md)
- Adding markers to pinpoint locations
- Marker data source structure (latitude, longitude)
- Marker shapes and custom templates
- Marker clustering for dense data
- Dynamic marker updates
- Interactive markers with click events
- Marker tooltips and labels

### Data Visualization Elements
๐Ÿ“„ **Read:** [references/data-visualization.md](references/data-visualization.md)
- Bubble visualization for data magnitude
- Configuring bubble size and colors
- Data label setup and formatting
- Smart label modes (trim, hide, none)
- Label templates for custom content
- Combining bubbles with data labels
- Best practices for visual hierarchy

### Legend
๐Ÿ“„ **Read:** [references/legend.md](references/legend.md)
- Enabling and configuring legends
- Positioning strategies (absolute, dock)
- Legend alignment options (near, center, far)
- Interactive legends
- Legend modes (default, interactive)
- Customizing legend appearance
- Syncing legends with color mapping

### Color Mapping
๐Ÿ“„ **Read:** [references/color-mapping.md](references/color-mapping.md)
- Color mapping types (equal, range, desaturation)
- Applying colors based on data values
- Setting up colorValuePath
- Creating choropleth maps
- Multiple color mapping rules
- Custom color schemes
- Visual data representation strategies

### Navigation Lines
๐Ÿ“„ **Read:** [references/navigation-lines.md](references/navigation-lines.md)
- Creating lines between locations
- Line styling (width, color, dash array)
- Curved lines and angles
- Arrow indicators for direction
- Use cases (routes, connections, flows)
- Animation effects on lines

### Map Providers
๐Ÿ“„ **Read:** [references/map-providers.md](references/map-providers.md)
- Overview of supported providers
- When to use GeoJSON vs map providers
- Bing Maps setup and API keys
- OpenStreetMap integration (free)
- Azure Maps configuration
- Tile layer types (satellite, aerial, road)
- Hybrid approaches (GeoJSON overlays on provider tiles)

### User Interactions
๐Ÿ“„ **Read:** [references/user-interactions.md](references/user-interactions.md)
- Enabling and configuring zooming
- Zoom factor and toolbar controls
- Panning functionality
- Tooltip configuration and templates
- Selection and highlighting shapes
- Mouse wheel and double-click zoom
- Pinch zoom for touch devices
- Reset to initial view

### Annotations and Polygons
๐Ÿ“„ **Read:** [references/annotations-polygon.md](references/annotations-polygon.md)
- Adding custom annotations to maps
- Polygon rendering for custom shapes
- Positioning and alignment
- Interactive annotations
- Use cases for overlays

### Customization
- Map projections (Mercator, Miller, Eckert, Winkel Tripel, Aitoff, Equirectangular)
- Title and subtitle configuration
- Border and background styling
- Margin and padding adjustments
- Custom CSS classes
- Theme integration
- Responsive design patterns

### Advanced Features
๐Ÿ“„ **Read:** [references/advanced-features.md](references/advanced-features.md)
- Internationalization (i18n)
- Localization (l10n)
- Accessibility (WCAG compliance, keyboard navigation)
- State persistence across sessions
- Printing and export functionality
- Event handling patterns
- Accessing component methods via ref
- Performance optimization techniques
- Migration guide from EJ1 to EJ2

## Quick Start Example

```tsx
import * as React from 'react';
import { MapsComponent, LayersDirective, LayerDirective, Inject, Legend } from '@syncfusion/ej2-react-maps';
import { world_map } from './world-map'; // GeoJSON data

function MapExample() {
  const data = [
    { Country: 'United States', Population: 331000000, Membership: 'Permanent' },
    { Country: 'Russia', Population: 145900000, Membership: 'Permanent' },
    { Country: 'China', Population: 1439000000, Membership: 'Permanent' },
    { Country: 'India', Population: 1380000000, Membership: 'Non-Perma

Related in Design