MaplibreNative.Routing.Core 0.0.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package MaplibreNative.Routing.Core --version 0.0.3
                    
NuGet\Install-Package MaplibreNative.Routing.Core -Version 0.0.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MaplibreNative.Routing.Core" Version="0.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MaplibreNative.Routing.Core" Version="0.0.3" />
                    
Directory.Packages.props
<PackageReference Include="MaplibreNative.Routing.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MaplibreNative.Routing.Core --version 0.0.3
                    
#r "nuget: MaplibreNative.Routing.Core, 0.0.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MaplibreNative.Routing.Core@0.0.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MaplibreNative.Routing.Core&version=0.0.3
                    
Install as a Cake Addin
#tool nuget:?package=MaplibreNative.Routing.Core&version=0.0.3
                    
Install as a Cake Tool

MaplibreNativeRouting

A .NET MAUI navigation and routing plugin for MapLibre Native, built on top of MaplibreNativeMAUI.

Packages

Package Description
MaplibreNative.Routing.Core Platform-agnostic routing models, engines, and navigation logic
MaplibreNative.Routing MAUI handlers, NavigationPanel control, and UseMapLibreRouting builder extension
MaplibreNative.Routing.Wpf WPF handlers, NavigationPanel UserControl, and AddMaplibreRouting DI extension

Features

  • Valhalla routing — pedestrian, bicycle, motorcycle, and auto profiles with highway avoidance
  • Track-graph routing — offline A* pathfinding over imported GeoJSON/GPX track layers
  • Hybrid routing — automatically stitches Valhalla road segments with trail A* segments
  • Turn-by-turn navigationRouteProgressTracker snaps GPS to route shape and advances steps
  • Maneuver announcements — fires events at 1000 m / 200 m / 30 m thresholds
  • Highway warnings — detects motorway/trunk segments and surfaces a dismissible warning bar
  • NavigationPanel control — dark overlay with maneuver icon, instruction, step distance, and ETA

Requirements

  • .NET 10 MAUI (net10.0-android36.0, net10.0-windows10.0.19041.0) or .NET 10 WPF (net10.0-windows10.0.19041.0)
  • MaplibreNative.Maui.Handlers ≥ 4.1.0
  • Valhalla HTTP API endpoint (for road-profile routing)

Quick start — MAUI

// MauiProgram.cs
builder.UseMapLibreRouting(routeDataSource: myLayerRepository);

// In your page/viewmodel
var session = serviceProvider.GetRequiredService<NavigationSession>();
await session.StartAsync(new RouteOptions(origin, destination, RouteProfile.HybridMotorcycle)
{
    ValhallaUrl = "https://your-valhalla-host/route",
    TrackFeatures = await routeDataSource.GetRoutableTrackFeaturesAsync()
});
session.ProgressUpdated += (_, progress) => navigationPanel.Apply(progress);

Quick start — WPF

// App startup (e.g. App.xaml.cs / host builder)
services.AddMaplibreRouting(routeDataSource: myLayerRepository);

// In your window/viewmodel
var session = serviceProvider.GetRequiredService<NavigationSession>();
session.ProgressUpdated += (_, progress) => navigationPanel.Apply(progress);

await session.StartAsync(new RouteOptions(origin, destination, RouteProfile.HybridMotorcycle)
{
    ValhallaUrl = "https://your-valhalla-host/route",
});

// From your GPS source (Windows Location API, NMEA parser, VistumblerCS, etc.)
void OnLocationChanged(double lat, double lon) => session.UpdateLocation(lat, lon);

Attribution

Routing model and navigation patterns adapted from maplibre-navigation-android (MIT License). See NOTICE.md.

License

MIT — see LICENSE.

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on MaplibreNative.Routing.Core:

Package Downloads
MaplibreNative.Routing

Package Description

MaplibreNative.Routing.Wpf

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.0.13 139 7/6/2026
0.0.12 113 7/6/2026
0.0.11 113 7/6/2026
0.0.10 113 7/6/2026
0.0.9 118 7/6/2026
0.0.8 110 7/6/2026
0.0.7 114 7/6/2026
0.0.6 114 7/6/2026
0.0.5 107 7/6/2026
0.0.4 112 7/6/2026
0.0.3 113 7/5/2026