---
title: JavaScript Maps Library | Interactive HTML5 Maps | Syncfusion
description: JavaScript Maps library is a geographical data visualization tool that renders interactive maps using GeoJSON or by connecting to map providers like Bing, OSM.
---

# JavaScript Maps Library - A Feature-Rich Maps Component

* Render maps from various map providers, including OpenStreetMap, Google Maps, Bing Maps, etc.
* Easily customize maps by rendering GeoJSON data and adding built-in features like bubbles, markers, navigation lines, and legends.
* Simulate concepts like bus seat selection and sports stadiums by rendering custom shapes.

![JavaScript Maps background banner.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-banner.webp)

![JavaScript Maps banner.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-banner-preview.webp)

## Overview
The JavaScript Maps control is ideal for rendering Maps from GeoJSON data or other map providers like OpenStreetMap, Google Maps, and Bing Maps. Its rich feature set includes markers, labels, bubbles, navigation lines, legends, tooltips, zooming, panning, drill down, and more.

**Interactive demo:** [Live demo](https://ej2.syncfusion.com/products/typescript/maps/overview/?editable=false)

## Why choose the Syncfusion JavaScript Maps library?

![JavaScript Maps customization.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-customization.svg)

### Easy to customize

To visualize a geometric shape in SVG format in Maps, you [bind GeoJSON data](https://ej2.syncfusion.com/documentation/maps/getting-started#render-shapes-from-geojson-data) to it. GeoJSON data is light and simple to read. You can render a world map or a U.S. map and alter it with the JavaScript Maps control's built-in options to achieve the required layout.

![JavaScript Maps geospatial imaging.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-geospatial-imaging.svg)

### Geospatial imaging services

Work with services like Google Maps, [Bing Maps](https://ej2.syncfusion.com/documentation/maps/providers/bing-maps), and [OpenStreetMap](https://ej2.syncfusion.com/documentation/maps/providers/map-provider) to view satellite, aerial, and street maps by locating map data quickly without the use of any external shape inputs.

![AI-Assisted development process.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/syncfusion-ai-assisted-development.svg)

### AI-Assisted Development

Build interactive geospatial experiences faster with the [Agentic UI Builder](https://ej2.syncfusion.com/documentation/mcp-server/agentic-ui-builder/getting-started) and [Syncfusion Agent Skills](https://ej2.syncfusion.com/documentation/skills). Generate map visualizations, markers, layers, and location-based insights with minimal manual effort.

![JavaScript Maps multiple layers.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-multilayers.svg)

### Multiple geometric layers

A [map with several geometric layers](https://ej2.syncfusion.com/documentation/maps/layers#multilayer) in a single view can be generated with sublayers. You can render the geographic elements of a country, such as rivers and valleys, as a sublayer. Each layer can be drilled.

![JavaScript Maps adaptive layout.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-adaptive.svg)

### Adapts to any resolution

Maps has a highly responsive layout and an optimized design for desktops, tablets, and phones. It works well on all mobile phones that use iOS, Android, or Windows OS.

![JavaScript Maps projections.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-projection.svg)

### Custom projections

The JavaScript Maps component supports [Mercator, rectangular, Miller, Eckert 3, Eckert 5, Eckert 6, and Winkel 3](https://ej2.syncfusion.com/documentation/maps/customization#projection-type) projections.

![JavaScript Maps zooming.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-zoom-pan.svg)

### Zooming and panning

[Zooming and panning](https://ej2.syncfusion.com/documentation/maps/how-to/zooming) in JavaScript Maps are fast. Zoom the map by scrolling the mouse wheel, clicking the shapes, or using the zooming toolbar. Pan the map to navigate among regions easily.

![JavaScript Maps globalization.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-globalization.svg)

### Globalization and localization

[An internationalization library](https://ej2.syncfusion.com/documentation/maps/internationalization) is used to globalize number, date, and time values in Maps. All the strings used in the Maps user interface can be localized by users as needed. [Localizing UI strings](https://ej2.syncfusion.com/documentation/maps/localization) involves using the localization (l10n) library.

## JavaScript Maps code example
Easily get started with the JavaScript Maps library using a few simple lines of HTML and TS code, as demonstrated in the following. Also explore our [JavaScript Maps library example](https://ej2.syncfusion.com/demos/#/bootstrap5/maps/default.html), which shows you how to render maps.

```html

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Essential JS 2</title>
    <script src="node_modules/systemjs/dist/system.src.js" type="text/javascript"></script>
    <script src="system.config.js" type="text/javascript"></script>
</head>
<body>
    <div id="container"></div>
</body>
</html>
```
```ts

import { world_map } from './world_map';
import { Maps } from '@syncfusion/ej2-maps';

let map: Maps = new Maps({
  layers: [
    {
      shapeData: world_map,
      dataSource: [
        { Country: 'United States', Membership: 'Permanent', Color: '#feb24c' },
        { Country: 'United Kingdom', Membership: 'Permanent', Color: '#feb24c' },
        { Country: 'Russia', Membership: 'Permanent', Color: '#feb24c' },
        { Country: 'France', Membership: 'Permanent', Color: '#feb24c' },
        { Country: 'China', Membership: 'Permanent', Color: '#feb24c' },
        { Country: 'Albania', Membership: 'Non-permanent', Color: '#f03b20' },
        { Country: 'Brazil', Membership: 'Non-permanent', Color: '#f03b20' },
        { Country: 'Gabon', Membership: 'Non-permanent', Color: '#f03b20' },
        { Country: 'Ghana', Membership: 'Non-permanent', Color: '#f03b20' },
        { Country: 'India', Membership: 'Non-permanent', Color: '#f03b20' },
        { Country: 'Ireland', Membership: 'Non-permanent', Color: '#f03b20' },
        { Country: 'Kenya', Membership: 'Non-permanent', Color: '#f03b20' },
        { Country: 'Mexico', Membership: 'Non-permanent', Color: '#f03b20' },
        { Country: 'Norway', Membership: 'Non-permanent', Color: '#f03b20' },
        { Country: 'United Arab Emirates', Membership: 'Non-permanent', Color: '#f03b20' }],
      shapePropertyPath: 'name',
      shapeDataPath: 'Country',
      shapeSettings: {
        fill: '#E5E5E5',
        colorValuePath: 'Color',
      },
    },
  ],
});

map.appendTo('#container');
```

AI-assisted development

## Build feature-rich JavaScript Maps experiences faster

Accelerate geospatial application development with Syncfusion AI tools that turn requirements into fully configured map visualizations with minimal manual setup.

![Agent Skills icon](https://cdn.syncfusion.com/content/images/FT/common/sf-agent-skills.svg)

### Agent Skills

Accelerate development with Syncfusion AI Agent Skills for faster implementation and integration.

**Example Prompt**
Generate a JavaScript map with markers, legends, layers, and interactive tooltips.

[Explore Agent Skills](https://ej2.syncfusion.com/documentation/skills)

![AI Coding Assistant icon](https://cdn.syncfusion.com/content/images/FT/common/sf-ai-coding-assistant.svg)

### MCP Server

Accelerate development with AI that generates, configures, and troubleshoots component code directly in your IDE.

**Example Prompt**
Show how to render GeoJSON data in Syncfusion JavaScript Maps.

[Explore MCP Server](https://ej2.syncfusion.com/documentation/mcp)

## GeoJSON layer
Bind GeoJSON data to the maps to render any geometric shape in SVG (scalable vector graphics) format to visualize data. For example, render a world map or U.S. map and customize it to the desired look using built-in options. Add any number of layers to the maps.

* [GeoJSON layer example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/default.html)
* [GeoJSON layer documentation](https://ej2.syncfusion.com/documentation/maps/getting-started#render-shapes-from-geojson-data)

![Binding GeoJSON data in JavaScript Maps library.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-library-geojson-layer.png)

![JavaScript Maps rendered with geometric types over OSM map.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-geometry-type.svg)
## Geometric types
GeoJSON data contains geometric objects with properties such as geometry types and coordinates. The geometric types are the values present in the geometric objects of the GeoJSON data that specify the type of shape to be rendered, along with the coordinates that help to draw the shape’s boundary line. Polygon, MultiPolygon, LineString, MultiLineString, Point, MultiPoint, and GeometryCollection are the supported geometric types.

* [Geometric types documentation](https://ej2.syncfusion.com/documentation/maps/populate-data#geometry-types)

## Geo-imagery visuals
Built-in support for external geospatial imagery services, such as Bing Maps and OpenStreetMap, is used to visualize satellite, aerial, and street maps, or other kinds of imagery tiles without any external shape inputs. Users can render maps from various map providers like Google Maps Tile API, TomTom, Mapbox, and Esri’s ArcGIS. By using these external services, map data can be located easily.

* [OpenStreetMap example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/osm.html)
* [Map providers documentation](https://ej2.syncfusion.com/documentation/maps/providers/map-provider)
![JavaScript Maps library geo imagery visuals.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-library-geo-imagery-visuals.svg)

![JavaScript Maps with multiple layers.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-multi-layers.png)

## Multiple layers
Using sublayers, a map can be created with multiple geometric layers in a single view. For example, render additional geographic features of a country such as rivers and valleys as sublayers. You can also drill each layer.

* [Multiple layers example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/multi-layer.html)
* [Multiple layers documentation](https://ej2.syncfusion.com/documentation/maps/layers#multilayer)

## Markers
Denote a place with symbols or make a note at a desired latitude and longitude on a map using markers. For example, indicate a particular place on the U.S. map using a balloon marker shape. You can place any HTML element as a marker and add multiple markers to the map.

* [Default marker example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/marker.html)
* [Marker template example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/marker-template.html)
* [Marker documentation](https://ej2.syncfusion.com/documentation/maps/markers)

![JavaScript Maps with multiple markers.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-multiple-markers.png)

![JavaScript Maps is rendered with a marker clustering option.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-marker-cluster.png)

## Marker clustering
Display multiple markers in the same location by clustering them. For example, use markers to indicate the top 50 cities in the world. If one marker overlaps another, they will be clustered, and the total number of markers will be displayed over the cluster.

* [Marker clustering example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/marker-cluster.html)
* [Marker clustering documentation](https://ej2.syncfusion.com/documentation/maps/markers#marker-clustering)

## Marker drag and drop
You can drag and drop markers to reposition them in a map. After dragging and dropping markers, the marker data source and elements such as marker shape, color, legend, and tooltip content can be changed using supported events.

* [Marker drag and drop documentation](https://ej2.syncfusion.com/documentation/maps/markers#repositioning-the-marker-using-drag-and-drop)

![JavaScript Maps with marker drag and drop option.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-marker-drag.svg)

![JavaScript Maps is rendered with polygon.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-polygon.png)

## Polygons
Polygons can be displayed over a shape layer or an online map to highlight a specific region.

## Data labels
Data labels on a map provide identification for shapes by displaying their names. Trim or hide the labels at intersections with other labels and when they exceed shape bounds.

* [Data labels example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/data-label.html)
* [Data labels documentation](https://ej2.syncfusion.com/documentation/maps/data-label)
![JavaScript Maps with data labels.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-data-labels.png)

![JavaScript Maps rendered with multiple bubbles.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-multiple-bubbles.png)

## Bubbles
Use bubbles to represent additional information about shapes in a map such as population density or land area. Bubbles are rendered with various magnitudes and colors based on their underlying data values.

* [Bubbles example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/bubble.html)
* [Bubbles documentation](https://ej2.syncfusion.com/documentation/maps/bubble)

## Navigation lines
Denote flight routes or ship routes between two places on a geographic map with connector lines. The lines can be straight or curved.

* [Navigation lines example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/navigation-line.html)
* [Navigation lines documentation](https://ej2.syncfusion.com/documentation/maps/navigation-line)
![JavaScript Maps rendered with navigation lines.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-navigation-lines.png)

## Color mapping
Categorize the shapes on a map by customizing their colors based on the underlying values. The JavaScript Maps control supports three types of color mapping: range color mapping, equal color mapping, and desaturation color mapping.

* [Color mapping example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/color-mapping.html)

![Range color mapping is applied for the shapes in JavaScript Maps.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-range-color-mapping.png)
### Range color mapping
Apply colors to the shapes by comparing their values with a desired numeric range. For example, apply colors to the states in the U.S. based on population density.

* [Range color mapping documentation](https://ej2.syncfusion.com/documentation/maps/color-mapping#range-color-mapping)

![Equal color mapping is applied to the shapes in JavaScript Maps.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-equal-color-mapping.png)
### Equal color mapping
Differentiate a shape’s fill based on its underlying values and colors using equal color mapping. For example, apply colors to states in a U.S. map based on a winning political candidate.

* [Equal color mapping documentation](https://ej2.syncfusion.com/documentation/maps/color-mapping#equal-color-mapping)

![Desaturation color mapping is applied to the shapes in JavaScript Maps.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-desaturation-color-mapping-single-color.png)
### Desaturation color mapping
Change the opacity of the shapes by comparing their values with a desired numeric range. Minimum and maximum opacity of the shapes can be customized.

* [Desaturation color mapping documentation](https://ej2.syncfusion.com/documentation/maps/color-mapping#desaturation-color-mapping)

![Desaturation color mapping with multiple colors is applied to the shapes in JavaScript Maps.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-desaturation-color-mapping-multiple-colors.png)
### Desaturation with multiple colors
Apply multiple colors to a shape from a gradient by comparing values with a desired numeric range. Any number of colors can be specified for creating the gradient.

* [Desaturation with multiple colors documentation](https://ej2.syncfusion.com/documentation/maps/color-mapping#desaturation-with-multiple-colors)

## Legends
Legends provide valuable information for interpreting a map by explaining colors, shapes, and other identifiers based on the data visualized. The JavaScript Maps library supports two types of legends: default and interactive.

* [Legend documentation](https://ej2.syncfusion.com/documentation/maps/legend)
* [Legend example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/legend.html)

![JavaScript Maps rendered with default legend items.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-default-legend.png)
### Default
A map with a legend contains swatches of symbols with descriptions to denote the categories of shapes.

![JavaScript Maps rendered with interactive legend.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-interactive-legend.png)
### Interactive
Use a map with an interactive legend to find the range of a shape’s underlying value on mouse hover.

## Zooming and panning
Zoom JavaScript Maps for close-up analysis by pinching the map, scrolling the mouse wheel, clicking the shapes, or using the zooming toolbar. Pan the map for easy navigation across regions. Users can also change the zoom level of the initial rendering.

* [Zooming and panning example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/zooming.html)
* [Zooming and panning documentation](https://ej2.syncfusion.com/documentation/maps/user-interactions#zooming)

![Zooming and panning enabled in JavaScript Maps.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-zooming-and-panning.svg)

![Displays a tooltip on moving mouse over JavaScript Maps.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-tooltip.png)

## Tooltip
The tooltip displays details about the shape value on mouse hover. Tooltips are also displayed for markers and bubbles on a map.

* [Tooltip example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/tooltip.html)
* [Tooltip documentation](https://ej2.syncfusion.com/documentation/maps/user-interactions#tooltip)

## Drill down
Drill down in the rendered JavaScript Maps to display shape data located on another layer. For example, the initial layer may render the world map and on clicking a particular continent, the continent alone will render separately on another layer.

* [Drill-down example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/drilldown.html)
* [Drill-down documentation](https://ej2.syncfusion.com/documentation/maps/how-to/drilldown)
![JavaScript Maps is rendered with multiple layers and enabled drill-down option.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-drill-down.svg)

![Particular shape is selected in the rendered JavaScript Maps.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-selection-and-highlight.svg)

## Selection and highlight
Select a particular shape on mouse click or highlight on mouse hover to bring the focus to shapes on a map.

* [Selection and highlight example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/selection.html)
* [Selection documentation](https://ej2.syncfusion.com/documentation/maps/user-interactions#selection)
* [Highlight documentation](https://ej2.syncfusion.com/documentation/maps/user-interactions#highlight)

## Custom shapes
Create a JavaScript map with custom shapes by rendering customized GeoJSON data to indicate building infrastructure, points of interest, flight seat arrangement, sports stadiums, and more.

* [Custom shapes example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/seat-selection.html)

![Bus seat selection is simulated in JavaScript Maps.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-custom-shape.png)

![JavaScript Maps is rendered with annotations that display a compass image.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-annotation.png)

## Annotation
Display any HTML element as an annotation at a specific point of interest on a map. For example, place a compass image on the map using an annotation. Add multiple annotations to a map.

* [Annotation example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/annotation.html)
* [Annotation documentation](https://ej2.syncfusion.com/documentation/maps/annotations)

## Projection
Change the projection of the default rendered map. The HTML5 JavaScript Maps control supports various types of projections: Mercator, Equirectangular, Miller, Eckert 3, Eckert 5, Eckert 6, Winkel 3, and Aitoff.

* [Projection example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/projection.html)
* [Projection documentation](https://ej2.syncfusion.com/documentation/maps/customization#projection-type)

![JavaScript Maps rendered in Mercator projection.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-mercator-projection.png)
![JavaScript Maps rendered in Equirectangular projection.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-equirectangular-projection.png)
![JavaScript Maps rendered in Miller projection.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-miller-projection.png)
![JavaScript Maps rendered in Eckert 3 projection.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-eckert3-projection.png)
![JavaScript Maps rendered in Eckert 5 projection.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-eckert5-projection.png)
![JavaScript Maps rendered in Eckert 6 projection.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-eckert6-projection.png)
![JavaScript Maps rendered in Winkel 3 projection.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-winkel3-projection.png)
![JavaScript Maps rendered in Aitoff projection.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-aitoff-projection.png)

![JavaScript Maps is rendered with title and subtitle.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-title-and-subtitle.png)

## Title and subtitle
Add a title and subtitle to visualize additional information on a map. Fonts and alignment used in the title and subtitle can also be customized.

## Appearance
Customize the look and feel of a JavaScript map by changing the fill color, background, border, and opacity of shapes. Almost all the elements in JavaScript Maps are customizable. The control also provides built-in palettes with customizable options by default.

* [Appearance documentation](https://ej2.syncfusion.com/documentation/maps/customization#customize-shape)

![JavaScript Maps is rendered with customized appearance.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-customized-appearance.png)

![State persistence with JavaScript Maps library.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-with-state-persistence.png)

## State persistence
State persistence allows the Maps component to maintain state by storing the most recent model value in browser cookies. When the appropriate setting is enabled, some of the Maps component model values are preserved even after the page is refreshed.

* [State persistence documentation](https://ej2.syncfusion.com/documentation/maps/state-persistence)

## Exporting
Export or print the rendered JavaScript Maps to save a local copy for further use.

* [Export and print documentation](https://ej2.syncfusion.com/documentation/maps/print)

![Export JavaScript Maps illustration.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-export-illustration.png)
### Export
Export the JavaScript Maps control to a PDF document or in image formats such as SVG, PNG, and JPEG on the client side.

* [Export example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/export.html)

![Print JavaScript Maps illustration.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-print-illustration.png)
### Print
Print the rendered JavaScript Maps directly from the browser.

* [Print example](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/print.html)

## Accessibility

![Keyboard navigation in JavaScript Maps library.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-library-keyboard.png)

### Keyboard navigation

The JavaScript Maps library ensures that every element is keyboard accessible. Major features like zooming, panning, shape selection, and drill down can be performed using just keyboard shortcuts, no mouse interaction required. This helps in creating highly accessible applications.

![Accessibility in JavaScript Maps library.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-library-accessibility.png)

### Accessibility

The JavaScript Maps library has complete WAI-ARIA accessibility support. The Maps UI includes high-contrast visual elements that help visually impaired people have the best viewing experience. Also, valid UI descriptions are easily accessible through assistive technologies such as screen readers.

## Other supported frameworks

The Maps is available for the Blazor, React, Angular, and Vue frameworks. Explore its platform-specific options through the following links:

* ![Blazor Maps Library.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/blazor-maps.webp) [Blazor Maps](https://www.syncfusion.com/blazor-components/blazor-map)
* ![React Maps Library.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/react-maps.webp) [React Maps](https://www.syncfusion.com/react-components/react-maps-library)
* ![Angular Maps Library.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/angular-maps.webp) [Angular Maps](https://www.syncfusion.com/angular-components/angular-maps-library)
* ![Vue Maps Library.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/vue-maps.webp) [Vue Maps](https://www.syncfusion.com/vue-components/vue-maps-library)

## Supported browsers

The JavaScript Maps library works well with all modern web browsers, including Chrome, Firefox, Edge, Safari, and Opera.

![Supported browsers in JavaScript Maps library.](https://ft.syncfusion.com/featuretour/essential-js2/images/maps/javascript-maps-library-supported-browsers.webp)

## Not sure how to create your first map with the JavaScript Maps library? Our documentation can help.

* [I’d love to read it now](https://ej2.syncfusion.com/documentation/maps/getting-started)

## Frequently asked questions

### Why should you choose the Syncfusion JavaScript Maps library?

The JavaScript Maps component offers the following:

- Geometric or custom shapes are rendered using [GeoJSON data](https://ej2.syncfusion.com/documentation/maps/getting-started#render-shapes-from-geojson-data).
- Maps from map providers like [Bing Maps](https://ej2.syncfusion.com/documentation/maps/providers/bing-maps), [OpenStreetMap](https://ej2.syncfusion.com/documentation/maps/providers/map-provider), and [Google Maps](https://ej2.syncfusion.com/documentation/maps/providers/other-maps) can be rendered.
- [Markers](https://ej2.syncfusion.com/documentation/maps/markers) highlight specified latitudes and longitudes on maps.
- Fast [zooming and panning](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/zooming.html) performance and elegant animation.
- Simple configuration and API.
- Support for all modern browsers.
- Touch-friendly and responsive UI.
- Expansive learning resources such as [demos](https://ej2.syncfusion.com/javascript/demos/#/bootstrap5/maps/default.html), [documentation](https://ej2.syncfusion.com/documentation/maps/getting-started), and [videos](https://youtu.be/kwE6ikF7QYQ) help you learn quickly and get started fast.

### Can I purchase the Syncfusion JavaScript Maps control separately?

No, our 1,600+ components and frameworks for web, mobile, and desktop, including our JavaScript Maps, are not sold individually. They are only available as part of a team license. However, we have competitively priced the product, so it only costs a little bit more than what some other vendors charge for their Maps control alone. We have also found that, in our experience, our customers usually start off using one of our products and then expand to several products quickly, so we felt it was best to offer all 1,600+ components and frameworks for a subscription fee that starts at **$395 per month** for a team of 5 developers. Additionally, we might be able to offer discounts based on currently active promotions. Please contact our [product specialists](https://www.syncfusion.com/company/contact-us) today to see if you qualify for any additional discounts.

### What is the price of Syncfusion's JavaScript Maps library?

We do not sell the JavaScript Maps library separately. It is only available for purchase as part of the [Syncfusion team license](https://www.syncfusion.com/sales/teamlicense). This contains over 1,600 components and frameworks, including the JavaScript Maps library. The price of the team license starts at **$395 per month** for 5 developers, and includes support and updates until the subscription expires. In addition, we might offer discounts based on currently active promotions. Please contact our [product specialists](https://www.syncfusion.com/company/contact-us) today to see if you qualify for any additional discounts.

### Can I download and utilize the Syncfusion JavaScript Maps library for free?

No, this is a commercial product and requires a paid license. However, a [free community license](https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.

### Where can I find the Syncfusion JavaScript Maps library demo?

You can find our [JavaScript Maps library demo](https://ej2.syncfusion.com/demos/#/bootstrap5/maps/default.html), which demonstrates how to render and configure the Maps component.

### How do I get started with Syncfusion JavaScript Maps library?

A good place to start would be our comprehensive [getting started documentation](https://ej2.syncfusion.com/documentation/maps/getting-started).

## Syncfusion JavaScript Maps Library Resources

### Learning

- [Documentation — JavaScript Maps Library documentation.](https://ej2.syncfusion.com/documentation/maps/getting-started)

- [Knowledge base — Knowledge base for JavaScript Maps Library.](https://support.syncfusion.com/kb/web/section/892)

- [Demo — Demo for JavaScript Maps Library.](https://ej2.syncfusion.com/demos/#/bootstrap5/maps/default.html)

- [Web stories — Web stories for JavaScript Maps Library.](https://www.syncfusion.com/web-stories/11-features-that-will-convince-you-to-use-javascript-maps-control)

### Technical Support

- [Contact Support — Create support tickets for JavaScript Maps Library.](https://support.syncfusion.com/create?categoryId=287&cf_control=959)

- [Community Forum — Join the discussion in our JavaScript Maps Library community forum.](https://www.syncfusion.com/forums/essential-js2?control=maps)

- [Features & Bugs — Create feedbacks for JavaScript Maps Library.](https://www.syncfusion.com/feedback/javascript?control=maps)

### UI Kits

- [Figma Download — Download the JavaScript Maps Library Figma UI.](https://cdn.syncfusion.com/resources/EJ2+Figma/Syncfusion-EJ2-Figma-UI-Resource-V1.01.zip)

## Recent activities in JavaScript Maps Library blogs

The JavaScript Maps Library blog posts will guide you in building your first app with JavaScript controls. They provide problem-solving strategies, describe features and functionalities, announce new feature releases, explain best practices, and showcase example scenarios. Explore our latest posts on our blog channels for JavaScript Maps Library updates.

BLOG

[JavaScript Map vs. Object](https://www.syncfusion.com/blogs/post/javascript-map-vs-object)

BLOG

[Effectively Visualize a Large Number of Markers Using JavaScript Maps](https://www.syncfusion.com/blogs/post/visualize-a-large-number-of-markers-using-javascript-maps)

