Mapbox.Maui
.NET MAUI control and APIs for Mapbox
Install
| Product | Versions |
|---|---|
| .NET |
README
Mapbox for MAUI
A dedicated library and starting sample for integrating Mapbox into your MAUI application.
Installation
Install-Package Mapbox.Maui --version 11.1.0-alpha01
Integrate into your project
Please check out my step-by-step blog post for more details.
How to run the examples
Prerequisites
- Visual Studio for Mac or Visual Studio for Windows
- .NET 7.0.306
- .NET workloads for iOS, Android, MAUI
Steps
1/ Generate/grab
MAPBOX_DOWNLOADS_TOKENfrom your Mapbox account page2/ Android: Put it into your local
~/.gradle/gradle.properties
echo "MAPBOX_DOWNLOADS_TOKEN=YOUR_MAPBOX_DOWNLOADS_TOKEN" >> ~/.gradle/gradle.properties
- 3/ Make a copy of
MapboxMauiQs.props.template- Name it
MapboxMauiQs.props - Replace
YOUR_MAPBOX_DOWNLOADS_TOKENwith yours inMapboxMauiQs.propsfile
- Name it
- 4/ Grab
mapbox_access_tokenfrom your Mapbox account page- Make a copy of
MauiProgram.dev.cs.template - Name it
MauiProgram.dev.cs - Replace
YOUR_MAPBOX_ACCESS_TOKENwith yours inMauiProgram.dev.csfile
- Make a copy of

- 5/ Run the solution
Ported Examples
NOTE: A handy command to generate a new example
dotnet cake -- --name SymbolClustering --index 58 --group Annotations --title "Add Cluster Symbol Annotations" --subtitle "Show fire hydrants in Washington DC area in a cluster using a symbol layer."
Features
GestureSettings
| # | Android | iOS | Aligned |
|---|---|---|---|
| 1 | rotateEnabled | rotateEnabled | YES |
| 2 | scrollEnabled | panEnabled | NOPE |
| 3 | scrollMode | panMode | NOPE |
| 4 | simultaneousRotateAndPinchToZoomEnabled | simultaneousRotateAndPinchZoomEnabled | NOPE |
| 5 | doubleTouchToZoomOutEnabled | doubleTouchToZoomOutEnabled | YES |
| 6 | doubleTapToZoomInEnabled | doubleTapToZoomInEnabled | YES |
| 7 | focalPoint | focalPoint | YES |
| 8 | pitchEnabled | pitchEnabled | YES |
| 9 | quickZoomEnabled | quickZoomEnabled | YES |
| 10 | pinchScrollEnabled | pinchScrollEnabled | YES |
| 11 | pinchToZoomEnabled | N/A | NOPE, pinchEnabled & pinchZoomEnabled |
| 12 | pinchToZoomDecelerationEnabled | N/A | NOPE |
| 13 | rotateDecelerationEnabled | N/A | NOPE |
| 14 | scrollDecelerationEnabled | N/A | NOPE |
| 15 | increaseRotateThresholdWhenPinchingToZoom | N/A | NOPE |
| 16 | increasePinchToZoomThresholdWhenRotating | N/A | NOPE |
| 17 | zoomAnimationAmount | N/A | NOPE |
| 18 | N/A | pinchEnabled | NOPE |
| 19 | N/A | pinchZoomEnabled | NOPE |
| 20 | N/A | panDecelerationFactor | NOPE |
NOTES
- Failed to delete
.gradlefolder Due to Java process not killed gratefully.
taskkill -F -im java.exe
- Xamarin.Build.Download Xamarin.Build.Download is a tool to help download artifacts from remote URL to avoid embedding the native artifacts within the NuGet package with advantages
- Very thin and lightweight NuGet package
- Avoid any license viloation if the owner of the native lib doesn't want us to redistribute their lib
The downloaded artifact will be located at
- MacOS:
~/Library/Caches/XamarinBuildDownload - Windows:
%USERPROFILE%/AppData/Local/XamarinBuildDownloadCache
- Kill all .NET processes
taskkill -F -im dotnet.exe
Maintainer
This project is maintained by tuyen-vuduc in his spare time and/or when requested.
If you find this project is helpful and benefit your work/business, please give it a star, become a sponsor of the project and/or buy him a coffee.
LICENSE
This library is release under The BSD 3-Clause License. You are freely to use and make changes. However, this license doesn't override the license from Mapbox.
Changes from Previous Version
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.
