Superdev.Maui.Maps
1.0.23
See the version list below for details.
dotnet add package Superdev.Maui.Maps --version 1.0.23
NuGet\Install-Package Superdev.Maui.Maps -Version 1.0.23
<PackageReference Include="Superdev.Maui.Maps" Version="1.0.23" />
<PackageVersion Include="Superdev.Maui.Maps" Version="1.0.23" />
<PackageReference Include="Superdev.Maui.Maps" />
paket add Superdev.Maui.Maps --version 1.0.23
#r "nuget: Superdev.Maui.Maps, 1.0.23"
#:package Superdev.Maui.Maps@1.0.23
#addin nuget:?package=Superdev.Maui.Maps&version=1.0.23
#tool nuget:?package=Superdev.Maui.Maps&version=1.0.23
Superdev.Maui.Maps
Download and Install Superdev.Maui.Maps
This library is available on NuGet: https://www.nuget.org/packages/Superdev.Maui.Maps Use the following command to install Superdev.Maui.Maps using NuGet package manager console:
PM> Install-Package Superdev.Maui.Maps
You can use this library in any .NET MAUI project compatible to .NET 9 and higher.
App Setup
- This plugin provides an extension method for MauiAppBuilder
UseSuperdevMauiMapswhich ensure proper startup and initialization. Call this method within yourMauiProgramjust as demonstrated in the MapsDemoApp:var builder = MauiApp.CreateBuilder() .UseMauiApp<App>() .UseSuperdevMauiMaps(); - tbd
Sample App
In the Samples folder of this repository, you will find the MapsDemoApp, which demonstrates the features of Superdev.Maui.Maps. To debug, clone the repository and run the sample app directly in your development environment.
API Usage
The following documentation guides you through the most important use cases of this library.
Not all aspects are covered. If you think there is something important missing here, feel free to open a new issue.
This documentation only demonstrates the use of Superdev.Maui.Maps within a XAML and MVVM-based app. Of course, the code also works in C# and code-behind UIs.
Map 🗺
The Map control is the core component of Superdev.Maui.Maps.
Superdev.Maui.Maps.Controls.Map replaces the well-known Microsoft.Maui.Controls.Maps.Map and extends it with additional bindable properties, MVVM-friendly features, and additional functionality for templated pins, two-way map region binding, and custom interaction handling.
You can use Map directly in XAML and bind to its properties like any other MAUI control. Don't forget to import the correct XAML namespace alias in order to use the map controls of this library.
xmlns:m="http://Superdev.Maui.Maps"
Example:
<m:Map
ItemsSource="{Binding Locations}"
SelectedItem="{Binding SelectedLocation, Mode=TwoWay}"
CenterPosition="{Binding MapCenter, Mode=TwoWay}"
ZoomLevel="{Binding MapZoom, Mode=TwoWay}"
IsReadonly="False"
IsTrafficEnabled="True" />
Bindable Properties
| Property | Description |
|---|---|
IsShowingUser |
Shows an indicator for the user’s current location. (Default: false) |
IsScrollEnabled |
Enables or disables scrolling/panning by user input. (Default: true) |
IsZoomEnabled |
Enables or disables zooming by user input. (Default: true) |
IsRotateEnabled |
Enables or disables rotation of the map by user input. (Default: true) |
IsTiltEnabled |
Enables or disables tilting by user input. (Default: true) |
IsTrafficEnabled |
Displays a live traffic overlay. (Default: false) |
MapType |
Defines the visual style of the map (Street, Satellite, Hybrid, etc.). |
IsReadonly |
Makes the map pins non-interactive when true. (Default: false) |
CenterPosition |
Sets or tracks the center Location of the map. Changing this property moves the map's viewport. |
ZoomLevel |
Defines the zoom level as a Distance. (Default: default(Distance)) |
VisibleRegion |
Defines the visible region (MapSpan) of the map (center + radius). You can either use CenterPosition + ZoomLevel to specify the current map position or you can use VisibleRegion to do so. |
ItemsSource |
The data collection used to generate pins. Don't forget to specify an ItemTemplate or an ItemTemplateSelector to display pins. |
SelectedItem |
Two-way: the currently selected item from the ItemsSource. |
ItemTemplate |
Template used to render each element in ItemsSource. |
ItemTemplateSelector |
Template selector used to dynamically choose templates. |
MapElements |
Collection of visual map overlays (pins, polylines, polygons, etc.) currently attached to the map. |
Pin 📍
The Pin control represents a map marker.
Superdev.Maui.Maps extends the default Microsoft.Maui.Controls.Maps.Pin with additional bindable properties to support custom icons, anchor positioning, selection tracking, and command binding for marker interactions.
Example:
<m:Pin
Label="{Binding Name}"
Location="{Binding Coordinates}"
ImageSource="{Binding Icon}"
MarkerClickedCommand="{Binding PinClickedCommand}" />
Bindable Properties
| Property | Description |
|---|---|
ImageSource |
Custom: image or icon shown for this pin. Supports any MAUI ImageSource. |
Anchor |
Custom: defines the anchor point of the pin image (e.g., 0.5, 1.0 anchors at the bottom center). (Default: 0.5, 0.5) |
MarkerClickedCommand |
Custom: command executed when the user taps the pin. |
IsSelected |
Custom: indicates whether this pin is selected. One-way-to-source binding. |
Address |
Inherited: address or description text associated with the pin. |
Label |
Inherited: label or title displayed for the pin. |
Location |
Inherited: geographic position (latitude/longitude). |
Type |
Inherited: defines the type of pin (Generic, Place, etc.). |
Contribution
Contributors welcome! If you find a bug or you want to propose a new feature, feel free to do so by opening a new issue on github.com.
Links
- https://learn.microsoft.com/en-us/dotnet/maui/user-interface/controls/map
- https://github.com/TorbenK/TK.CustomMap
- https://github.com/symbiogenesis/MauiMvvmMap
- https://github.com/RustaMSHar/MapsDemo
- https://github.com/TrashMob-eco/TrashMob
- https://github.com/ErNeRooo/AirsoftBmsApp
- https://github.com/VladislavAntonyuk/MauiSamples/tree/main/MauiMaps
- https://github.com/dmariogatto/Maui.Controls.BetterMaps
- https://github.com/CarlosMenendezSMSopen/VMedic
- https://github.com/iratrips-india/IratripsMapKit/tree/maui
- https://github.com/jorgediegocrespo/MauiMaps/tree/main
- https://github.com/dotnet/macios/blob/main/src/mapkit.cs
- https://github.com/NAXAM/cchmapclustercontroller-ios-binding/
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-android35.0 is compatible. net9.0-browser was computed. net9.0-ios was computed. net9.0-ios18.0 is compatible. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net9.0
- Microsoft.Maui.Controls (>= 9.0.0)
- Microsoft.Maui.Controls.Maps (>= 9.0.0)
- Microsoft.Maui.Maps (>= 9.0.0)
-
net9.0-android35.0
- Microsoft.Maui.Controls (>= 9.0.0)
- Microsoft.Maui.Controls.Maps (>= 9.0.0)
- Microsoft.Maui.Maps (>= 9.0.0)
-
net9.0-ios18.0
- Microsoft.Maui.Controls (>= 9.0.0)
- Microsoft.Maui.Controls.Maps (>= 9.0.0)
- Microsoft.Maui.Maps (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.13-pre | 711 | 12/2/2025 |
| 1.1.11-pre | 662 | 12/1/2025 |
| 1.1.10-pre | 576 | 12/1/2025 |
| 1.1.8-pre | 203 | 11/25/2025 |
| 1.1.7-pre | 197 | 11/24/2025 |
| 1.1.6-pre | 318 | 11/21/2025 |
| 1.1.3-pre | 328 | 11/21/2025 |
| 1.1.1-pre | 398 | 11/19/2025 |
| 1.1.0-pre | 394 | 11/19/2025 |
| 1.0.25-pre | 186 | 11/25/2025 |
| 1.0.23 | 241 | 11/14/2025 |
| 1.0.21-pre | 291 | 11/12/2025 |
| 1.0.20-pre | 297 | 11/11/2025 |
| 1.0.19-pre | 230 | 11/10/2025 |
| 1.0.18 | 156 | 11/8/2025 |
| 1.0.16-pre | 139 | 11/8/2025 |
| 1.0.14-pre | 205 | 11/6/2025 |
| 1.0.12-pre | 194 | 11/6/2025 |
| 1.0.11-pre | 190 | 11/5/2025 |
| 1.0.10-pre | 187 | 11/5/2025 |
| 1.0.9-pre | 196 | 11/5/2025 |
| 1.0.8-pre | 201 | 10/30/2025 |
| 1.0.7-pre | 196 | 10/30/2025 |
| 1.0.6-pre | 195 | 10/29/2025 |
1.0
- Initial release.