dymaptic

GeoBlazor 4.0: A Transformation in Location-Based .NET Development

Written by Tim Purdum | Jun 17, 2025 5:19:50 PM

Imagine transforming your .NET web applications with cutting-edge mapping capabilities. GeoBlazor 4.0 turns this vision into a reality.

We're thrilled to announce the release of GeoBlazor 4.0, representing a major milestone in our journey to bring the full power of ArcGIS to Blazor developers. This release is our most significant update yet, completely transforming how we deliver interactive mapping to ASP.NET web developers.

Meet Torchy, our new GeoBlazor mascot!

A Future-Proof Foundation

GeoBlazor 4.0 introduces an innovative approach by automating the code-generation process, ensuring our platform remains current with the latest ArcGIS features. This means:

  • Always up-to-date: GeoBlazor will consistently align with the latest ArcGIS features
  • Comprehensive API coverage: Enhanced access to ArcGIS capabilities, with coverage expanding rapidly
  • Long-term sustainability: Simplified maintenance and faster updates

Developing an automated code generator that interprets ArcGIS type definitions, generates C# classes, and seamlessly integrates the two systems demanded considerable time and effort. Although custom modifications are still necessary on the generated code, we are already experiencing the advantages of quicker iterations for new features and bug fixes!

Two-Way Data Sync

 

One of the challenges of communicating between ASP.NET Core Blazor and JavaScript is keeping data in sync. GeoBlazor 4.0 introduces a major advancement in this process, as we now automatically populate most ArcGIS-generated properties in GeoBlazor's .NET classes after render. Previously, to read an ArcGIS-generated property, you would always need to call an async getter method, like await tileLayer.GetMaxScale(). While this is still the best way to get the most current, up-to-the-minute version of any data, we now load this data from ArcGIS and populate the properties in GeoBlazor when the layer or other component is loaded. So, for example, the property tileLayer.MaxScale should have the ArcGIS-hosted max scale setting populated after the layer renders, without calling the async getter method.

We have also added hundreds of new properties to fill out existing layers and widgets, and each property now has a dedicated getter and setter (unless it is read-only) method. Changes made after map render should still use the async setter methods rather than setting properties directly, to ensure all changes are serialized and sent to the ArcGIS JavaScript SDK.

New Layer Types

GeoBlazor 4.0 now supports a wide variety of web map standards, such as Web Map Service (WMS), Web Map Tile Service (WMTS), and Web Feature Service (WFS). Each has a related layer type (WMSLayer, WMTSLayer, WFSLayer) that can be instantiated with just a URL pointed at any data source matching that standard.

Sample implementation of a WFS layer

 

Sample implementation of a WMS layer

 

Sample implementation of a WMTS layer

 

GeoBlazor Pro users now have the ability to utilize the GroupLayer, enabling the organization and analysis of sublayers. While we are developing a comprehensive demonstration, here is an engaging example that highlights countries upon clicking, showcasing the capabilities of the GroupLayer feature.

Sample implementation of a Group layer

Commitment to Our Users

Current users will notice a lot of breaking changes in namespaces and property names, which is an unfortunate side effect of needing to align more closely with the ArcGIS SDK for code automation. We are committed to making this a one-time transition and maintaining a consistent API moving forward. Please read the release notes for GeoBlazor Core and GeoBlazor Pro to help migrate existing applications using version 3. If you need assistance, we are available on our Discord channel to help with your upgrade journey.

Ready-to-Run Templates

Example of Blazor app built from a GeoBlazor Template

 

Along with GeoBlazor 4, we have upgraded our GeoBlazor templates. These templates now closely match the base ASP.NET Core Blazor and Blazor MAUI Hybrid templates from Microsoft, with the addition of GeoBlazor. This allows you to develop a Blazor Web App, select your render modes, incorporate user authentication, and more, all without needing to write any code.

Come Travel With Us


GeoBlazor 4.0 delivers the most advanced mapping capabilities available for .NET web developers. Whether you're building sophisticated GIS applications or simply need to add beautiful, interactive maps to your Blazor projects, GeoBlazor now offers more power, more flexibility, and a more future-proof development than ever before.

Ready to revolutionize your web applications? Get started with GeoBlazor 4.0 today!