DP.Blazor.MapLibre.ProjPlugin
2.1.1
dotnet add package DP.Blazor.MapLibre.ProjPlugin --version 2.1.1
NuGet\Install-Package DP.Blazor.MapLibre.ProjPlugin -Version 2.1.1
<PackageReference Include="DP.Blazor.MapLibre.ProjPlugin" Version="2.1.1" />
<PackageVersion Include="DP.Blazor.MapLibre.ProjPlugin" Version="2.1.1" />
<PackageReference Include="DP.Blazor.MapLibre.ProjPlugin" />
paket add DP.Blazor.MapLibre.ProjPlugin --version 2.1.1
#r "nuget: DP.Blazor.MapLibre.ProjPlugin, 2.1.1"
#:package DP.Blazor.MapLibre.ProjPlugin@2.1.1
#addin nuget:?package=DP.Blazor.MapLibre.ProjPlugin&version=2.1.1
#tool nuget:?package=DP.Blazor.MapLibre.ProjPlugin&version=2.1.1
DP.Blazor.MapLibre.ProjPlugin
Any-projection plugin for DP.Blazor.MapLibre: render a map in any coordinate reference system via proj-wasm (PROJ 9 compiled to WebAssembly).
The plugin runs a self-contained, main-thread reprojection pipeline for GeoJSON and vector tiles — no Web Workers, no maplibre-proj/backproj. The runtime (about 28 MB of WebAssembly plus proj.db) ships inside the package under _content/ProjPlugin/vendor.
Install
dotnet add package DP.Blazor.MapLibre.ProjPlugin
The core DP.Blazor.MapLibre package is referenced automatically.
Requirements
- The map must be created with
RenderWorldCopies = false(the fake coordinate space does not tile). - Chromium-based hosts need no extra setup; Firefox/Safari hosts must add the import map from
GetImportMapAsync()(see the guide).
Quick start
@using DP.Blazor.MapLibre.ProjPlugin
<MapLibre @ref="_map" Options="_options" OnLoad="OnMapLoad" />
@code {
private MapLibre _map = new();
private readonly ProjPlugin _proj = new();
private readonly MapOptions _options = new() { RenderWorldCopies = false };
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
await _map.RegisterPlugin(_proj);
}
private async Task OnMapLoad(EventArgs _) =>
await _proj.ApplyReprojectionAsync(new ProjReprojectOptions
{
Style = styleJson,
Crs = "ESRI:54030", // Robinson
});
}
Documentation
License
Targets .NET 8, 9, 10 and 11. Released under the Unlicense.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. net11.0 is compatible. |
-
net10.0
- DP.Blazor.MapLibre (>= 2.1.1)
-
net11.0
- DP.Blazor.MapLibre (>= 2.1.1)
-
net8.0
- DP.Blazor.MapLibre (>= 2.1.1)
-
net9.0
- DP.Blazor.MapLibre (>= 2.1.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.