![]() |
VOOZH | about |
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" />Directory.Packages.props
<PackageReference Include="Superdev.Maui.Maps" />Project file
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.23Install as a Cake Addin
#tool nuget:?package=Superdev.Maui.Maps&version=1.0.23Install as a Cake Tool
π Version
π Downloads
π Buy Me a Coffee
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.
UseSuperdevMauiMaps which ensure proper startup and initialization.
Call this method within your MauiProgram just as demonstrated in the MapsDemoApp:
var builder = MauiApp.CreateBuilder()
.UseMauiApp<App>()
.UseSuperdevMauiMaps();
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.
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.
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" />
| 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. |
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}" />
| 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.). |
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.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-android35.0 net9.0-android35.0 is compatible. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-ios18.0 net9.0-ios18.0 is compatible. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.17-pre | 109 | 5/28/2026 |
| 1.1.16-pre | 141 | 5/12/2026 |
| 1.1.15-pre | 129 | 3/27/2026 |
| 1.1.13-pre | 743 | 12/2/2025 |
| 1.1.11-pre | 690 | 12/1/2025 |
| 1.1.10-pre | 610 | 12/1/2025 |
| 1.1.8-pre | 235 | 11/25/2025 |
| 1.1.7-pre | 224 | 11/24/2025 |
| 1.1.6-pre | 348 | 11/21/2025 |
| 1.1.3-pre | 356 | 11/21/2025 |
| 1.1.1-pre | 428 | 11/19/2025 |
| 1.1.0-pre | 427 | 11/19/2025 |
| 1.0.25-pre | 216 | 11/25/2025 |
| 1.0.23 | 274 | 11/14/2025 |
| 1.0.21-pre | 321 | 11/12/2025 |
| 1.0.20-pre | 328 | 11/11/2025 |
| 1.0.19-pre | 266 | 11/10/2025 |
| 1.0.18 | 186 | 11/8/2025 |
| 1.0.16-pre | 164 | 11/8/2025 |
| 1.0.14-pre | 235 | 11/6/2025 |
1.0
- Initial release.