The Blazor Map component is ideal for rendering map from GeoJSON data or other map providers like OpenStreetMap, Google Maps, Bing Maps, etc. Its rich feature set includes markers, labels, bubbles, navigation lines, legends, tooltips, zooming, panning, drill down, and much more.
To visualize a geometric shape in SVG format in Maps, you can bind GeoJSON data to it. It’s light and simple to read. You can render a world map or a U.S. map and alter it with the Blazor Maps control’s built-in options to achieve the required layout.
Works with services like Google Maps, Bing maps and OpenStreetMap to view satellite, aerial, and street maps by locating map data quickly without the use of any external shape inputs.
Markers are notes on maps that indicate specific latitude and longitude points using symbols. Bubbles are used to convey additional information about shapes such as population density and land area. Circle and square bubbles are available.
A Map with several geometric layers in a single view can be generated with sub layers. You can render the geographic elements of a country, such as rivers and valleys, as a sublayer. Each layer can be drilled.
Maps has a highly responsive layout and an optimized design for desktops, touchscreens, and smart phones. It works well on all mobile phones that use iOS, Android, or Windows OS.
The Blazor Maps component supports Mercator, rectangular, Miller, Eckert3, Eckert5, Eckert6, and Winkel3 projections.
Zooming and panning in Blazor 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.
An Internalization library 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 involves using the localization (l10n) library.
Easily get started with the Blazor Map using a few simple lines of C# code as demonstrated below. Also explore our Blazor Map Example that shows you how to render and configure the Map.
@using Syncfusion.Blazor.Maps
<SfMaps>
<MapsLayers>
@*To map shape data name field and data source field*@
<MapsLayer ShapeData='new {dataOptions= "https://cdn.syncfusion.com/maps/map-data/world-map.json"}'
ShapePropertyPath='new string[] {"name"}'
DataSource="SecurityCouncilDetails"
ShapeDataPath="Name" TValue="UNCouncilCountry">
</MapsLayer>
</MapsLayers>
</SfMaps>
@code {
private List<UNCouncilCountry> SecurityCouncilDetails = new List<UNCouncilCountry>{
new UNCouncilCountry { Name= "China", Membership= "Permanent"},
new UNCouncilCountry { Name= "France", Membership= "Permanent" },
new UNCouncilCountry { Name= "Russia", Membership= "Permanent"},
new UNCouncilCountry { Name= "United States", Membership= "Non-Permanent"},
new UNCouncilCountry { Name= "United Kingdom", Membership= "Non-Permanent"},
};
public class UNCouncilCountry
{
public string Name { get; set; }
public string Membership { get; set; }
};
}
Bind GeoJSON data to the map to render any geometric shape in SVG (Scalable Vector Graphics) for data visualization of shapes. For example, render the world map or US map and customize it to the desired look using built-in options in the Blazor Map component. Add any number of layers to the map.
The geometry types are shapes with straight lines and angles symbolizing structure and order. Coordinates are used to locate a specific point on a grid, known as a coordinate plane. Polygon, MultiPolygon, LineString, MultiLineString, Point, MultiPoint, and GeometryCollection are the supported geometry types.
Built-in support for external geospatial imagery services, such as Bing Maps and OpenStreetMap, to visualize satellite, aerial, and street maps, or other kinds of imagery tiles without any external shape inputs. Apart from Bing Maps and OpenStreetMap, users can also render Blazor Map from various map providers, for example, Google Maps Tile API, TomTom, Mapbox, Esri’s ArcGIS, etc. By using these external services, map data can be located easily.
Using the sublayer, create a map with multiple geometric layers in a single view. For example, render additional geographic features of a country such as rivers, valleys, and more as a sublayer. You can also drill each layer.
Denote a place with symbols or mark messages at the desired latitude and longitude of a location on a map using markers. For example, indicate a particular place on the map of US using a balloon marker shape. Place any HTML element as a marker and also add multiple markers to the map.
Display multiple markers in the same location by clustering the markers when they overlap one another. For example, you can use markers to indicate the top 50 cities in the world. If a marker overlaps another, it will be clustered and the total number of markers will be displayed over the cluster.
Drag and drop markers to reposition them in maps. 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.
Data labels enable users to identify the shapes by displaying their names. Trim or hide labels at intersections with other labels and when they exceed shape bounds.
Create a simple Blazor Map control with bubbles to provide additional information about shapes such as population density, land area, and more. Bubbles are rendered with various magnitudes and colors based on the underlying data values of the shape.
Represent flight route or ship route on a geographic map between two places with navigation lines. It also acts as the connector line that links points on a map. The navigation lines can also be curved.
Categorize the shapes on a map by customizing their color based on the underlying values. The Blazor Maps component supports three types of color mapping: range color mapping, equal color mapping and desaturation color mapping.
Apply colors to shapes by comparing their values with a desired numeric range. For example, apply colors to the states in the US based on population density.
Differentiate a shape’s fill based on its underlying value and color, using equal color mapping. For example, apply colors to the states in the US based on a winning candidate.
Change the opacity of the shapes by comparing their value with a desired numeric range. Minimum and maximum opacity of shapes can be customized.
Apply colors to the shape from a gradient by comparing their value with a desired numeric range. Any number of colors can be specified for creating the gradient.
Users can use legends to provide valuable information for interpreting the map with various colors, shapes, or other identifiers based on data and application needs. The interactive Blazor Map control supports two types of legends: default and interactive.
A map with a legend contains swatches of symbols with descriptions to denote the categories of shapes.
Use a map with an interactive legend to find the range of an underlying shape’s value on mouse hover.
Zoom the map for close-up analysis by pinching the map, scrolling the mouse wheel, clicking the shapes, or by using zooming toolbar; and pan the map for easy navigation across regions. You can also change the zoom level of the initial rendering.
Display a tooltip with details about the shape value on mouse hover. Similarly, the tooltip is also displayed for markers and bubbles on a map.
Users can drill-down the rendered Blazor Map to display a different shape data located on another layer. For example, in the initial layer you can render the world map and on clicking a particular continent, render it separately on another layer.
Select a particular shape on mouse click or highlight on mouse hover to bring the focus to the other shapes on a map.
Create a map with custom shapes by rendering your own GeoJSON data to indicate building infrastructure, points of interest, flight/bus seat arrangement, cricket stadium, and more useful information.
Display any HTML element as an annotation at a specific point of interest on a map. For example, place a direction compass image on the map using annotation. You can also add multiple annotations to a map.
You can change the projection of the default rendering map based on your need. The Blazor Map component supports various types of projections namely, Mercator, Rectangular, Miller, Eckert3, Eckert5, Eckert6, and Winkel3.
Add title and subtitle to visualize additional information on the Blazor Map. You can also customize the font and alignment of the title and subtitle.
Customize the look and feel of a map by changing the fill color, background, border, and opacity of shapes. Almost all the elements in the Blazor Map are customizable. It provides built-in palettes with customizable options, by default.
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.
Export or print the rendered Blazor Map to save a local copy for further use.
Export the Blazor Map to a PDF document or in image formats such as SVG, PNG, and JPEG in client-side.
The Blazor Maps library ensures that every element is keyboard accessible. Major features like zooming, panning, shape selection, legend, and drill down can be performed using just keyboard shortcuts, no mouse interaction required. This helps in creating highly accessible applications using this component.
The Blazor 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.
Map is also available in JavaScript, Angular, React, and Vue frameworks that are built from their own TypeScript libraries. Check out the different Map platforms from the following links:
The Blazor Maps Library works well with all modern web browsers such as Chrome, Firefox, Microsoft Edge, Safari, and Opera.
You can find our Blazor Map demo here. It demonstrates how to render and configure the Map component.
No, this is a commercial product and requires a paid license. However, a free Community License is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
A good place to start would be our comprehensive getting started documentation.
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.